Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Неправильно инициализированное previous_time, вызывающее ложные срабатывания сразу после запуска кода.
2. дорогостоящий доступ к iTime при каждом тике.
3. не все тики образуют бар (в редких случаях тик может произойти в нерабочий день и быть не транзакцией, а просто внутренней процедурой сервера).
Вы не можете знать, когда закрывается свеча. Только когда приходит новый тик, который начинает новый бар, старый бар закрывается, и этот тик может прийти почти в конце продолжительности бара.
Для теста нового бара Bars ненадежен (обновление/подключение может изменить количество баров на графике), объем ненадежен (пропуск тиков), цена ненадежна (дублирование цен и операнд The ==. - Форум по программированию на MQL4.) Всегда используйте время.
MT4: Новая свеча - Форум по программированию на MQL4 #3 (2014)
MT5: Доступ к переменным - Форум по программированию на MQL4 #3 (2022)
Я не согласен с созданием функции new bar, потому что она может быть вызвана только один раз за тик (второй вызов возвращает false). Переменная может быть проверена несколько раз.
Запуск советника один раз в начале каждого бара - Форум по программированию на MQL4 (2011)
Я не согласен с созданием функции new bar, потому что она может быть вызвана только один раз за тик (второй вызов возвращает false). Переменная может быть проверена несколько раз.
У меня получилось сделать общую функцию IsNewBar(symbol, timeframe), которая работает корректно внутри одного советника для разных комбинаций symbol и timeframe, и может вызываться неоднократно в пределах обработки одного тика, возвращая во второй раз (и последующие разы) то же, что и в первый раз.