Or Try This
array=cci(20); mysig=cross(90,array) and (highestsince(cross(array,90),array,1)>=200); true when we just crossed below 90 and the highest cci is greater than 200 from the last time we went above 90 Rajiv To: [email protected] From: [email protected] Date: Mon, 6 Apr 2009 20:29:12 +0000 Subject: [amibroker] Re: how to code this condition 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 ); BarsSinceCCICrossed200 = BarsSince( Cross( array, 200 ) ); MySignal = Cross( 90, array ) AND BarsSinceCCICrossed200 > 0 AND BarsSinceCCICrossed200 < 20; Mike --- In [email protected], "murthysuresh" <mo...@...> 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. http://windowslive.com/explore?ocid=TXT_TAGLM_WL_allup_1a_explore_042009
