I found the attached divergence indicator on http://www.traderslaboratory.com and made a few modification to it. Notably substituting in stochrsi and getting the indicator to plot a divergence line on both the price chart and indicator for easier viewing.
My question is, can anyone suggest a way to include hidden divergence as well as regular divergence.
RSILength(9),
StochLength(18),
KLength(6),
DLength(3),
OverSold(20),
OverBought(80),
Length(20),
LeftStrength(3),
RightStrength(3),
Line.Color.Top(yellow),
Line.Color.Bot(white),
Line.Size(2),
Plot.stochrsi(1),
AlertOn.Off(1);
//----------------------------------------------------
variables:
//----------------------------------------------------
DToscK(0),
DToscD(0),
oPivotPrice1(0),
oPivotBar1(0),
oPivotPrice2(0),
oPivotBar2(0),
oPivotPrice11(0),
oPivotBar11(0),
oPivotPrice12(0),
oPivotBar12(0);
value1 = FastKCustomEasy(RSI(C, RSILength),StochLength);
DToscK = average(value1,KLength);
DToscD = average(DToscK,DLength);
Condition1 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
Condition11 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
Condition2 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
Condition12 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition1 and Condition2 // added condition2 = referecne future data
AND L[oPivotBar2] >= L[oPivotBar1]
AND DToscK[oPivotBar2] < DToscK[oPivotBar1] then
Begin
Value2 = TL_New(D[oPivotBar2], T[oPivotBar2], L[oPivotBar2], D[oPivotBar1], T[oPivotBar1], L[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Divergence in Bottom" );
End;
If
Condition11 and Condition12 // added condition12 referecne future data
AND H[oPivotBar12] <= H[oPivotBar11]
AND DToscK[oPivotBar12] > DToscK[oPivotBar11] then
Begin
Value12 = TL_New(D[oPivotBar12], T[oPivotBar12], H[oPivotBar12], D[oPivotBar11], T[oPivotBar11], H[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Divergence in Top" );
End;
condition3 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
condition32 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
condition4 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
condition42 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition3 and condition4
AND L[oPivotBar2] >= L[oPivotBar1]
AND DToscK[oPivotBar2] < DToscK[oPivotBar1] then
Begin
Value2 = TL_New_SELF(D[oPivotBar2], T[oPivotBar2], DToscK[oPivotBar2], D[oPivotBar1], T[oPivotBar1], DToscK[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
End;
If
Condition32 and Condition42
AND H[oPivotBar12] <= H[oPivotBar11]
AND DToscK[oPivotBar12] > DToscK[oPivotBar11] then
Begin
Value12 = TL_New_SELF(D[oPivotBar12], T[oPivotBar12], DToscK[oPivotBar12], D[oPivotBar11], T[oPivotBar11], DToscK[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
End;
Plot1( DToscK, "stochrsi", blue );
plot2( 20, "oversold", white);
plot3(80, "overbought", white);
Hidden Divergence
- TJ
- Posts: 7753
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1034 times
- Been thanked: 2228 times
Re: Hidden Divergence
if you can quantify it...I found the attached divergence indicator on http://www.traderslaboratory.com and made a few modification to it. Notably substituting in stochrsi and getting the indicator to plot a divergence line on both the price chart and indicator for easier viewing.
My question is, can anyone suggest a way to include hidden divergence as well as regular divergence.
you can code it.
Quantify it huh. I can show a visual of what i'm looking to accomplish it that helps to move the ball forward?
- Attachments
-
- hidden-bearish-divergence-blue.png
- (141.2 KiB) Downloaded 1194 times
-
- hidden-bullish-divergence-blue.png
- (132.24 KiB) Downloaded 1312 times
Hidden Divergence - plots on both indicator and price chart
Please provide any comments or feedback.
//----------------------------------------------------
inputs:
//----------------------------------------------------
RSILength(9),
StochLength(18),
KLength(6),
DLength(3),
OverSold(20),
OverBought(80),
Length(20),
LeftStrength(3),
RightStrength(3),
Line.Color.Top(yellow),
Line.Color.Bot(white),
Line.Size(2),
Plot.stochrsi(1),
AlertOn.Off(1);
//----------------------------------------------------
variables:
//----------------------------------------------------
DToscK(0),
DToscD(0),
oPivotPrice1(0),
oPivotBar1(0),
oPivotPrice2(0),
oPivotBar2(0),
oPivotPrice11(0),
oPivotBar11(0),
oPivotPrice12(0),
oPivotBar12(0);
value1 = FastKCustomEasy(RSI(C, RSILength),StochLength);
DToscK = average(value1,KLength);
DToscD = average(DToscK,DLength);
Condition1 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
Condition11 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
Condition2 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
Condition12 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition1 and Condition2 // added condition2 = referecne future data
AND L[oPivotBar1] >= L[oPivotBar2]
AND DToscK[oPivotBar2] > DToscK[oPivotBar1] then
Begin
Value2 = TL_New(D[oPivotBar2], T[oPivotBar2], L[oPivotBar2], D[oPivotBar1], T[oPivotBar1], L[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Hid Div Bottom" );
End;
If
Condition11 and Condition12 // added condition12 referecne future data
AND H[oPivotBar11] <= H[oPivotBar12]
AND DToscK[oPivotBar11] > DToscK[oPivotBar12] then
Begin
Value12 = TL_New(D[oPivotBar12], T[oPivotBar12], H[oPivotBar12], D[oPivotBar11], T[oPivotBar11], H[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Hid Div Top" );
End;
condition3 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
condition32 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
condition4 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
condition42 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition3 and condition4
AND L[oPivotBar1] >= L[oPivotBar2]
AND DToscK[oPivotBar2] > DToscK[oPivotBar1] then
Begin
Value2 = TL_New_SELF(D[oPivotBar2], T[oPivotBar2], DToscK[oPivotBar2], D[oPivotBar1], T[oPivotBar1], DToscK[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
End;
If
Condition32 and Condition42
AND H[oPivotBar11] <= H[oPivotBar12]
AND DToscK[oPivotBar11] > DToscK[oPivotBar12] then
Begin
Value12 = TL_New_SELF(D[oPivotBar12], T[oPivotBar12], DToscK[oPivotBar12], D[oPivotBar11], T[oPivotBar11], DToscK[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
End;
Plot1( DToscK, "stochrsi", blue );
plot2( 20, "oversold", white);
plot3(80, "overbought", white);
//----------------------------------------------------
inputs:
//----------------------------------------------------
RSILength(9),
StochLength(18),
KLength(6),
DLength(3),
OverSold(20),
OverBought(80),
Length(20),
LeftStrength(3),
RightStrength(3),
Line.Color.Top(yellow),
Line.Color.Bot(white),
Line.Size(2),
Plot.stochrsi(1),
AlertOn.Off(1);
//----------------------------------------------------
variables:
//----------------------------------------------------
DToscK(0),
DToscD(0),
oPivotPrice1(0),
oPivotBar1(0),
oPivotPrice2(0),
oPivotBar2(0),
oPivotPrice11(0),
oPivotBar11(0),
oPivotPrice12(0),
oPivotBar12(0);
value1 = FastKCustomEasy(RSI(C, RSILength),StochLength);
DToscK = average(value1,KLength);
DToscD = average(DToscK,DLength);
Condition1 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
Condition11 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
Condition2 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
Condition12 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition1 and Condition2 // added condition2 = referecne future data
AND L[oPivotBar1] >= L[oPivotBar2]
AND DToscK[oPivotBar2] > DToscK[oPivotBar1] then
Begin
Value2 = TL_New(D[oPivotBar2], T[oPivotBar2], L[oPivotBar2], D[oPivotBar1], T[oPivotBar1], L[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Hid Div Bottom" );
End;
If
Condition11 and Condition12 // added condition12 referecne future data
AND H[oPivotBar11] <= H[oPivotBar12]
AND DToscK[oPivotBar11] > DToscK[oPivotBar12] then
Begin
Value12 = TL_New(D[oPivotBar12], T[oPivotBar12], H[oPivotBar12], D[oPivotBar11], T[oPivotBar11], H[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
if AlertOn.Off <> 0 then
Alert( "Hid Div Top" );
End;
condition3 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, -1, oPivotPrice1, oPivotBar1 ) <> -1
AND ( oPivotBar1 - RightStrength ) = 0 ;
condition32 = Pivot( DToscK, Length, LeftStrength, RightStrength, 1, 1, oPivotPrice11, oPivotBar11 ) <> -1
AND ( oPivotBar11 - RightStrength ) = 0 ;
condition4 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, -1, oPivotPrice2, oPivotBar2 ) <> -1;
condition42 = Pivot( DToscK, Length, LeftStrength, RightStrength, 2, 1, oPivotPrice12, oPivotBar12 ) <> -1;
If
Condition3 and condition4
AND L[oPivotBar1] >= L[oPivotBar2]
AND DToscK[oPivotBar2] > DToscK[oPivotBar1] then
Begin
Value2 = TL_New_SELF(D[oPivotBar2], T[oPivotBar2], DToscK[oPivotBar2], D[oPivotBar1], T[oPivotBar1], DToscK[oPivotBar1]);
TL_SetColor( Value2, Line.Color.Bot );
TL_SetSize( Value2, Line.Size );
End;
If
Condition32 and Condition42
AND H[oPivotBar11] <= H[oPivotBar12]
AND DToscK[oPivotBar11] > DToscK[oPivotBar12] then
Begin
Value12 = TL_New_SELF(D[oPivotBar12], T[oPivotBar12], DToscK[oPivotBar12], D[oPivotBar11], T[oPivotBar11], DToscK[oPivotBar11]);
TL_SetColor( Value12, Line.Color.Top );
TL_SetSize( Value12, Line.Size );
End;
Plot1( DToscK, "stochrsi", blue );
plot2( 20, "oversold", white);
plot3(80, "overbought", white);
- TJ
- Posts: 7753
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1034 times
- Been thanked: 2228 times
Re: Hidden Divergence - plots on both indicator and price ch
it would help if you tag your codes.Please provide any comments or feedback.
...