Below is the coding of VOLUME PIVOT POCKETS for Daily Timeframe coded in AMIBROKER FORMULA LANGUAGE.
.
_SECTION_BEGIN("Pocket Pivot Volume");
VolumeMA = 50;
LookBack = Param( "LookBack", 10, 9, 15, 1 ); // Look back periods
RedCandle = Close < Open;
GreenCandle = Close > Open;
RedVolume = IIf( RedCandle, Volume, 0 );
TopRedV = HHV( RedVolume, LookBack );
RevPP = LLV(Volume, LookBack);
PPBar = IIf( Volume > TopRedV AND Close > Open, True, False );
RedBar = IIf( Volume > MA(Volume, VolumeMA) AND RedCandle, True, False );
GreenBar = IIf( Volume > MA(Volume, VolumeMA) AND GreenCandle, True, False );
OrangeBar = IIf(Volume <= RevPP, True, False);
VolumeColor = IIf(PPBar, colorBlue, IIf(RedBar, colorRed,IIf(GreenBar, colorGreen, IIf(OrangeBar, colorOrange,colorGrey50))));
Plot (Volume, _DEFAULT_NAME(),VolumeColor, styleHistogram);
_SECTION_END();
_SECTION_BEGIN( "MA" );
P = ParamField( "Price field", -1 );
Periods = Param( "Periods", 10, 2, 50, 1, 10 );
Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle( "Style" ) );
_SECTION_END();
_SECTION_BEGIN( "MA1" );
P = ParamField( "Price field", -1 );
Periods = Param( "Periods", 40, 2, 100, 1, 10 );
Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle( "Style" ) );
_SECTION_END();
VolMul = 50;
_SECTION_BEGIN( "UpDownRatio" );
VolDays = 30;
RedCandle = Close < Ref( Close, -1 );
RedVolume = IIf( RedCandle, Volume, 0 );
GreenCandle = Close > Ref( Close, -1 );
GreenVolume = IIf( GreenCandle, Volume, 0 );
RedVolSum = Sum( RedVolume, VolDays );
GreenVolSum = Sum( GreenVolume, VolDays );
UpDownRatio = GreenVolSum / RedVolSum;
_SECTION_END();
_SECTION_BEGIN( "Highest Volume" );
HVE = Highest(Volume);
HV1Y = HHV(Volume, 252);
HV1YClose = ValueWhen(HHV(Volume, 252), Close);
_SECTION_END();
Hope this post has been helpful.
Leverage your knowledge to create wealth.
Comments on value additions would be appreciable.
Stay Blessed and Illuminated.