Как сделать, чтоб индикатор не давал сигнал на каждом тике?

 
Как сделать, чтоб индикатор не давал сигнал на каждом тике?
Файлы:
 

Сначала неплохо было бы сформулировать, как должен сигнал появляться/фиксироваться. Например так: на каждом баре, если возник сигнал вверх, он должен зафиксироваться на уровне цены появления и не перерисовываться на этом баре, даже если в дальнейшем движение уйдет в другую сторону и возникнут условия для отмены сигнала вверх или замены его на сигнал вниз. Т.е. принцип умерла-так-умерла, что первое возникло, то уже на данном баре и не перерисовываем, только на следующих. Или не так. Как?

Ответ получите и то только если кого-нибудь этот индюк заинтересует, или ищите Integer 'a, ..., ... и прочих, кто работает пусть за символическую, но плату. Может это и лучше кстати, если сами коды не читаете - кроме кода могут добавить и разъяснения - чего ждать, чего бояться, как реагировать и пр.

 
Killton:
Как сделать, чтоб индикатор не давал сигнал на каждом тике?
IndicatorCounted() тебе поможет..
 

To Killton - если еще здесь :).

Код писали сами или откуда-то взяли? Историю перерисовывает, и очень странно: не только последние бары при смене направления, но и посередине кусками (сделайте: буфера только проставлять и не удалять, не присваивать нулю). И такое впечатление, что код подправлен, если да - первоисточник есть?

 
Оригинала к сожалению нет, индюк нашол на забугорном форуме.
 
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; // выходим что бы не мучать наш индикатор тиками
    }
//
// тело нашего индикатора 
// 
 
 
//
 
}
Причина обращения: