Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
KTS - Moving Volume Weighted Average Price (MVWAP) 5x20 for Amibroker (AFL)
The Moving Volume Weighted Average Price (MVWAP) is a special type of price average indicator which takes into account volume; this provides a much more accurate snapshot of the average price.
This formula shows buy/sell signal based on the cross of a 5 day MVWAP and 20 day MVWAP. The formula also contains many other variables for different periods and conditions using the MVWAP indicator. Please see the code.
Screenshots
Indicator / Formula
_SECTION_BEGIN("Name");
GfxSetOverlayMode(1);
GfxSelectFont("Tahoma", Status("pxheight")/8 );
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor(colorRed);
GfxSetBkMode(0); // transparent
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/12 );
GfxSelectFont("Tahoma", Status("pxheight")/18 );
GfxSetTextColor(colorGrey40);
GfxTextOut( " Kulotskyman Trading ", Status("pxwidth")/2, Status("pxheight")/4 );
_SECTION_END();
_SECTION_BEGIN("MVWAP");
MVWAPAverage_TOGGLE = ParamToggle("MVWAP","Off|On",1);
MVWAP5 = MA(C*V,5)/ MA(V,5);
MVWAP20 = MA(C*V,20)/ MA(V,20);
MVWAP50 = MA(C*V,50)/ MA(V,50);
MVWAP100 = MA(C*V,100)/ MA(V,100);
MVWAP200 = MA(C*V,200)/ MA(V,200);
MVWAP250 = MA(C*V,250)/ MA(V,250);
MVWAPCross520 = MVWAP5>MVWAP20;
MVWAPCross520D = MVWAP5<MVWAP20;
MVWAPCross520B = Cross(MVWAP5,MVWAP20);
MVWAPCross520S = Cross(MVWAP20,MVWAP5);
MVWAPCross520Buybars = BarsSince(MVWAPCross520B);
MVWAPCross520Sellbars = BarsSince(MVWAPCross520S);
MVWAPCross520Since = IIf(MVWAPCross520,MVWAPCross520Buybars,MVWAPCross520Sellbars);
MVWAPCross520_Status = WriteIf(MVWAPCross520,"Bullish ",WriteIf(MVWAPCross520D,"Bearish ","N/A "));
MVWAPCross520_Color = IIf(MVWAPCross520,colorGreen,colorRed);
MVWAPCross2050 = MVWAP20>MVWAP50;
MVWAPCross2050D = MVWAP20<MVWAP50;
MVWAPCross2050B = Cross(MVWAP20,MVWAP50);
MVWAPCross2050S = Cross(MVWAP50,MVWAP20);
MVWAPCross2050Buybars = BarsSince(MVWAPCross2050B);
MVWAPCross2050Sellbars = BarsSince(MVWAPCross2050S);
MVWAPCross2050Since = IIf(MVWAPCross2050,MVWAPCross2050Buybars,MVWAPCross2050Sellbars);
MVWAPCross2050_Status = WriteIf(MVWAPCross2050,"Bullish ",WriteIf(MVWAPCross2050D,"Bearish ","N/A "));
MVWAPCross2050_Color = IIf(MVWAPCross2050,colorGreen,colorRed);
MVWAPCross50100 = MVWAP50>MVWAP100;
MVWAPCross50100D = MVWAP50<MVWAP100;
MVWAPCross50100B = Cross(MVWAP50,MVWAP100);
MVWAPCross50100S = Cross(MVWAP100,MVWAP50);
MVWAPCross50100Buybars = BarsSince(MVWAPCross50100B);
MVWAPCross50100Sellbars = BarsSince(MVWAPCross50100S);
MVWAPCross50100Since = IIf(MVWAPCross50100,MVWAPCross50100Buybars,MVWAPCross50100Sellbars);
MVWAPCross50100_Status = WriteIf(MVWAPCross50100,"Bullish ",WriteIf(MVWAPCross50100D,"Bearish ","N/A "));
MVWAPCross50100_Color = IIf(MVWAPCross50100,colorGreen,colorRed);
MVWAPCross50200 = MVWAP50>MVWAP200;
MVWAPCross50200D = MVWAP50<MVWAP200;
MVWAPCross50200B = Cross(MVWAP50,MVWAP200);
MVWAPCross50200S = Cross(MVWAP200,MVWAP50);
MVWAPCross50200Buybars = BarsSince(MVWAPCross50200B);
MVWAPCross50200Sellbars = BarsSince(MVWAPCross50200S);
MVWAPCross50200Since = IIf(MVWAPCross50200,MVWAPCross50200Buybars,MVWAPCross50200Sellbars);
MVWAPCross50200_Status = WriteIf(MVWAPCross50200,"Bullish ",WriteIf(MVWAPCross50200D,"Bearish ","N/A "));
MVWAPCross50200_Color = IIf(MVWAPCross50200,colorGreen,colorRed);
MVWAPCross50250 = MVWAP50>MVWAP250;
MVWAPCross50250D = MVWAP50<MVWAP250;
MVWAPCross50250B = Cross(MVWAP50,MVWAP250);
MVWAPCross50250S = Cross(MVWAP250,MVWAP50);
MVWAPCross50250Buybars = BarsSince(MVWAPCross50250B);
MVWAPCross50250Sellbars = BarsSince(MVWAPCross50250S);
MVWAPCross50250Since = IIf(MVWAPCross50250,MVWAPCross50250Buybars,MVWAPCross50250Sellbars);
MVWAPCross50250_Status = WriteIf(MVWAPCross50250,"Bullish ",WriteIf(MVWAPCross50250D,"Bearish ","N/A "));
MVWAPCross50250_Color = IIf(MVWAPCross50250,colorGreen,colorRed);
if(MVWAPAverage_TOGGLE==1)
{
Plot(MVWAP5,"MVWAP5",colorRed,styleThick);
Plot(MVWAP20,"MVWAP20",colorBlue,styleThick);
//Plot(MVWAP50,"MVWAP50",colorLime,styleThick);
Plot(MVWAP100,"MVWAP100",colorGold,styleThick);
//Plot(MVWAP200,"MVWAP200",colorTurquoise,styleThick);
//Plot(MVWAP250,"MVWAP250",colorPaleGreen,styleThick);
}
_SECTION_END();
Buy=MVWAPCross520B;
PlotShapes(shapeUpArrow*Buy,colorGreen);
Sell=MVWAPCross520S;
PlotShapes(shapeDownArrow*Sell,colorRed);3 comments
Leave Comment
Please login here to leave a comment.
Back
Thanx a lot brother
WELL done , thanx
So many times even mvwap5<mvwap20,
mvwap5 Crossed andclosed below mvwap20,
but it doesn’t give sell signal and continue to hold buy signal,
Why?
May i know the reason?