Здравствуйте. Знаю, что тема нового бара поднималась уже не один раз, но у меня возникла следующая проблема... Мой советник мониторит несколько таймфреймов. Если график открыт с часовым таймфреймом, а на 4-х часовом появился сигнал, то, при использовании стандартной функции определения нового бара, оповещение приходит 4 раза, с каждым открытием новой свечи на часовом таймфрейме.
Если сигнал появился на дневном графике, соответственно, оповещение приходит 24 раза(с учетом, что график открыт на часовом таймфрейме). А нужно, чтоб оповещение приходило всего 1 раз, на каком бы таймфрейме не был открыт график и не зависимо от таймфрейма, на котором появился сигнал.
Если кто-то пользуется функцией решающей подобную проблему или видел ее где-то, просьба поделиться.
Не знаю, что там у Вас за оповещение, но никто не мешает связать его отправку не с новым баром, а с новым сигналом.
Под оповещением я имел ввиду Alert(), который находится в функции OnTick().
Ну, дык переместите этот алерт в функцию, формирующую сигнал.
В принципе, я придумал метод как этого избежать, но этот метод сильно "раздувает" код.
Она уже там:) Дело в том, что работает функция, формирующая сигнал, со свечами и ни с чем больше. И, если не определять начало нового бара, то алерт будет выходить каждый тик, пока не закроется нулевой бар.
В принципе, я придумал метод как этого избежать, но этот метод сильно "раздувает" код.
Понятно. Тогда - флаг на глобальном уровне. Устанавливается сигналом, снимается баром. Можно наоборот.
Здравствуйте. Знаю, что тема нового бара поднималась уже не один раз, но у меня возникла следующая проблема... Мой советник мониторит несколько таймфреймов. Если график открыт с часовым таймфреймом, а на 4-х часовом появился сигнал, то, при использовании стандартной функции определения нового бара, оповещение приходит 4 раза, с каждым открытием новой свечи на часовом таймфрейме.
Если сигнал появился на дневном графике, соответственно, оповещение приходит 24 раза(с учетом, что график открыт на часовом таймфрейме). А нужно, чтоб оповещение приходило всего 1 раз, на каком бы таймфрейме не был открыт график и не зависимо от таймфрейма, на котором появился сигнал.
Если кто-то пользуется функцией решающей подобную проблему или видел ее где-то, просьба поделиться.
Элементарно.
int prevbars_H4; ... if(iBars(Symbol(),PERIOD_H4)==prevbars_H4) return; prevbars_H4= iBars(Symbol(),PERIOD_H4);
Элементарно.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Знаю, что тема нового бара поднималась уже не один раз, но у меня возникла следующая проблема... Мой советник мониторит несколько таймфреймов. Если график открыт с часовым таймфреймом, а на 4-х часовом появился сигнал, то, при использовании стандартной функции определения нового бара, оповещение приходит 4 раза, с каждым открытием новой свечи на часовом таймфрейме.
Если сигнал появился на дневном графике, соответственно, оповещение приходит 24 раза(с учетом, что график открыт на часовом таймфрейме). А нужно, чтоб оповещение приходило всего 1 раз, на каком бы таймфрейме не был открыт график и не зависимо от таймфрейма, на котором появился сигнал.
Если кто-то пользуется функцией решающей подобную проблему или видел ее где-то, просьба поделиться.