Доброго времени суток!
Все, что на 4-х знаке работает нормально будет и на 5-знаке работать также, если приводить к заданной точности.
Т.е. цену ордера надо просто нормализовать под 5-й знак.
//Прямо указать точность знаков после запятой
NormalizeDouble(Bid,5)
NormalizeDouble(Ask,5)
//или для автоматизации по переменной терминала
NormalizeDouble(Bid,Digits)
NormalizeDouble(Ask,Digits)
Есть замечание: на тестере похоже из функций OrderOpenPrice()\OrderTakeProfit()\OrderStopLoss() возвращается всетаки 4-знака и нормализовать их тоже придется. Думаю, что это даже не недоделка MT4-разрабочтиков, а недонастройка серверов Дилинговых центров Т.е.
double OpPrice=NormalizeDouble(OrderOpenPrice(),Digits);
double SlPrice=NormalizeDouble(OrderStopLoss(),Digits);
double TpPrice=NormalizeDouble(OrderTakeProfit(),Digits);
//Так работает - проверено. А без нормализации под 5-знак вылезают ошибки 1-err-no-result и 130-invalid-stops
P.S. Чтоб у вас все было и вам за это ничего не было.
Да, пользуюсь давно и доволен. Спасибо.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования