Я вижу не 4 раза, а 5, судя по всему это уже следующий тик.
А Вы уверены что он равен? Выведите на печать. На всякий случай нормализуйте.
Вот, равен :
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: ERROR : 1, ticket : 4
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: BUY SL : 1.53920000, OSL : 1.53920000, ord : 0, order ticket : 2
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: ERROR : 1, ticket : 3
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: BUY SL : 1.53920000, OSL : 1.53920000, ord : 0, order ticket : 2
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: ERROR : 1, ticket : 2
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: BUY SL : 1.53920000, OSL : 1.53920000, ord : 0, order ticket : 2
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: ERROR : 1, ticket : 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: BUY SL : 1.53920000, OSL : 1.53920000, ord : 0, order ticket : 2
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: ERROR : 1, ticket : 0
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 19:23:52 2008.06.05 05:01 EA_1.4 EURUSD,M1: BUY SL : 1.53920000, OSL : 1.53920000, ord : 0, order ticket : 2
2008.12.20 19:23:52 2008.06.05 05:00 EA_1.4 EURUSD,M1: modify #2 buy 0.10 EURUSD at 1.5391 sl: 1.5392 tp: 0.0000 ok
Да следующий тик, для этого и поставил условие что если равен - сразу break
Выводящая функция :
Print("BUY SL : ",DoubleToStr(StopLoss,8),", OSL : ",DoubleToStr(OrderStopLoss(),8),", ord : ",ord,", order ticket : ",OrderTicket());
НЕТ, ругается на тейк
OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,0<-!!!!,0); надо OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0);
if (OrderStopLoss()==StopLoss) break;
if (NormalizeDouble(OrderStopLoss(),Digits)==StopLoss) break;
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот функция трала, в который я посылаю значения лося и другие параметры ордера.
Проблема возникает в том, что модификация не отменяется следующие 4 раза, если прошла успешно, и не отменяется если Лось уже равен лосю ордера..
подскажите что в коде некорректно ?
вот что пишет :
2008.12.20 18:52:38 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 18:52:38 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 18:52:38 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 18:52:38 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 18:52:38 2008.06.05 05:01 EA_1.4 EURUSD,M1: OrderModify error 1
2008.12.20 18:52:38 2008.06.05 05:00 EA_1.4 EURUSD,M1: modify #2 buy 0.10 EURUSD at 1.5391 sl: 1.5392 tp: 0.0000 ok