Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 02.04.24
murkel murkel ist offline
Neues Mitglied
 
Registriert seit: Feb 2024
Beiträge: 8
murkel befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank traderdoc - du bist mir ein paar Stunden zuvorgekommen, denn mittlerweile konnte ich das Problem lösen ... und zwar genau so, wie du es empfohlen hast.

In der OnTick-Funktion habe ich den Zeitpunkt deklariert:

Code:
//---Close Order
   double bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);
   
   if(OrderSelect(buyTicket) && bid <= OrderGetDouble(ORDER_SL)){
      closeOrder();
   }
   if(OrderSelect(sellTicket) && bid >= OrderGetDouble(ORDER_SL)){
      closeOrder();
   }
Und weiter unten in der closeOrder-Funktion den Code wie folgt:

Code:
void closeOrder(){
   for(int i = OrdersTotal()-1; i >= 0; i--){
      buyTicket = OrderGetTicket(i);
      if(OrderGetString(ORDER_SYMBOL) != _Symbol && OrderGetInteger(ORDER_MAGIC) != Magic) continue;
      if(OrderSelect(buyTicket) && OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_STOP){
         if(trade.OrderDelete(buyTicket)){
            Print("  -x-> Buy-Stop-Order #",buyTicket," gelöscht da SL erreicht");
         }
      }
   }
   for(int i = OrdersTotal()-1; i >= 0; i--){
      sellTicket = OrderGetTicket(i);
      if(OrderGetString(ORDER_SYMBOL) != _Symbol && OrderGetInteger(ORDER_MAGIC) != Magic) continue;
      if(OrderSelect(sellTicket) && OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_STOP){
         if(trade.OrderDelete(sellTicket)){
            Print("  -x-> Sell-Stop-Order #",sellTicket," gelöscht da SL erreicht");
         }
      }
   }
}
Nun klappt es ganau so, wie ich es mir gewünscht habe und ich habe wieder was dazugelernt ... :-)

Nochmals vielen Dank für den Hinweis! :-)
Mit Zitat antworten