trailing stop

 
tem como programar para quando abrir uma ordem ela já abre com o trailing stop programado
 
nivaldochaves:
tem como programar para quando abrir uma ordem ela já abre com o trailing stop programado

Sim

 
Utilizo uma função com essa estrutura, para o seu caso, pode ser necessário ajustar os valores (não padronizei eles para múltiplos ativos nesse código). Mas já faz um Tralling básico
void TrailingStop(double price){
   double SL = NormalizeDouble(price+150*_Point, _Digits);
      
   for(int i = PositionsTotal()-1; i >=0; i--){
      string symbol = PositionGetSymbol(i);
         printf(SL);
      if(_Symbol == symbol){
         ulong PositionTicket = PositionGetInteger(POSITION_TICKET);
         int CurrentStopLoss = PositionGetDouble(POSITION_SL);
         
         int PositionTP = PositionGetDouble(POSITION_TP);
         printf("SL: " + SL + "   ---- " + "CurrentStopLoss: " + CurrentStopLoss);
         
         if(CurrentStopLoss > SL){
            trade.PositionModify(PositionTicket, (CurrentStopLoss-50*_Point),PositionTP);
            int newValue = CurrentStopLoss-50;
            printf("SL: " + SL + "   ---- " + "NewStopLoss: " + newValue);
            printf("Trailing stop");
         }
      }
   }
}
Razão: