Saludos,
Tengo esto en mi Ea y creo que est� sucediendo porque el control de parada intenta poner el stop loss en el punto donde ya lo hizo el trabajo de Breakeven. Cualquier consejo sobre la mejor manera de reparar esto.
C�digo insertado int Trailing() int I; err=Obtener�ltimoError();/Punto de equilibrio si (ExtBreakevengt;0 kgt;0) for (I=1;ilt;=k;I ) if (OrderN#91;I*2-1#93; gt; 0) if(OrderSelect(OrderN#91 ;I*2-1#93;, SELECT_BY_TICKET)==true) if ((ask-OrderOpenPrice())gt;NormalizeDouble(ExtBreakeven * precision, digit 1) OrderOpenPrice()gt;OrderStopLoss()) OrderModify(OrderTicket( ),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfi t(),0,0);/retorno(0); err=Obtener�ltimoError(); si (errgt;1) Imprimiendo (#1054;#1096;#1080;#1073;#1082;#1072; #1084;#1086;#1076;#1080;#1092;#1080;#1082;#1072; #1094;#1080;#1080;#1057;#1051;#1074;#1073;#1077;#1 079;#1091;#1073;#1099;#1090;#1086;#1082;!PedidoN#9 1; k#93;s,PedidoN#91;I*2-1#93;, Error=,err); if (OrderN#91;I*2#93; gt; 0) if(OrderSelect(OrderN#91;I*2#93;, SELECT_BY_TICKET)==true) if ((OrderOpenPrice()-bid)gt;NormalizeDouble( ExtBreakeven * precisi�n, d�gito 1) OrderOpenPrice()lt;OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOp enPrice(),OrderTakeProfit(),0,0);/retorno(0); err=Obtener�ltimoError(); si (errgt;1) Imprimiendo (#1054;#1096;#1080;#1073;#1082;#1072; #1084;#1086;#1076;#1080;#1092;#1080;#1082;#1072; #1094;#1080;#1080;#1057;#1051;#1074;#1073;#1077;#1 079;#1091;#1073;#1099;#1090;#1086;#1082;!PedidoN#9 1; k#93;s,PedidoN#91;I*2#93;, Error=,err);/Trailing if (ExtTrailingStopgt;0 kgt;0) for (I=1;ilt;=k;I ) if (OrderN#91;I*2-1#93; gt; 0) if(OrderSelect(OrderSelect(OrderN#91 ;I*2-1#93;, SELECT_BY_TICKET)==true) if ((ask-OrderOpenPrice())gt;NormalizeDouble(ExtTrailingSto p * precision, digit 1) OrderStopLoss()lt;(ask-NormalizeDouble(ExtTrailingStop * precision , digit 1))) OrderModify(OrderTicket(),OrderOpenPrice(),(ask-NormalizeDouble(ExtTrailingStop * precision, digit 1)),OrderTakeProfit(),0,0);/retorno(0); err=Obtener�ltimoError(); if (errgt;1) Imprimir (#1054;#1096;#1080;#1073;#1082;#1072; #1084;#1086;#1076;#1080;#1092;#1080;#1082;#1072; #1094;#1080;#1080; #1057;#1051; #1074;#1086; #1074;#1088;#1077;#1084;#1103;1 #1090;#1088;#1077;#1081;# 1083;#1080;#1085;#1075;#1072;!PedidoN#91;k#93;s,Pe didoN#91;I*2-1#93;, Error=,err); m�s Imprimir(#1053;#1077;#1091;#1076;#1072;#1083;#1086 ;#1089;#1100; #1074;#1099;#1076;#1077;#1083;#1080;#1090 ;#1100; #1086;#1088;#1076;#1077;#1088; #1074;#1086; #1074;#1088;#1077;#1084;#1103; #1090;#1088;#1077;# 1081;#1083;#1080;#1085;#1075;#1072;,OrdenN#91;I*2-1#93;-RRB-; si (OrdenN#91;I*2#93; gt; 0) if(OrderSelect(OrderN#91;I*2#93;, SELECT_BY_TICKET)==true) if ((OrderOpenPrice()-bid)gt;NormalizeDouble(ExtTrailingStop * precision, digit 1) OrderStopLoss()gt;(bid NormalizeDouble(ExtTrailingStop * precision, digit 1))) OrderModify(OrderTicket(),OrderOpenPrice(),bid NormalizeDouble(ExtTrailingStop * precision, digit 1),OrderTakeProfit(),0,0);/return(0) ; err=GetLastError(); if (errgt;1) Imprimiendo (#1054;#1096;#1080;#1073;#1082;#1072; #1084;#1086;#1076;#1080;#1092;#1080 ;#1082;#1072;#1094;#1080;#1080;#1057;#1051; #1074;#1086; #1074;#1088;#1077;#1084;#1103;2 #1090;#1088;#1077;#1081;#1083;#1080;#1085;#1075;#1 072;! OrdenN#91;k#93;s,OrdenN#91;I*2#93;, Error=,err); m�s Imprimir(#1053;#1077;#1091;#1076;#1072;#1083;#1086 ;#1089;#1100; #1074;#1099;#1076;#1077;#1083;#1080;#1090 ;#1100; #1086;#1088;#1076;#1077;#1088; #1074;#1086; #1074;#1088;#1077;#1084;#1103; #1090;#1088;#1077;# 1081;#1083;#1080;#1085;#1075;#1072;,PedidoN#91;I# 2#93;-RRB-;retorno(0);