Danke traderdoc für die schnelle Hilfe! Ich habe den Code entsprechend verändert und es funktioniert einwandfrei
Leider hat sich beim Testen gleich ein neues Problem aufgetan. Meine OrderModify-Funktion läuft nicht mehr. Ich hatte eben kurz eine Version, die funktionierte, war kurz abgelenkt und finde jetzt nicht mehr den Fehler...
Letztendlich soll die Order mit Preis, SL und TP so modifiziert werden, dass sie über einen definierten Zeitraum mit den aktuellen Preisen mitläuft. Im Moment bleiben die Parameter aber unverändert so, wie sie bei der Orderaufgabe festgelegt wurden.
Hier der Code:
void DoModify()
{
for (int i = 0; i < OrdersTotal(); i++)
{
ph2=OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() &&(OrderType()==OP_BUYSTOP))
{
if ((OrderOpenPrice()>BuyStop_Preis) || (OrderOpenPrice()<BuyStop_Preis))
{
Alert("BuyStop OrderModifikation ausgeführt, BuyStop war @ "+DoubleToStr(OrderOpenPrice(),5)+"// Änderung in "+DoubleToStr(BuyStop_Preis,5));
ph3 = OrderModify(OrderTicket(),Ask + PipDifferenz*Point,(Ask + PipDifferenz*Point) - StopLoss*Point,(Ask + PipDifferenz*Point) - StopLoss*Point,0,Red);
}
}
if (OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP))
{
if ((OrderOpenPrice() > SellStop_Preis) || (OrderOpenPrice() < SellStop_Preis))
{
/*Alert("SellStop OrderModifikation ausgeführt, SellStop war @ "+DoubleToStr(OrderOpenPrice(),5)+"// Änderung in "+DoubleToStr(SellStop_Preis,5));*/
ph4 = OrderModify(OrderTicket(),Bid - PipDifferenz*Point,(Bid - PipDifferenz*Point) + StopLoss*Point,(Bid - PipDifferenz*Point) - TakeProfit*Point,0,Red);
}
}
}
}
Gruß Bucardo