Thanks for pointing this out. I am seeing the same thing. I went back to the 
ConnorsRSI Guide. The example charts do bound higher and lower than the results 
from my coding. The result tables also reflect entries below 10.

The example calculation on page 8 shows a result of 0.15 or 15% which matches 
my coding. However, a quick Google search has shown that Amibroker outputs the 
formula as 0 to 100.

http://www.amibroker.com/guide/afl/percentrank.html
"Returns percent rank (0...100) of the current element of the array within all 
elements over the specified range."

New indicator below.

Regards

Stuart


{Connors RSI}

PdsRSI:=Input("RSI Close Length",1,100,3);
PdsUD:=Input("RSI UpDown Length",1,100,2);
{PdsRank:=100;} {DELETE NOT REQUIRED}

UpDays:=BarsSince(C<{=}Ref(C,-1));
DownDays:=BarsSince(C>{=}Ref(C,-1));
UpDownDays:=If(UpDays>0,UpDays,If(DownDays>0,-DownDays,0));

cRSI:=(

(Fml("Connors RSI Working 1")+
Fml("Connors RSI Working 2")+
Fml("Connors RSI Working 3"))
/100 {Pds Rank} *100 {Amibroker PercentRank function outputs percent as 0 to 
100}+

ExtFml("Forum.RSI",UpDownDays,PdsUD)+

ExtFml("Forum.RSI",C,PdsRSI)
)/3;

cRSI;





--- In [email protected], Mr Distinque <distinque@...> wrote:
>
> 
> This does not appear to be working correctly.  90% of the values fall 
> between 15 and 60.  The rest poke to 5-10 and 65-70.  Nothing over 70 in 
> either an up or down trend.  Am I doing something incorrect or are others 
> seeing the same?
> 
> D
> EGO Sum Qua EGO Sum
> Sempre Avanti
>    
> 
> ________________________________
>  From: stuart_yg123 <[email protected]>
> To: [email protected] 
> Sent: Thursday, March 7, 2013 5:02 AM
> Subject: [EquisMetaStock Group] Re: ConnorsRSI
>    
>  
>    
>  
> 
> 
> I converted the Amibroker code ex
> http://www.marketcalls.in/amibroker/larry-connors-rsi-amibroker-afl-code.html
> 
> I made a change to the upDays and downDays lines by commenting out the equals 
> sign. I don't think the equals is correct based on reading the guide from 
> http://analytics.tradingmarkets.com/ConnorsRSI/
> 
> I required 4 indicators for the calculations. Hope my coding is correct.
> 
> Regards
> 
> Stuart
> 
> {Connors RSI Working 1}
> x:=ROC(C,1,%);
> If(x>Ref(x,-1),1,0)+
> If(x>Ref(x,-2),1,0)+
> If(x>Ref(x,-3),1,0)+
> If(x>Ref(x,-4),1,0)+
> If(x>Ref(x,-5),1,0)+
> If(x>Ref(x,-6),1,0)+
> If(x>Ref(x,-7),1,0)+
> If(x>Ref(x,-8),1,0)+
> If(x>Ref(x,-9),1,0)+
> If(x>Ref(x,-10),1,0)+
> If(x>Ref(x,-11),1,0)+
> If(x>Ref(x,-12),1,0)+
> If(x>Ref(x,-13),1,0)+
> If(x>Ref(x,-14),1,0)+
> If(x>Ref(x,-15),1,0)+
> If(x>Ref(x,-16),1,0)+
> If(x>Ref(x,-17),1,0)+
> If(x>Ref(x,-18),1,0)+
> If(x>Ref(x,-19),1,0)+
> If(x>Ref(x,-20),1,0)+
> If(x>Ref(x,-21),1,0)+
> If(x>Ref(x,-22),1,0)+
> If(x>Ref(x,-23),1,0)+
> If(x>Ref(x,-24),1,0)+
> If(x>Ref(x,-25),1,0)+
> If(x>Ref(x,-26),1,0)+
> If(x>Ref(x,-27),1,0)+
> If(x>Ref(x,-28),1,0)+
> If(x>Ref(x,-29),1,0)+
> If(x>Ref(x,-30),1,0)+
> If(x>Ref(x,-31),1,0)+
> If(x>Ref(x,-32),1,0)+
> If(x>Ref(x,-33),1,0)
> 
> {Connors RSI Working 2}
> x:=ROC(C,1,%);
> If(x>Ref(x,-34),1,0)+
> If(x>Ref(x,-35),1,0)+
> If(x>Ref(x,-36),1,0)+
> If(x>Ref(x,-37),1,0)+
> If(x>Ref(x,-38),1,0)+
> If(x>Ref(x,-39),1,0)+
> If(x>Ref(x,-40),1,0)+
> If(x>Ref(x,-41),1,0)+
> If(x>Ref(x,-42),1,0)+
> If(x>Ref(x,-43),1,0)+
> If(x>Ref(x,-44),1,0)+
> If(x>Ref(x,-45),1,0)+
> If(x>Ref(x,-46),1,0)+
> If(x>Ref(x,-47),1,0)+
> If(x>Ref(x,-48),1,0)+
> If(x>Ref(x,-49),1,0)+
> If(x>Ref(x,-50),1,0)+
> If(x>Ref(x,-51),1,0)+
> If(x>Ref(x,-52),1,0)+
> If(x>Ref(x,-53),1,0)+
> If(x>Ref(x,-54),1,0)+
> If(x>Ref(x,-55),1,0)+
> If(x>Ref(x,-56),1,0)+
> If(x>Ref(x,-57),1,0)+
> If(x>Ref(x,-58),1,0)+
> If(x>Ref(x,-59),1,0)+
> If(x>Ref(x,-60),1,0)+
> If(x>Ref(x,-61),1,0)+
> If(x>Ref(x,-62),1,0)+
> If(x>Ref(x,-63),1,0)+
> If(x>Ref(x,-64),1,0)+
> If(x>Ref(x,-65),1,0)+
> If(x>Ref(x,-66),1,0)
> 
> {Connors RSI Working 3}
> x:=ROC(C,1,%);
> If(x>Ref(x,-67),1,0)+
> If(x>Ref(x,-68),1,0)+
> If(x>Ref(x,-69),1,0)+
> If(x>Ref(x,-70),1,0)+
> If(x>Ref(x,-71),1,0)+
> If(x>Ref(x,-72),1,0)+
> If(x>Ref(x,-73),1,0)+
> If(x>Ref(x,-74),1,0)+
> If(x>Ref(x,-75),1,0)+
> If(x>Ref(x,-76),1,0)+
> If(x>Ref(x,-77),1,0)+
> If(x>Ref(x,-78),1,0)+
> If(x>Ref(x,-79),1,0)+
> If(x>Ref(x,-80),1,0)+
> If(x>Ref(x,-81),1,0)+
> If(x>Ref(x,-82),1,0)+
> If(x>Ref(x,-83),1,0)+
> If(x>Ref(x,-84),1,0)+
> If(x>Ref(x,-85),1,0)+
> If(x>Ref(x,-86),1,0)+
> If(x>Ref(x,-87),1,0)+
> If(x>Ref(x,-88),1,0)+
> If(x>Ref(x,-89),1,0)+
> If(x>Ref(x,-90),1,0)+
> If(x>Ref(x,-91),1,0)+
> If(x>Ref(x,-92),1,0)+
> If(x>Ref(x,-93),1,0)+
> If(x>Ref(x,-94),1,0)+
> If(x>Ref(x,-95),1,0)+
> If(x>Ref(x,-96),1,0)+
> If(x>Ref(x,-97),1,0)+
> If(x>Ref(x,-98),1,0)+
> If(x>Ref(x,-99),1,0)
> 
> {Connors RSI}
> 
> PdsRSI:=Input("RSI Close Length",1,100,3);
> PdsUD:=Input("RSI UpDown Length",1,100,2);
> PdsRank:=100;
> 
> UpDays:=BarsSince(C<{=}Ref(C,-1));
> DownDays:=BarsSince(C>{=}Ref(C,-1));
> UpDownDays:=If(upDays>0,upDays,If(downDays>0,-downDays,0));
> 
> cRSI:=(
> 
> (Fml("Connors RSI Working 1")+
> Fml("Connors RSI Working 2")+
> Fml("Connors RSI Working 3"))/100+
> 
> ExtFml("Forum.RSI",UpDownDays,PdsUD)+
> 
> ExtFml("Forum.RSI",C,PdsRSI))/3;
> 
> cRSI;
> 
> --- In mailto:equismetastock%40yahoogroups.com, "distinque" <distinque@> 
> wrote:
> >
> > Has anyone worked up ConnorsRSI in MS and be willing to share?
> > 
> > Thanks
> >
>


Reply via email to