Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 20.06.20
Michael_ Michael_ ist offline
Mitglied
 
Registriert seit: Jun 2020
Beiträge: 41
Michael_ befindet sich auf einem aufstrebenden Ast
Standard SL auf BE ziehen sobald erste Order im TP

Hallo und guten Abend zusammen!

Erst mal vorab: Dieses Forum ist echt toll, ich hab mir da schon sehr viele Infos und Hilfen geholt, das hat mir schon sehr geholfen! Ich bin zwar MQL4-Anfänger und hab nur ein wenig Vorwissen aus meiner Studienzeit vom C++ und Matlab Programmieren, aber dieses Forum hilft wirklich sehr.

Eines hab ich aber leider nicht gefunden, und zwar folgendes:

Ich hab einen EA programmiert, bei dem bei einem Signal immer 2 Orders eröffnet werden (LongOrder1 und LongOrder2 bzw. ShortOrder1 und ShortOrder2). Die erste Order hat einen näheren TP als die zweite. Jetzt zur Frage: Sobald der TP der LongOrder1 oder ShortOrder1 erreicht wurde, soll bei der LongOrder2 der TP auf Break-Even gezogen werden. Ich hab das folgendermaßen programmiert:

if(OrderSelect(LongOrder2,SELECT_BY_TICKET)==true)
{
if( OrderOpenPrice() > OrderStopLoss() && Bid - OrderOpenPrice() >= (OrderOpenPrice() - OrderStopLoss()) * TP_Prozent1)
{
bool BE_Long = OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0);
}
}

Wenn der TP von LongOrder1 erreicht wird, wird zwar die LongOrder2 sofort auf Break-Even gezogen, aber danach gibt's einige "OrderModify Error 1". Was ich so gelesen habe, passiert das ja meistens, wenn bei der Order "nichts" geändert wird. Aber gerade das verstehe ich hier nicht, da ich ja auch OrderOpenPrice() > OrderStopLoss() definiere und daher die if-Schleife eigentlich gar nicht mehr ausgeführt werden sollte.

Ich hoffe ihr könnt mir hier helfen!
Danke gleich im Voraus dafür!!

Lieben Gruß,
Michael