Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Один из самых простых способов вставить
туда где надо проверить работоспособность кода или проверить наличие истинности условия (тоесть проверить бывают ли случаи когда все условия истинны и должено быть произведено действие)
я например вставляю Alert внутрь каждой сложной функции с разным текстом, чтобы проверить выполняется ли функция вообще и доходит ли советник до нее
Возможно вы используете какие-то условия и они всегда ложны
Дело в том что никаких ошибок в журнале нет, но советник иногда перестает работать, и восстанавливается только после перезагрузки терминала.
Не совсем понятно, как Вы определяете, что "советник иногда перестает работать". Может, там у него просто цикл бесконечный запускается. Журнал при этом - пустой, а советник пашет без устали. Или ещё какая особенность срабатывает.
Мне нужен ответ на вопрос в этом посте: https://www.mql5.com/ru/forum/3775/page215#comment_379520
Кто-нибудь знает ответ?
Судя по всему, пока прямого ответа нет, остаётся поразмышлять.
Итак, тип лицензии узнаётся с помощью Mql5InfoInteger(MQL5_LICENSE_TYPE). Т.е. из всех возможных значений перечисления ENUM_LICENSE_TYPE будет возвращено какое-то одно. Далее - методом исключения: ограничение по времени работы (LICENSE_TIME) не может быть возвращено одновременно с предыдущими тремя значениями указанного перечисления. В том числе, LICENSE_TIME не должно возвращаться одновременно с LICENSE_DEMO.
При таком рассуждении я бы дал отрицательный ответ на вопрос "подразумевается ли , что платную программу для Маркета можно ограничить по времени в демо-тестировании?" Ибо демо-версия платного продукта из Маркета имеет свой идентификатор - LICENSE_DEMO.
Судя по всему, пока прямого ответа нет, остаётся поразмышлять.
Итак, тип лицензии узнаётся с помощью Mql5InfoInteger(MQL5_LICENSE_TYPE). Т.е. из всех возможных значений перечисления ENUM_LICENSE_TYPE будет возвращено какое-то одно. Далее - методом исключения: ограничение по времени работы (LICENSE_TIME) не может быть возвращено одновременно с предыдущими тремя значениями указанного перечисления. В том числе, LICENSE_TIME не должно возвращаться одновременно с LICENSE_DEMO.
При таком рассуждении я бы дал отрицательный ответ на вопрос "подразумевается ли , что платную программу для Маркета можно ограничить по времени в демо-тестировании?" Ибо демо-версия платного продукта из Маркета имеет свой идентификатор - LICENSE_DEMO.
А я думаю, что в LICENSE_TIME может быть заложено одновременно и LICENSE_DEMO и LICENSE_TIME. Яркий пример отражён в таких идентификаторах, как MQL5_VISUAL_MODE и MQL5_TESTING. То есть, и тот и другой дают понять, что мы находимся в тестере. ))
Так что очень интересно, что же на самом деле заложили в этот идентификатор разработчики? И вообще, если нет возможности ограничить по времени некоторые платные программы в демо-режиме, то хотелось бы иметь такую возможность. Так как могут быть такие варианты, что можно очень выгодно использовать для себя программы даже не покупая их. )))
Согласен, что совсем упустил из виду терминологические особенности справочных материалов, из-за которых метод исключения может привести к неверным результатам в силу тех или иных причин. ...Ну, по крайней мере, озвучили непонятки по теме, а ответить могут только авторы этого перечисления.
Не совсем понятно, как Вы определяете, что "советник иногда перестает работать". Может, там у него просто цикл бесконечный запускается. Журнал при этом - пустой, а советник пашет без устали. Или ещё какая особенность срабатывает.
Вот это уже ближе к теме. Получается, что у Вас советник перестаёт реагировать на сигналы индикатора? Но это ещё не значит, что советник "не работает". Возможно, он всё-таки работает, но не так, как задумано автором.
Попробуйте поставить таймер с периодом, например, 10 минут. И выводите на печать все значимые для Вашего эксперта показатели. Смотрите, меняются ли эти показатели со временем. Если и в этом случае журнал будет пустым - тогда точно, в Сервисдеск с копией кода.
Дополнение. Или вот ещё идея. У Вас же есть место в коде с условием типа if, после срабатывания которого должен отправляться торговый запрос. Попробуйте выводить на печать случаи срабатывания/несрабатывания этого условия, например: