Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 601
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет!
Дайте совет, решение или ткните где,что читать.
Решаю задачу: обработка ошибки при вызове iCustom()...
Эта конструкция кода не отрабатывает завершение работы советника, если "индюк" грохнулся с сообщением "array out of range" при отладке советника в тестере.
Выход за пределы массива - это критическая ошибка, после неё выполнение программы останавливается и дальнейший код не выполняется. Потому этот ваш обработчик ошибок и не отрабатывает. Да и не нужен в этом случае код ошибки - в журнале же чёрным по белому на писано, в чём причина вылета. И даже указаны строка и позиция, где это произошло.
1. Я знаю, что ошибка в журнале и что она критическая
2. Я не понимаю, почему тестер не останавливает работу советника и нужно принудительно нажимать "стоп"?
3. Есть ли какие-либо языковые конструкции для обработки исключений(exception), чтобы организовать удобным способом работу советника и его взаимодействие с пользователем в случаем критических ошибок?
1. Я знаю, что ошибка в журнале и что она критическая
2. Я не понимаю, почему тестер не останавливает работу советника и нужно принудительно нажимать "стоп"?
3. Есть ли какие-либо языковые конструкции для обработки исключений(exception), чтобы организовать удобным способом работу советника и его взаимодействие с пользователем в случаем критических ошибок?
Тестер останавливается если критическая ошибка (например деление на 0 или выход за пределы массива) произошла в коде самого советника.
Избежать остановки работы кода в тестере или в реале можно , думаю, только введя в код соответствующие проверки. Что не всегда осуществимо. Особенно это актуально если пользуешься чужим кодом, или вставляешь чужой код как подпрограмму в свой продукт.
Ещё один сложный способ - это читать программно логи журнала.
Тестер останавливается если критическая ошибка (например деление на 0 или выход за пределы массива) произошла в коде самого советника....
Ещё один сложный способ - это читать программно логи журнала.
Ясно. Спасибо за ответ.
Еще вопрос: как напрячь разработчика МТ4 и среды исполнения MQL кода, чтобы он(они) приложил ум и руки в развитии языка для обработки исключений, такие как в моем примере или сходные по смыслу?
Ясно. Спасибо за ответ.
Еще вопрос: как напрячь разработчика МТ4 и среды исполнения MQL кода, чтобы он(они) приложил ум и руки в развитии языка для обработки исключений, такие как в моем примере или сходные по смыслу?
Обращатся в сервесдеск, создать тему/опрос на форуме.
Не так давно МТ4 вообще хоронили. Сейчас тренд если не развернулся , то по крайней мере в последнее время платформу и язык стали значительно модернизировать.
Обращатся в сервесдеск, создать тему/опрос на форуме.
Не так давно МТ4 вообще хоронили. Сейчас тренд если не развернулся , то по крайней мере в последнее время платформу и язык стали значительно модернизировать.
в 2009 его хоронили первый раз
Здравствуйте. Не могли бы знающие люди подсказать в какую сторону решить данную задачу. Нужно найти цены открытия баров в определенное время, например в 01:00, анализируя к примеру 50 последних баров. Не знаю каким образом подойти лучше к задаче на mql5.
То ли через вычисление текущей даты+добавление к ней времени требуемого, и далее уже плюсовать сутками, этот способ работал на mql4.
На mql5 я так понял есть специальные структуры с выводом времени, но почему то не получается через них.
Заранее спасибо за ответ.
Буду очень благодарен , если кто-нибудь накидает кусочек кода для понимания направления размышления.Здравствуйте. Не могли бы знающие люди подсказать в какую сторону решить данную задачу. Нужно найти цены открытия баров в определенное время, например в 01:00, анализируя к примеру 50 последних баров. Не знаю каким образом подойти лучше к задаче на mql5.
То ли через вычисление текущей даты+добавление к ней времени требуемого, и далее уже плюсовать сутками, этот способ работал на mql4.
На mql5 я так понял есть специальные структуры с выводом времени, но почему то не получается через них.
Заранее спасибо за ответ.
Буду очень благодарен , если кто-нибудь накидает кусочек кода для понимания направления размышления.