![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Универсальная функция модификации ордера мне действительно не нужна, спасибо. И если бы вы читали мои посты, то поняли бы это раньше. Я же не спрашивал, как избавиться от этой ошибки - я поставил вопрос в плане обратной совместимости. Почему раньше такое поведение экспертов было нормой, а теперь резко стало ошибкой?
А мне такое поведение тестера помогло найти ошибку в логике, которая приводила к лишним попыткам модификации.
Я же не спрашивал, как избавиться от этой ошибки - я поставил вопрос в плане обратной совместимости. Почему раньше такое поведение экспертов было нормой, а теперь резко стало ошибкой?
Мы стараемся повысить качество кода трейдеров, поэтому вставляем больше сообщений об ошибках. Когда мы обнаружили, что достаточно часто (чтобы на это стоило обратить внимание) встречаются случаи некорректного вызова OrderModify, то добавили сообщение.
Это очень хорошо. Я тоже считаю, что такая диагностика помогает, но здесь я вел речь конкретно об ошибке ERR_NO_RESULT. Ладно, с этим ясно - придется вносить изменения.
Но продолжая тему о повышении качества кода трейдеров... Я предлагаю повысить информативность новых диагностических сообщений в тестере следующим образом:
OrderModify error 130 - invalid stop loss: too close to market (requested 1.3885, ask: 1.3884)
OrderModify error 130 - invalid take profit: too close to opening price (requested: 1.3880, open: 1.3878)
OrderSend error 129 - invalid opening price: non-normalized value (requested: 1. 3882343222)
OrderModify error 130 - invalid take profit: non-normalized value (requested: 1. 388043241)
Думаю, понятно, что я имел в виду. Обратите внимание на варианты с bid и ask - тестер должен указывать соответствующую цену, в зависимости от типа ошибочного ордера.
Вот это будет реально полезной информацией, особенно для начинающих. В текущем виде она очень не информативна.
chv, не обращайте внимания на эти слова. Я, как программист, сразу понял, что Вы хотели сказать и чем помочь. А если bstone этого не понял, так это его проблемы. Я сначала хотел выложить свою универсальную функция модификации ордера со всеми необходимыми проверками, но передумал. Она bstone не нужна.
Спасибо, Игорь. А тот код - AS IS, NO WARRANTY, как в MS EULA :)
Это идея, а не готовое блюдо, кому что нужно, сам добавит. "Настоящий программист" обнаружит в логе по-прежнему лишние вызовы OrderModify на первом же тесте и нормализует double или введёт шаг в пипсах и сравнение разницы. Я никогда не давал никаких гарантий, что мой код можно вставлять без изменений в свои эксперты. Мозги должны работать самостоятельно.