Вопрос к разработчикам

 
Вопрос к разработчикам
Подскажите пожалуйста, что я делаю не так?
В стратегии я выставляю ордер следующим образом:
SetOrder(OP_SELL, Lots, Bid, 0, SL, 0, RED);
SL - это вычисленный до этого stoploss.
Закрываю ордер точно так же как в файле примера MACD-SAMPLE, то есть определяю, что текущий ордер OP_SELL и вызываю функцию
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Ask,0,Violet);

Так вот, закрытие лота не срабатывает - в логах пишется
Expert: invalid prices in CloseOrder
Попробывал поменять в функции CloseOrder Ask на Bid - работает! Но ведь это неправильно!
Самое интересное, что для ордеров на Buy все работает как надо.
В чем может быть дело?
Версия MT - 3.34 build 4494
 
проверим. это только на тестировании или при работе с сервером?
 
На тестировании
На тестировании. Не проверял при работе с сервером. Эксперт был написан для DJ индекса.
 
приведите, пожалуйста, полный кусок кода закрытия позиций
 
Баг даже при тестировании MACD-Sample
Путем метода тыка выяснил, что иногда не закрываются позиции именно по индексу Dow Jones на Альпари. На валютных парах - все ок.
Присоедините MACD-Sample например к минутному графику DJ, поставьте SL=100, TP=400 и запустите тестирование - в логах будет invalid prices in CloseOrder.
 
Поправочка
Еще надо в настройках эксперта поставить спред - 50 пунктов ( в Dow Jones именно так). Похоже именно такой спред функция закрытия ордера не понимает!
 
исправили ошибку в MetaTrader 3.35, можно скачать
Исправили ошибку с неверной оценкой цены на индексах и CFD при закрытии позиции в тестировании.
Скачайте MetaTrader 3.35 по адресу: https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_campaign=MQL5.community

Спасибо за найденную ошибку.
 
Оперативно! Спасибо