Сначала неплохо было бы сформулировать, как должен сигнал появляться/фиксироваться. Например так: на каждом баре, если возник сигнал вверх, он должен зафиксироваться на уровне цены появления и не перерисовываться на этом баре, даже если в дальнейшем движение уйдет в другую сторону и возникнут условия для отмены сигнала вверх или замены его на сигнал вниз. Т.е. принцип умерла-так-умерла, что первое возникло, то уже на данном баре и не перерисовываем, только на следующих. Или не так. Как?
Ответ получите и то только если кого-нибудь этот индюк заинтересует, или ищите Integer 'a, ..., ... и прочих, кто работает пусть за символическую, но плату. Может это и лучше кстати, если сами коды не читаете - кроме кода могут добавить и разъяснения - чего ждать, чего бояться, как реагировать и пр.
Как сделать, чтоб индикатор не давал сигнал на каждом тике?
To Killton - если еще здесь :).
Код писали сами или откуда-то взяли? Историю перерисовывает, и очень странно: не только последние бары при смене направления, но и посередине кусками (сделайте: буфера только проставлять и не удалять, не присваивать нулю). И такое впечатление, что код подправлен, если да - первоисточник есть?
Как сделать, чтоб индикатор не давал сигнал на каждом тике?
extern int gПериодВхода = PERIOD_M5; // задаем период входа static datetime gTime = 0; void start() { if ( gTime != iTime(Symbol(),gПериодВхода , 0) ) // раз в период например M5 получать вход в тело индикатора т е вызывать каждые 5 минут не чаще { gTime = iTime(Symbol(),gПериодВхода , 0); } else { return; // выходим что бы не мучать наш индикатор тиками } // // тело нашего индикатора // // }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования