Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 30.03.20
chesstigran chesstigran ist offline
Neues Mitglied
 
Registriert seit: Feb 2020
Beiträge: 20
chesstigran befindet sich auf einem aufstrebenden Ast
Standard BE Func setzt instant BE ohne auf im Profit zu achten

Moin Leute,

Code:
double UpdateToBE = 50.00;

void UpdateBE()
{
 if(UpdateToBE <= 0) return;

 for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
       if(OrderType() == OP_BUY && OrderOpenPrice() > OrderStopLoss() && Bid - OrderOpenPrice() >= UpdateToBE * Point)
  	 {
  	  orderModify = OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0);
  	 }
  		 
  	if(OrderType() == OP_SELL && OrderOpenPrice() < OrderStopLoss() && OrderOpenPrice() - Ask >= UpdateToBE * Point)
  	 {
  	  orderModify = OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0);
  	 }
      }
    }
}
Mein Problem ist, dass er sobald der Trade auch nur einen Punkt im Profit ist das Stoploss instant auf breakeven setzt. Weiß jemand wo das Problem ist?

Ich habe ja definiert er soll es erst auf BE setzen wenn der Trade 50 Punkte im Profit ist, aber er beachtet es gar nicht. Vorschläge?