Ei pessoal. . Eu codifiquei um trailing stop, no entanto, ele não faz o trabalho corretamente, por Ex, quando temos a posição de compra, e segundo e primeiro trailing stop ativa, se o custo cai, próximo trailing stop alterou seu custo e ele vai direto para trás para o original ... que é realmente o código, o que há de errado com este código, apenas como devo corrigir esse problema. obrigado.

Código inserido void TrailStops () {double Pointt = Point; If ((Stage == 0,00001) || (Stage == 0,001)) Pointt * = 10; int Mod; Duplo sl = OrderStopLoss (); para (int cnt = OrdersTotal () - 1; cntgt; = 0; cnt--) {OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES); if (BreakEvengt; 0) {if (Bid-OrderOpenPrice () gt; Pointt * BreakEven) {if (OrderStopLoss () lt; Bid-Pointt * BreakEven) {if (OrderType () == OP_BUY) {Mod = OrderModify (OrderTicket (), OrderOpenPrice (), NormalizeDouble (OrderOpenPrice () - modificadoStop * Pointt, dígitos), OrderTakeProfit (), 0, azul); if (! Mod) Publish (Erro no OrderModify. Código de erro {}, GetLastError ()); else Imprimir (pedido modificado com sucesso); } if (OrderType () == OP_SELL) {Mod = OrderModify (OrderTicket (), OrderOpenPrice (), NormalizeDouble (OrderOpenPrice () ModificadoParar * Pointt, Dígitos), OrderTakeProfit (), 0, Vermelho); if (! Mod) Publish (Erro no OrderModify. Código de erro {}, GetLastError ()); else Imprimir (pedido modificado com sucesso); }}} Se (Bid-OrderOpenPrice () gt; Apontar * dois * BreakEven) {If (OrderStopLoss () lt; Bid-Pointt * dois * BreakEven) {if (OrderType () == OP_BUY) {Mod = OrderModify (OrderTicket (), OrderOpenPrice (), NormalizeDouble (OrderOpenPrice () - 2 * modificadoStop * ponto, dígitos), OrderTakeProfit (), 0, azul); if (! Mod) Publish (Erro no OrderModify. Código de erro {}, GetLastError ()); else Imprimir (pedido modificado com sucesso); } if (OrderType () == OP_SELL) {Mod = OrderModify (OrderTicket (), OrderOpenPrice (), NormalizeDouble (OrderOpenPrice () 2 * ModificadoParar * Pointt, Dígitos), OrderTakeProfit (), 0, Vermelho); if (! Mod) Publish (Erro no OrderModify. Código de erro {}, GetLastError ()); else Imprimir (pedido modificado com sucesso); }}}}}}