Page 1 of 13

OBV (On Balance Volume) indicators for MT4

Posted: Thu Apr 20, 2017 4:32 am
by ashetty033
Hi,

Someone please help in creating indicators for the following conditions:

1. When the OBV value goes above its last/previous 15min.( previous 15 bars of the selected TF) high, shows a green histo and changes colour to red when it goes below its last 15min.low

Same way for Price..
2. When the PRICEvalue goes above its last/previous 15min.( previous 15 bars of the selected TF) high, shows a green histo and changes colour to red when it goes below its last 15min.low

Combining OBV+Price..
3. Shows a green histo when both OBV+Price are above its last/previous 15min.( previous 15 bars of the selected TF) high and changes colour to red when it goes below its last 15min.low

Please provide an input option in indicator's settings so that the value can be changed to the desired number(say like 10, 30 in place of 15)..
So if 10 is entered.. indicator looks for previous 10mins/bars...

Basically this would be an indicator to lookout for breakout/breakdown of OBV/Price from its previous "n" mins/bars/period...

I kindly request the Programmers of this Wonderful Forum to hep me with this..

Thanks,

Re: OBV (On Balance Volume)

Posted: Fri Apr 21, 2017 4:26 pm
by ashetty033
Please somebody help on the above request...

Re: OBV (On Balance Volume)

Posted: Sat Apr 22, 2017 8:49 pm
by mladen
ashetty033 wrote: Thu Apr 20, 2017 4:32 am Hi,

Someone please help in creating indicators for the following conditions:

1. When the OBV value goes above its last/previous 15min.( previous 15 bars of the selected TF) high, shows a green histo and changes colour to red when it goes below its last 15min.low

Same way for Price..
2. When the PRICEvalue goes above its last/previous 15min.( previous 15 bars of the selected TF) high, shows a green histo and changes colour to red when it goes below its last 15min.low

Combining OBV+Price..
3. Shows a green histo when both OBV+Price are above its last/previous 15min.( previous 15 bars of the selected TF) high and changes colour to red when it goes below its last 15min.low

Please provide an input option in indicator's settings so that the value can be changed to the desired number(say like 10, 30 in place of 15)..
So if 10 is entered.. indicator looks for previous 10mins/bars...

Basically this would be an indicator to lookout for breakout/breakdown of OBV/Price from its previous "n" mins/bars/period...

I kindly request the Programmers of this Wonderful Forum to hep me with this..

Thanks,
Did you use any similar indicators?
It sounds like a usual multi time frame indicator

Re: OBV (On Balance Volume)

Posted: Mon Apr 24, 2017 4:21 pm
by ashetty033
@mladen Thanks for your reply Sir..

I am using this concept in Amibroker...

Below I paste the code and images..

Code to show Breakout of Price, OBV and both combined..

Code: Select all

_SECTION_BEGIN("OBV Hi Lo");
Ob = OBV();	Hi = HHV(Ob,15);	Lo = LLV(Ob,15);
		HiP= HHV(H,15);		LoP= LLV(L,15);

B1 = Cross(Ob,Ref(Hi,-1));	S1 = Cross(Ref(Lo,-1),Ob);
B2 = Cross(C,Ref(HiP,-1));	S2 = Cross(Ref(LoP,-1),C);
B1 = ExRem(B1,S1);		S1 = ExRem(S1,B1);
B2 = ExRem(B1,S1);		S2 = ExRem(S2,B2);
UP1 = Flip(B1,S1);		DN1 = Flip(S1,B1);
UP2 = Flip(B2,S2);		DN2 = Flip(S2,B2);

B3 = UP1 AND UP2;		S3 = DN1 AND DN2;
B3 = ExRem(B3,S3);		S3 = ExRem(S3,B3);
UP3 = Flip(B3,S3);		DN3 = Flip(S3,B3);

Plot(8,"",IIf(UP3,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,-5,8);
Plot(4,"",IIf(UP2,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleNoLine|styleDots,0,200);
Plot(2,"",IIf(UP1,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleNoLine|styleDots,0,200);

// two lines to plot vertical lines on your chart marking the bar on which the ribbon flips color
Plot(IIf(B3,1,0),"",colorBlue,styleOwnScale|styleNoLabel|styleHistogram|styleDashed,0,1);
Plot(IIf(S3,1,0),"",colorRed, styleOwnScale|styleNoLabel|styleHistogram|styleDashed,0,1);

_SECTION_END();

[b]Code to show OBV &Price breakout ribbons for 15, 30 & 60 mins..[/b]
GraphXSpace=5;
_SECTION_BEGIN("On Balance Volume");
Ob  = OBV();		e36 = EMA(Ob,36);		e200 = EMA(Ob,200);
Plot(Ob,"",colorWhite,styleNoTitle|styleThick);
Plot(0,"",colorWhite,styleNoLabel|styleNoRescale|styleDashed,0,0,5,-5);
Plot(e200,"",colorBrightGreen,styleNoLabel|styleNoRescale);
Plot(e36, "",colorGold,styleNoLabel|styleNoRescale|styleDashed);
_SECTION_END();


_SECTION_BEGIN("OBV & Price Hi Lo Breaks");
Ob = OBV();
H15 = HHV(Ob,15);		L15 = LLV(Ob,15);		B1 = Cross(Ob,Ref(H15,-1));		S1 = Cross(Ref(L15,-1),Ob);
H30 = HHV(Ob,30);		L30 = LLV(Ob,30);		B2 = Cross(Ob,Ref(H30,-1));		S2 = Cross(Ref(L30,-1),Ob);
H60 = HHV(Ob,60);		L60 = LLV(Ob,60);		B3 = Cross(Ob,Ref(H60,-1));		S3 = Cross(Ref(L60,-1),Ob);

B1 = ExRem(B1,S1);	S1 = ExRem(S1,B1);	UP1 = Flip(B1,S1);	DN1 = Flip(S1,B1);
B2 = ExRem(B2,S2);	S2 = ExRem(S2,B2);	UP2 = Flip(B2,S2);	DN2 = Flip(S2,B2);
B3 = ExRem(B3,S3);	S3 = ExRem(S3,B3);	UP3 = Flip(B3,S3);	DN3 = Flip(S3,B3);

P15 = HHV(H,15);		Q15 = LLV(L,15);		X1 = Cross(C,Ref(P15,-1));		Y1 = Cross(Ref(Q15,-1),C);
P30 = HHV(H,30);		Q30 = LLV(L,30);		X2 = Cross(C,Ref(P30,-1));		Y2 = Cross(Ref(Q30,-1),C);
P60 = HHV(H,60);		Q60 = LLV(L,60);		X3 = Cross(C,Ref(P60,-1));		Y3 = Cross(Ref(Q60,-1),C);

X1 = ExRem(X1,Y1);	Y1 = ExRem(Y1,X1);	LG1 = Flip(X1,Y1);	SH1 = Flip(Y1,X1);
X2 = ExRem(X2,Y2);	Y2 = ExRem(Y2,X2);	LG2 = Flip(X2,Y2);	SH2 = Flip(Y2,X2);
X3 = ExRem(X3,Y3);	Y3 = ExRem(Y3,X3);	LG3 = Flip(X3,Y3);	SH3 = Flip(Y3,X3);

B15 = UP1 AND LG1;	S15 = DN1 AND SH1;
B30 = UP2 AND LG2;	S30 = DN2 AND SH2;
B60 = UP3 AND LG3;	S60 = DN3 AND SH3;

B15 = ExRem(B15,S15);	S15 = ExRem(S15,B15);	UP15 = Flip(B15,S15);	DN15 = Flip(S15,B15);
B30 = ExRem(B30,S30);	S30 = ExRem(S30,B30);	UP30 = Flip(B30,S30);	DN30 = Flip(S30,B30);
B60 = ExRem(B60,S60);	S60 = ExRem(S60,B60);	UP60 = Flip(B60,S60);	DN60 = Flip(S60,B60);

Plot(30,"",IIf(UP15,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);
Plot(20,"",IIf(UP30,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);
Plot(10,"",IIf(UP60,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);

Title = "OBV & Price Breakout Ribbons, Topmost: 15 Minutes, Lowest: 60 Minutes & Middle 30 Minutes";
_SECTION_END();
This concept of OBV Breakout was provided by a person named Varun Kochhar in one of our Indian trading forum...

Thanks,

Re: OBV (On Balance Volume)

Posted: Mon Apr 24, 2017 4:49 pm
by mladen
ashetty033 wrote: Mon Apr 24, 2017 4:21 pm @mladen Thanks for your reply Sir..

I am using this concept in Amibroker...

Below I paste the code and images..

Code to show Breakout of Price, OBV and both combined..
_SECTION_BEGIN("OBV Hi Lo");
Ob = OBV(); Hi = HHV(Ob,15); Lo = LLV(Ob,15);
HiP= HHV(H,15); LoP= LLV(L,15);

B1 = Cross(Ob,Ref(Hi,-1)); S1 = Cross(Ref(Lo,-1),Ob);
B2 = Cross(C,Ref(HiP,-1)); S2 = Cross(Ref(LoP,-1),C);
B1 = ExRem(B1,S1); S1 = ExRem(S1,B1);
B2 = ExRem(B1,S1); S2 = ExRem(S2,B2);
UP1 = Flip(B1,S1); DN1 = Flip(S1,B1);
UP2 = Flip(B2,S2); DN2 = Flip(S2,B2);

B3 = UP1 AND UP2; S3 = DN1 AND DN2;
B3 = ExRem(B3,S3); S3 = ExRem(S3,B3);
UP3 = Flip(B3,S3); DN3 = Flip(S3,B3);

Plot(8,"",IIf(UP3,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,-5,8);
Plot(4,"",IIf(UP2,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleNoLine|styleDots,0,200);
Plot(2,"",IIf(UP1,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleNoLine|styleDots,0,200);

// two lines to plot vertical lines on your chart marking the bar on which the ribbon flips color
Plot(IIf(B3,1,0),"",colorBlue,styleOwnScale|styleNoLabel|styleHistogram|styleDashed,0,1);
Plot(IIf(S3,1,0),"",colorRed, styleOwnScale|styleNoLabel|styleHistogram|styleDashed,0,1);

_SECTION_END();

Code to show OBV &Price breakout ribbons for 15, 30 & 60 mins..
GraphXSpace=5;
_SECTION_BEGIN("On Balance Volume");
Ob = OBV(); e36 = EMA(Ob,36); e200 = EMA(Ob,200);
Plot(Ob,"",colorWhite,styleNoTitle|styleThick);
Plot(0,"",colorWhite,styleNoLabel|styleNoRescale|styleDashed,0,0,5,-5);
Plot(e200,"",colorBrightGreen,styleNoLabel|styleNoRescale);
Plot(e36, "",colorGold,styleNoLabel|styleNoRescale|styleDashed);
_SECTION_END();


_SECTION_BEGIN("OBV & Price Hi Lo Breaks");
Ob = OBV();
H15 = HHV(Ob,15); L15 = LLV(Ob,15); B1 = Cross(Ob,Ref(H15,-1)); S1 = Cross(Ref(L15,-1),Ob);
H30 = HHV(Ob,30); L30 = LLV(Ob,30); B2 = Cross(Ob,Ref(H30,-1)); S2 = Cross(Ref(L30,-1),Ob);
H60 = HHV(Ob,60); L60 = LLV(Ob,60); B3 = Cross(Ob,Ref(H60,-1)); S3 = Cross(Ref(L60,-1),Ob);

B1 = ExRem(B1,S1); S1 = ExRem(S1,B1); UP1 = Flip(B1,S1); DN1 = Flip(S1,B1);
B2 = ExRem(B2,S2); S2 = ExRem(S2,B2); UP2 = Flip(B2,S2); DN2 = Flip(S2,B2);
B3 = ExRem(B3,S3); S3 = ExRem(S3,B3); UP3 = Flip(B3,S3); DN3 = Flip(S3,B3);

P15 = HHV(H,15); Q15 = LLV(L,15); X1 = Cross(C,Ref(P15,-1)); Y1 = Cross(Ref(Q15,-1),C);
P30 = HHV(H,30); Q30 = LLV(L,30); X2 = Cross(C,Ref(P30,-1)); Y2 = Cross(Ref(Q30,-1),C);
P60 = HHV(H,60); Q60 = LLV(L,60); X3 = Cross(C,Ref(P60,-1)); Y3 = Cross(Ref(Q60,-1),C);

X1 = ExRem(X1,Y1); Y1 = ExRem(Y1,X1); LG1 = Flip(X1,Y1); SH1 = Flip(Y1,X1);
X2 = ExRem(X2,Y2); Y2 = ExRem(Y2,X2); LG2 = Flip(X2,Y2); SH2 = Flip(Y2,X2);
X3 = ExRem(X3,Y3); Y3 = ExRem(Y3,X3); LG3 = Flip(X3,Y3); SH3 = Flip(Y3,X3);

B15 = UP1 AND LG1; S15 = DN1 AND SH1;
B30 = UP2 AND LG2; S30 = DN2 AND SH2;
B60 = UP3 AND LG3; S60 = DN3 AND SH3;

B15 = ExRem(B15,S15); S15 = ExRem(S15,B15); UP15 = Flip(B15,S15); DN15 = Flip(S15,B15);
B30 = ExRem(B30,S30); S30 = ExRem(S30,B30); UP30 = Flip(B30,S30); DN30 = Flip(S30,B30);
B60 = ExRem(B60,S60); S60 = ExRem(S60,B60); UP60 = Flip(B60,S60); DN60 = Flip(S60,B60);

Plot(30,"",IIf(UP15,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);
Plot(20,"",IIf(UP30,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);
Plot(10,"",IIf(UP60,colorBlue,colorRed),styleOwnScale|styleNoLabel|styleThick,0,200,0,0,3);

Title = "OBV & Price Breakout Ribbons, Topmost: 15 Minutes, Lowest: 60 Minutes & Middle 30 Minutes";
_SECTION_END();

This concept of OBV Breakout was provided by a person named Varun Kochhar in one of our Indian trading forum...

Thanks,
Will check to see if it is different from the mt OBV indicator we are using

Re: OBV (On Balance Volume)

Posted: Mon Apr 24, 2017 6:00 pm
by ashetty033
mladen wrote: Mon Apr 24, 2017 4:49 pm Will check to see if it is different from the mt OBV indicator we are using
Ok Sir...
Can this concept/rules be coded for MT4 Sir??

Thanks,

Re: OBV (On Balance Volume)

Posted: Mon Apr 24, 2017 6:03 pm
by mladen
ashetty033 wrote: Mon Apr 24, 2017 6:00 pm Ok Sir...
Can this concept/rules be coded for MT4 Sir??

Thanks,
I don't know till I check - and cross platform checking usually takes some time :roll:

Re: OBV (On Balance Volume)

Posted: Thu Apr 27, 2017 6:02 pm
by ashetty033
@mladen Sir,

Firstly I apologize for disturbing you and for my impatience to wait for your reply.. I know you have a very tight busy schedule.. I request you to Please help me with my above mentioned request.. It would help me in my trading..

Thanks,

Re: OBV (On Balance Volume)

Posted: Tue May 02, 2017 6:43 pm
by ashetty033
Here is Gann HiLo indicator..
Can same be done for OBV i.e., OBV HiLo Histo indicator?

Re: OBV (On Balance Volume)

Posted: Sun May 07, 2017 2:04 am
by mrtools
Ashetty033, this isn't the same as what your looking for, but it's OBV based so posting it here. This uses a cross of a OBV and it's moving average to color the histogram.