Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 622
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ещё вопрос, как сделать проверку целостности истории при инициализации в MT4? Есть подозрение, что в момент инициализации происходит подкачка истории, что влияет на предварительный расчет...
Проверьте количество баров rates_total. Если rates_total > prev_calculated+1 - значит подкачалось более 1 бара и следовательно произошла подгрузка истории.
А частоту проверки делать раз в секунду, и после длительной паузы продолжать инициализацию, верно?
Вообще, как мне недавно сказали в СД, в индикаторах лучше обходиться без таймера.
Достаточно добавить условие: if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) как условие первого запуска и полного пересчета индикатора. Если сделаете это в OnCalculate() ничего страшного не будет.
Вообще, как мне недавно сказали в СД, в индикаторах лучше обходиться без таймера.
Достаточно добавить условие: if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) как условие первого запуска и полного пересчета индикатора. Если сделаете это в OnCalculate() ничего страшного не будет.
Ну, мне надо что б в советнике корретно рассчитался класс типа индикатора.
Поэтому я что то туплю, если разрешено 10000 баров на чарт и они есть, то Bars больше 10000 не будет возвращать даже если будут появляться новые бары. Тогда как мне узнать появление нового бара при подгрузки истории?
Ну, мне надо что б в советнике корретно рассчитался класс типа индикатора.
Поэтому я что то туплю, если разрешено 10000 баров на чарт и они есть, то Bars больше 10000 не будет возвращать даже если будут появляться новые бары. Тогда как мне узнать появление нового бара при подгрузки истории?
Почему не будет? Будет. И Bars() и rates_total будут увеличиваться. Проверяйте количество в OnCalculate().
Количество баров, установленное в терминале не повлияло на количество баров в тестере (чуть меньше 100000).
Почему не будет? Будет. И Bars() и rates_total будут увеличиваться. Проверяйте количество в OnCalculate().
Количество баров, установленное в терминале не повлияло на количество баров в тестере (чуть меньше 100000).