![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
обычно она возникает в очень сложных системах с редким входом, но у вас не так.
Однако посмотрим на ваш код.
идет проверка "AllChecks" на часть возможных ошибок с одним результатом при любых обстоятельствах - false
если false то попытки совершить сделку у вашего советника нет.
Логично, но топорно. нужно работать более гибко. Нельзя открыть такой маленький лот? окей откроем минимальный, и так далее.
Кстати в mql4 ENUM_ORDER_TYPE и все его значения не используется, хотя они как бы есть. Это случайно перенесенные перечислимые константы из mql5.
Использовать можно, но не совсем корректно.
TopPrice > 80 && LowerPrice >80
вы double на прямую сравниваете с int.
ну как минимум стоило написать так:
TopPrice > 80.0 && LowerPrice >80.0
потому что 80 это int, а 80.0 это уже double, можете проверить:
Print(440/80) //5
Print(440/80.0) //5.5
как правильно сравнивать double с double думаю найдете.
не критично в данном случае, но все же ошибка.
это очень частая ошибка при публикации в маркет. можно даже в рамочку закрепить этот пост и повесить )
обычно она возникает в очень сложных системах с редким входом, но у вас не так.
Однако посмотрим на ваш код.
идет проверка "AllChecks" на часть возможных ошибок с одним результатом при любых обстоятельствах - false
если false то попытки совершить сделку у вашего советника нет.
Логично, но топорно. нужно работать более гибко. Нельзя открыть такой маленький лот? окей откроем минимальный, и так далее.
Кстати в mql4 ENUM_ORDER_TYPE и все его значения не используется, хотя они как бы есть. Это случайно перенесенные перечислимые константы из mql5.
Использовать можно, но не совсем корректно.
А в чем ошибка и как ее в дальнейшем избежать?
А в чем ошибка и как ее в дальнейшем избежать?
делать более гибкие проверки.
я привел пример с лотом, если нельзя открыть указанный - открыть минимально или максимально возможный, а не просто отказываться от этой затеи.
делать более гибкие проверки.
я привел пример с лотом, если нельзя открыть указанный - открыть минимально или максимально возможный, а не просто отказываться от этой затеи.
Иначе говоря, Вы уверены, что при тесте наших с Вами советников Метаквоты выводят наши сделки на реал. За свои (их) деньги.
Иначе говоря, Вы уверены, что при тесте наших с Вами советников Метаквоты выводят наши сделки на реал. За свои (их) деньги.
нет, я и близко этого не говорил
Значит, я Вас не понял
очевидно)
у человека в коде все жестко. нельзя открыть лот который я хочу - не буду. Открыть кстати пытается 0.01 лота
вот и получается что его советник на счете с минимальным лотом 0.1 (или в тестере у брокера с минимальным лотом 0.1) ничего не откроет.
в такой ситуации нужно чтобы советник открывал 0.1 лот, тогда все будет ок.
Народ кто-нибудь решил эту проблему с no trading operations при публикации в маркет. Это просто жесть какая та. Я уже захардкодил и сделал 100% открытие 1 позиции при старте советника, а он мне все равно возвращает это... уже недели 2 с этим бьюсь, и предыдущие версии тоже не проходят проверку, хотя они уже побывали в маркете и раньше проходили проверки
Компьютер это идиот. © М.М. Ботвинник.
Так-вот притворись идиотом и попытайся пройти по алгоритму с точки зрения идиота и с параметрами установленными идиотом. Именно с такой точки зрения подходит автовалидатор. Обратите внимание на "обратную связь". Оповещает-ли советник об ошибках?