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

Reply via email to