Skip to main content

RSI of WRO and WSO for Amibroker (AFL)

AKJWYXZ over 14 years ago Amibroker (AFL)

  • Rating:
    3 / 5 (Votes 3)
  • Tags:
    amibroker, timeframe

The following formula is an implementation of Widner’s support and resistance oscillators.
WRO and WSO were published by Mel Widner in 1996.
The time frames suggested are daily and hourly.

Indicator / Formula

Copy & Paste Friendly
/////////////////////////
// RSI of WRO and WSO ///
////////////////////////


TimeFrameSet(60*in1Minute);

// WRO - WIDNER'S RESISTANCE OSCILLATOR 
p1=-4;
p2=9;
r1=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),1);
r2=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),2);
r3=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),3);
r4=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),4);
r5=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),5);
r6=ValueWhen(Ref(L,p1)==LLV(L,p2),Ref(L,p1),6);
r1m=Max(0,Min(1,int(r1/C)));
r2m=Max(0,Min(1,int(r2/C)));
r3m=Max(0,Min(1,int(r3/C)));
r4m=Max(0,Min(1,int(r4/C)));
r5m=Max(0,Min(1,int(r5/C)));
r6m=Max(0,Min(1,int(r6/C)));
WRO=100*(1-(r1m+r2m+r3m+r4m+r5m+r6m)/6);
Plot(WRO,"",colorGreen,styleDashed);

// WSO - WIDNER'S SUPPORT OSCILLATOR 
p1=-4;
p2=9;
s1=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),1);
s2=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),2);
s3=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),3);
s4=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),4);
s5=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),5);
s6=ValueWhen(Ref(H,p1)==HHV(H,p2),Ref(H,p1),6);
s1m=Max(0,Min(1,int(s1/C)));
s2m=Max(0,Min(1,int(s2/C)));
s3m=Max(0,Min(1,int(s3/C)));
s4m=Max(0,Min(1,int(s4/C)));
s5m=Max(0,Min(1,int(s5/C)));
s6m=Max(0,Min(1,int(s6/C)));
WSO=100*(1-(s1m+s2m+s3m+s4m+s5m+s6m)/6);
Plot(WSO,"",colorRed,styleDashed);

// AVERAGES + RSI
x1=EMA(WRO,5);
x2=EMA(WRO,10);
x3=EMA(WRO,15);
x4=(x1+x2+x3)/3;
x5=RSIa(x4,5);

y1=EMA(WSO,5);
y2=EMA(WSO,10);
y3=EMA(WSO,15);
y4=(y1+y2+y3)/3;
y5=RSIa(y4,5);

z1=(x5+y5)/2;
z2=EMA(z1,5);
z3=Zig(x2,5);
Cond=IIf(z3>Ref(z3,-1),colorGreen,colorRed);
Plot(z3,"",Cond,8);
Plot(15,"",colorBlue,1);
Plot(85,"",colorBlue,1);
PlotShapes(IIf(Cross(z3,15),shapeUpArrow,shapeNone),colorGreen);
PlotShapes(IIf(Cross(85,z3),shapeDownArrow,shapeNone),colorRed);

2 comments

2. ecredic
over 12 years ago

Have you changed the formula on purpose or where a mistake?
WRO is based on HHV of Hs
WSO is based on LLV of Ls
and why insted of
z3=Zig(*Z2*,5);, you changed to z3=Zig(*x2*,5);?

Correcting this erros the formula realy looks promissing.

Leave Comment

Please login here to leave a comment.