Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   MQL4: Stoplevel zu nah -> erst MarketOrder ausführen und dann SL & TP mit OrderModify (http://www.expert-advisor.com/forum/showthread.php?t=6576)

NXT2017 14.01.20 17:22

MQL4: Stoplevel zu nah -> erst MarketOrder ausführen und dann SL & TP mit OrderModify
 
Hallo zusammen,

ich bin bisher erfolglos auf der Suche, wie ich eine PendingOrder umgehen kann, wenn der MODE_STOPLEVEL zu nah an der eigentlichen Ausführung liegt.

Beispiel:
USDJPY
Ask: 110.053
Bid: 110.042

Mit einem Buy Stop Order erstelle ich eine Kauforder (PendingOrder) über dem Askpreis. Allerdings muss ein bestimmter Abstand vorhanden sein, damit die Order gesetzt wird. Soll der EntryPrice bei 110.055 gesetzt werden, dann ist keine PendingOrder möglich - ich müsste also warten bis der Askpreis zumindest etwas runter gegangen ist.

Mein aktueller Ansatz
Manuell löse ich das Problem, indem ich erst eine Marketorder setze - also direkt die Lotgröße bestimme und auf "buy" klicke. Erst nach dem offenen Trade platziere ich den StopLoss und meinen TakeProfit. Dies würde ich gerne durch den Expert Advisor ausführen lassen.

Ich habe es noch nicht ausprobiert, aber wäre das in der Form korrekt?:
Code:

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"buy",12345,0,clrGreen);

OrderSelect(12345,SELECT_BY_TICKET)

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*30,Digits),NormalizeDouble(Ask+Point*30,Digits),0,Blue);


traderdoc 14.01.20 18:02

Wenn ein StopLevel > 0 ist, dann wird man weder eine PendinOrder innerhalb dieses Wertes vom aktuellen Preis platzieren können, noch eine MarketOrder mit einem SL und/oder TP ausgehend vom OpenPrice versehen können.

D.h. der vorgegebene Abstand, durch den Wert des StopLevels, muss so oder so berücksichtigt werden.

traderdoc

AVT 14.01.20 19:40

Das einzige was mir einfällt, um das zu "umgehen" ist eine eigene Stoplinie.
Beispiel:
- Du willst Long gehen bei 100
- Der erforderliche Stopwert ist 10, d.h. Dein Stoplevel wäre also bei 90
- Du willst aber Stoplevel 95 haben, der wäre normalerweise zu nahe am Kurs

Wenn die Order erfolgreich geöffnet wurde, erstellst Du Deine Stoplinie auf 95 und dann überwachst Du, ob der Bidkurs die Stoplinie erreicht (wenn ja, Order schließen, wenn nein und 90 erreicht, kannst Du die Linie durch einen normalen SL ersetzen wenn Du willst).
So würde ich vorgehen. AVT


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:09 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum