Disliked{quote} On the current candle, the whole thing works like this: When the conditions for the signal are met, the signal buffer is triggered as many times as ticks come in. You can observe that by adding Print() commands for bar[0]: Bull = 0; Bear = 0; if (myDif > CandleSize) { if (myOpen > myClose ) { if (i == 0 && flagval1==0) { flagval1=1; flagval2=0; tc = TimeCurrent(); if (SoundOn) PlaySound(SoundFile); if (AlertON) Alert("Large BEAR candle","\n Time=",TimeToStr(tc,TIME_DATE)," ",TimeHour(tc),":",TimeMinute(tc),"\n Symbol=",Symbol()," Period=",Period());...Ignored
You are right when you say this "When the conditions for the signal are met, the signal buffer is triggered as many times as ticks come in."
So what I want is, the candle buffer not to be triggered after every tick but after intervals of three. More like what a 'for() condition does or while statement does.
So if for example in the lifespan of say 1Hr candlestick the indicator outputs an arrow 10 times I want that number reduced to 3 times (all spaced out in intervals i.e. arrows 1,5 and 9)