вызовите GetLastError() сразу после OrderModify
так
if (!OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice(),0,CLR_NONE)) Print("Ошибка!! : "+GetLastError());
TrUnK писал(а) >>
Журнал
Результаты(ордер который мы должны модифицировать и тот что появился)
Уровень тейкпрофита для ордера селл должен быть ниже цены открытия ордера на величину более чем STOPLEVEL для текущего инструмента. А вы пытаетесь установить тейкпрофит равный цене открытия ордера.
Перед модификацией Вы должны проверить равны ли новые данные старым и модифицировать только в том случае, если не равны.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Первый раз занялся написанием МТС и столкнулся со следующей проблемой:
У меня на рынке находятся 2 ордера.
Задача: Изменить TakeProfit первого ордера на цену его открытия; Для этого я использую следующую команду:
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice(),0,CLR_NONE);
Во время тестирования МТС в тестере стратегии, после исполнения этой команды значение TP выбранного ордера не меняется, а в окне Результаты появляется ордер с типом modify и указанными мной параметрами.
Кто может подсказать что я делаю не так?
P.S. благодарю за ответ и терпение к новичкам.