Volume Weighted MACD – Amibroker AFL

Volume Weighted MACD

The Volume Weighted MACD Amibroker AFL is a modified version of MACD study. It calculates volume-averaged Close price on two periods: longer and shorter ones.

Volume Weighted MACD is a statistical measure using the volume to define the period of the moving average. It incorporates volume information in a natural and logical way.

Formula

_SECTION_BEGIN("BACKGROUD LTRS");
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetOverlayMode(1);
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor( ParamColor("Text Color", ColorHSB( 42, 42, 42 ) ));
GfxSetBkMode(0); // transparent
GfxSelectFont("Tahoma", Status("pxheight")/12);
GfxTextOut( "PRASAD ANALYTICS ©", Status("pxwidth")/2, Status("pxheight")/14);
GfxSelectFont("Tahoma", Status("pxheight")/9 );
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/4.1 );
GfxSelectFont("Arial Narrow", Status("pxheight")/28 );
GfxTextOut( "prasad9rao@gmail.com", Status("pxwidth")/2, Status("pxheight")/1.5);
GfxSelectFont("arial narrow", Status("pxheight")/27 );
GfxTextOut( "Dedicated to MY FATHER : BALKRISHNA RAO", Status("pxwidth")/2, Status("pxheight")/1.15);
_SECTION_END();

k = (GetPerformanceCounter()/100)%256; 
printf("GetPerformance Counter %g",k);
GfxSelectFont("Arial Narrow", 10,700 ); 
GfxSetBkMode(1); 
GfxSetTextColor(colorYellow); 
//GfxTextOut("Dedicated to the loving memory of MY FATHER",100+k ,26); 
RequestTimedRefresh(1); 
_SECTION_END();

PeriodS = Param("Short period", 12, 1, 500 ); 
PeriodL = Param("Long period", 26, 2, 501 ); 
PeriodSig = Param("Smoothing period", 9, 1, 200 ); 
LongMA = EMA( V * C, PeriodL ) / EMA( V, PeriodL ); 
ShortMA = EMA( V * C, PeriodS ) / EMA( V, PeriodS ); 
VMACD = ShortMA - LongMA; 
SignalLine = EMA( VMACD, PeriodSig ); 
HIST = VMACD-SignalLine;
//Uncomment two lines below to see also MACD and signal line
Plot( VMACD, "Vol-weighted MACD", colorDarkRed ); 
Plot( SignalLine, "Vol-weighted Signal", colorWhite); 
Plot( VMACD-SignalLine, "VMACD Histogram", colorGold, styleHistogram ); 
RATEADOFMACDCHANGE = (HIST - Ref(HIST,-1)) ;

GfxSetTextAlign( TA_left = 0);
GfxSelectFont("Tahoma", 11, 700 ); 
GfxSetTextColor(ColorRGB(209,191,255)); 
GfxTextOut("PRASAD ANALYTICS - VWMACD",07, 0); 

GfxSetTextAlign( TA_LEFT = 0 );
GfxSelectFont("Tahoma", 11, 700 ); 
GfxSetTextColor(ColorRGB(255,180,61)); 
GfxTextOut(Name()+ "   " + Date(),07,30); 
GfxSetTextColor(ColorRGB(109,101,255)); 
GfxTextOut("VWMACD["+PeriodS+" ]"+"["+PeriodL+"]" + "["+PeriodSig+"]",07, 14); 
GfxSetTextColor(ColorRGB(251,194,255)); 
GfxTextOut("Signal =" + NumToStr(SignalLine,1.2),255, 0); 
GfxSetTextColor(ColorRGB(251,194,255)); 
GfxTextOut("VMACD =" + NumToStr(VMACD,1.2),375, 0); 
GfxSetTextColor(ColorRGB(251,194,255)); 
GfxTextOut("Hist =" + NumToStr(VMACD-SignalLine,1.2),500, 0); 
GfxSetTextColor(ColorRGB(251,194,255)); 
GfxTextOut("rATE OF cHANGE =" + NumToStr(RATEADOFMACDCHANGE,1.2),650, 0); 

Title = " ";

Add Comment