JS HighJump_Oscillator_Modified

A forum for all EdgeRater users

Moderator: Chris White

Post Reply
henry1224
Posts: 457
Joined: Wed Feb 24, 2016 12:04 pm

JS HighJump_Oscillator_Modified

Post by henry1224 »

Here is my version of the JS HighJump Oscillator

Under the Parameters Tab

Threshold Double 95 0 10000
Lookback Double 200 0 10000
SN1 Double 3 0 100
SN2 Double 6 0 100


Under the Script Tab here is the code

MA17: MA(C, 17),norender;
MA50: MA(C, 50), norender;
MA200: MA(C, 200),norender;

HJ: (C - MA17)/MA17 + (C - MA50)/MA50 + (C - MA200)/MA200,norender;
MAXHJ: HHV(HJ, LOOKBACK),norender;
MINHJ: LLV(HJ, LOOKBACK),norender;

OSC: IF(HJ > 0, HJ / MAXHJ * 100, HJ / MINHJ * -100),Width1,ColorBlue;
Sig1: MA(Osc,SN1),Width2,ColorBlack;
@SETTEXTVISIBLE(Sig1, false);
Sig2: MA(Osc,SN2),Width2,ColorRed;
@SETTEXTVISIBLE(Sig2, false);

UPPER: THRESHOLD,colorgray,width2;
LOWER: -THRESHOLD,colorgray,width2;
MIDDLE: 0,colorgray,width1;

dist:=Upper-Lower;
hf:=Upper-dist*0.236;
cfh:=Upper-dist*0.382;
Mid:Upper-dist*.5,Crossdot,ColorBlack,norender;
cfl:=Upper-dist*0.618;
lf:=Upper-dist*0.764;
FillRgn(1,Upper,HF),ExtendLR,Brush#30FFA500;
FillRgn(1,CFH,CFL),ExtendLR,Brush#60B0C4DE;
FillRgn(1,Lower,LF),ExtendLR,Brush#30FFA500;
FillRgn(Osc>SiG1,Osc,Sig1),Brush#300000FF;
FillRgn(Osc<Sig1,Osc,Sig1),Brush#30FF0000;
FillRgn(Sig1>Sig2,Sig1,Sig2),Brush#600000FF;
FillRgn(Sig1<Sig2,Sig1,Sig2),Brush#60FF0000;

FillRgn(Osc>Upper,Osc,Upper),Brush#80FF0000;
FillRgn(Osc<Lower,Osc,Lower),Brush#7000FF00;

@SETYMINMAX(-120, 120);
@SETTEXTVISIBLE(UPPER, false);
@SETTEXTVISIBLE(LOWER, false);
@SETTEXTVISIBLE(MIDDLE, false);



I added 2 signal lines & added colored areas between the Osc and the 2 signal lines, Colored the upper & lower zones in a fibonnaci zone. I also colored in an area when the Osc goes above or below the Threshold

Here is the chart Image
the modified indicator is in the bottom panel
Chris White
Posts: 200
Joined: Mon Nov 29, 2010 9:21 pm

Re: JS HighJump_Oscillator_Modified

Post by Chris White »

Looks good,

Thanks Henry!
henry1224
Posts: 457
Joined: Wed Feb 24, 2016 12:04 pm

Re: JS HighJump_Oscillator_Modified

Post by henry1224 »

This version also takes into account the 100 MA

Use the same Parameters tab from the above post

Here is the script code

MA17: MA(C, 17),norender;
MA50: MA(C, 50), norender;
MA100: MA(C, 100),norender;
MA200: MA(C, 200),norender;

HJ: (C - MA17)/MA17 + (C - MA50)/MA50 + (C - MA100)/MA100 + (C - MA200)/MA200,norender;
MAXHJ: HHV(HJ, LOOKBACK),norender;
MINHJ: LLV(HJ, LOOKBACK),norender;

OSC: IF(HJ > 0, HJ / MAXHJ * 100, HJ / MINHJ * -100),Width1,ColorBlue;
Sig1: MA(Osc,SN1),Width2,ColorBlack;
@SETTEXTVISIBLE(Sig1, false);
Sig2: MA(Osc,SN2),Width2,ColorRed;
@SETTEXTVISIBLE(Sig2, false);

UPPER: THRESHOLD,colorgray,width2;
LOWER: -THRESHOLD,colorgray,width2;
MIDDLE: 0,colorgray,width1;

dist:=Upper-Lower;
hf:=Upper-dist*0.236;
cfh:=Upper-dist*0.382;
Mid:Upper-dist*.5,Crossdot,ColorBlack,norender;
cfl:=Upper-dist*0.618;
lf:=Upper-dist*0.764;
FillRgn(1,Upper,HF),ExtendLR,Brush#30FFA500;
FillRgn(1,CFH,CFL),ExtendLR,Brush#60B0C4DE;
FillRgn(1,Lower,LF),ExtendLR,Brush#30FFA500;
FillRgn(Osc>SiG1,Osc,Sig1),Brush#300000FF;
FillRgn(Osc<Sig1,Osc,Sig1),Brush#30FF0000;
FillRgn(Sig1>Sig2,Sig1,Sig2),Brush#600000FF;
FillRgn(Sig1<Sig2,Sig1,Sig2),Brush#60FF0000;

FillRgn(Osc>Upper,Osc,Upper),Brush#80FF0000;
FillRgn(Osc<Lower,Osc,Lower),Brush#7000FF00;

@SETYMINMAX(-120, 120);
@SETTEXTVISIBLE(UPPER, false);
@SETTEXTVISIBLE(LOWER, false);
@SETTEXTVISIBLE(MIDDLE, false);
henry1224
Posts: 457
Joined: Wed Feb 24, 2016 12:04 pm

Re: JS HighJump_Oscillator_Modified

Post by henry1224 »

Here is the indicator for those who want to change the MA's to their own

Under the parameter tab

Threshold Double 95 0 10000
Lookback Double 200 0 10000
MN1 Double 17 0 1000
MN2 Double 50 0 1000
MN3 Double 100 0 1000
MN4 Double 200 0 1000
SN1 Double 3 0 100
SN2 Double 6 0 100

under the script tab here is the code

MA1: MA(C, MN1),norender;
MA2: MA(C, MN2),norender;
MA3: MA(C, MN3),norender;
MA4: MA(C, MN4),norender;

HJ: (C - MA1)/MA1 + (C - MA2)/MA2 + (C - MA3)/MA3 + (C - MA4)/MA4,norender;
MAXHJ: HHV(HJ, LOOKBACK),norender;
MINHJ: LLV(HJ, LOOKBACK),norender;

OSC: IF(HJ > 0, HJ / MAXHJ * 100, HJ / MINHJ * -100),Width1,ColorBlue;
Sig1: MA(Osc,SN1),Width2,ColorBlack;
@SETTEXTVISIBLE(Sig1, false);
Sig2: MA(Osc,SN2),Width2,ColorRed;
@SETTEXTVISIBLE(Sig2, false);

UPPER: THRESHOLD,colorgray,width2;
LOWER: -THRESHOLD,colorgray,width2;
MIDDLE: 0,colorgray,width1;

dist:=Upper-Lower;
hf:=Upper-dist*0.236;
cfh:=Upper-dist*0.382;
Mid:Upper-dist*.5,Crossdot,ColorBlack,norender;
cfl:=Upper-dist*0.618;
lf:=Upper-dist*0.764;
FillRgn(1,Upper,HF),ExtendLR,Brush#30FFA500;
FillRgn(1,CFH,CFL),ExtendLR,Brush#60B0C4DE;
FillRgn(1,Lower,LF),ExtendLR,Brush#30FFA500;
FillRgn(Osc>SiG1,Osc,Sig1),Brush#300000FF;
FillRgn(Osc<Sig1,Osc,Sig1),Brush#30FF0000;
FillRgn(Sig1>Sig2,Sig1,Sig2),Brush#600000FF;
FillRgn(Sig1<Sig2,Sig1,Sig2),Brush#60FF0000;

FillRgn(Osc>Upper,Osc,Upper),Brush#80FF0000;
FillRgn(Osc<Lower,Osc,Lower),Brush#7000FF00;

@SETYMINMAX(-120, 120);
@SETTEXTVISIBLE(UPPER, false);
@SETTEXTVISIBLE(LOWER, false);
@SETTEXTVISIBLE(MIDDLE, false);
Post Reply