Hi,
You probably want to add some additional logic to your condition such that you limit how long ago it was since the initial cross. As it stands, the cross over 200 could have happened 10 years ago, lasted for a day, then hovered around 100 for 10 years, then dropped below 90 today. Are you really still interested?
I believe that this will satisfy what you have asked for (as well as restrict the initial cross to have been within the last 20 days).
array = CCI( 20 );
BarsSinceCCICrossed
200 = BarsSince( Cross( array, 200 ) );
MySignal = Cross( 90, array ) AND BarsSinceCCICrossed200 > 0 AND BarsSinceCCICrossed200 < 20;
Mike
--- In amibroker@xxxxxxxxxps.com, "murthysuresh" <money@xxx> wrote:
>
> the CCI should have crossed 200. Once it crossed 200, it should have have crossed below 90.
> i got the first one right as below
> array = CCI( 20 );
> BarsSinceCCICrossed200=BarsSince(Cross(array,200));
>
> without using a for loop, how can i code the second condition.
> Once it crossed 200, it should have have crossed below 90.
>
Windows Live™: Keep your life in sync.