Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 12.03.18
piptrade piptrade ist offline
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard "CloseAllOrders" am SL einer 2. Position

Liebe Trader, liebe User-Gemeinde,
seit geraumer Zeit komme ich einfach nicht weiter und würde mich über Eure Unterstützung sehr freuen.

Das Problem:
Eine 1. Position wird eröffnet und mit einem Trailing_Stop ausgestattet. Hier funktioniert der nachfolgende Code:
Code:
     double TSL = Trail_SL *100 *Point;
   
//--- Trailing_SL for order type BUY --------------------------------+
   if (OrderType() == OP_BUY  &&  openOrders == 1)
      {
      if (Bid - OrderOpenPrice() > Trail_Target *100 * Point)          //  Trail_Target = Trailing begin
         {
         if (OrderStopLoss() < Bid - TSL  ||  OrderStopLoss() == 0)  
            {
            if (!OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TSL, OrderTakeProfit(), Blue))
               Print("Error setting Buy trailing stop: ", GetLastError());
            }
         }
      }
Wird nun eine 2. Position zusätzlich eröffnet, sollen an dessen Trailing_Stop BEIDE Positionen glattgestellt werden. Also habe ich den Code der 1. Position übernommen und lediglich mit "CloseAllOrders" ergänzt:
Code:
    if (OrderType() == OP_BUY  &&  openOrders == 2)
      {
      if (Bid - OrderOpenPrice() > Trail_Target *100 * Point)
         {
         if (OrderStopLoss() == 0  ||  OrderStopLoss() < Bid - TSL)
            {
            if (!OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TSL, OrderTakeProfit(), Blue))
                Print("Error setting Buy trailing stop: ", GetLastError());
           
                CloseAllOrders();
            }                        
         }
      }
Obwohl mir der o.a. Ansatz logisch erscheint, funktioniert der Code nicht, wie gewünscht. Ist "CloseAllOrders" falsch eingeordnet, muss ich zusätzliche Bedingungen schaffen?
Würde mich über Eure Hilfestellung sehr freuen.

LG. piptrade