Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А это не безусловное обнуление а только если last_error_fifo == 0 короче те же яйца только в профиль. проверяйте что вернула функция прежде чем проверять ошибки.
Развивайте тему.
Именно для Вас, смотрите :
варианты окончания работы OrderSend();
1. Нет ошибки. Вы все равно вызываете GetLastError() - в принципе не страшно, если предыдущая ошибка считана, обработана и обнулена.
ИМХО - не нужно.
2. Есть ошибка - при вызове GetLastError() насколько я понял Вы анализируете одну единственную, хотя их может быть много.
ИМХО - более правильный вариант:
Последняя - ErrReaction(err) - это обработка ошибки.
Например, так :
функция обработки разделяет ошибки на "устранимые" и "неустанимые" - "устранимые" пытается устранить, код неустранимой возвращает обратно - для обработки во внешней (вызвывающей) процедуре.
ну всеравно мои тараканы круче потому что нет необходимости проверять что вернула каждая функция так код выглядит лучше... плюс к тому же можно собственные коды ошибок организовать.
плюс к тому же можно собственные коды ошибок организовать.
нам как-то хватает, чтоб еще и собственные делать.
Это зависит от Вашей логики. Ведь можно сделать обработку каждой ошибки, а можно только тех которые важны в данной ситуации.
Желательно, конечно, иметь функцию обработки всех наиболее значимых ошибок, ну, а далее логика, заложенная в советник, "откорректирует" приоритеты.
Отдельно прошу прощения у топикстартера, если мой вопрос уводит в сторону от Главного направления темы.
нам как-то хватает, чтоб еще и собстенные делать.
для кого же изобретатели MQL5 так стараются SetUserError... они зарезервировали целых 65535 кодов ошибок для себя а все что выше берите не жалко можете свои организовать :)
Именно для Вас, смотрите :
2. Есть ошибка - при вызове GetLastError() насколько я понял Вы анализируете одну единственную, хотя их может быть много.
ИМХО - более правильный вариант:
Последняя - ErrReaction(err) - это обработка ошибки.
vit46:
Ознакомьтесь с этим материалом. imho, не повредит.
https://www.mql5.com/ru/forum/131373
Желательно, конечно, иметь функцию обработки всех наиболее значимых ошибок, ну, а далее логика, заложенная в советник, "откорректирует" приоритеты.
Я, например, считаю, что достаточно 5 раз попробовать открыть ордер и после этого прекратить попытки, а Вы может считаете, что надо 20 раз или открывать "до победы".
Я, например, считаю, что достаточно 5 раз попробовать открыть ордер и после этого прекратить попытки, а Вы может считаете, что надо 20 раз или открывать "до победы".
Нет, я ничего не считаю. Своего твердого и однозначного мнения нет, поэтому и обращаюсь с просьбой порекомендовать Наиболее Достойную функцию отработки ошибок.