Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Double Weighted Moving Average for Amibroker (AFL)
This is Double Weighted Moving Average (DWMA), like DEMA
DWMA can be used for Hull Moving Average Cross Over Strategies, like how Jurik is using DWMA for Cross Overs
Screenshots
Indicator / Formula
////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Chart Settings"); OUTcolor = ParamColor("Outer Panel Color",ColorRGB(25, 25, 25)); IINUPcolor = ParamColor("Inner Panel Upper",ColorRGB(45, 45, 45)); INDNcolor = ParamColor("Inner Panel Lower",ColorRGB(45, 45, 45)); TitleColor = ParamColor("Title Color ",ColorRGB(25, 25, 25)); SetChartOptions(0,chartShowDates|chartShowArrows); stn= Param("Digit Length",10,1,40,1); td=1.2;//String Decimals TickSz = 0.05; GraphXSpace=10; _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Background Text"); C11=ParamColor("up panel",ColorRGB(25, 25, 25)); C12=ParamColor("dn panel",ColorRGB(25, 25, 25) ); C13=Param("fonts",20,10,50,1 ); C14=Param("left-right",2.1,1.0,5.0,0.1 ); C15=Param("up-down",8,1,30,1 ); Miny = Status("axisminy"); Maxy = Status("axismaxy"); lvb = Status("lastvisiblebar"); fvb = Status("firstvisiblebar"); pxwidth = Status("pxwidth"); pxheight = Status("pxheight"); GfxSetBkMode( 0 ); GfxSelectFont("Verdana", 12, 500, False, False, 0); GfxSetTextColor(ColorRGB(34, 34, 34)); GfxSetTextAlign( 6 ); pricechange=(C-Ref(C,-1))*100/Ref(C,-1); changeponit=C-Ref(C,-1); Vlp=Param("Volume lookback period",15,10,300,10); Vrg=MA(V,Vlp); St = StDev(Vrg,Vlp); Vp3 = Vrg + 3*st; Vp2 = Vrg + 2*st;; Vp1 = Vrg + 1*st;; Vn1 = Vrg -1*st; Vn2 = Vrg -2*st; x=Param("xposn",1,0,1000,1); y=Param("yposn",1,0,1000,1); GfxGradientRect( 1, 1, 2000, 60, ColorRGB(25, 25, 25), ColorRGB(25, 25, 25));GfxSetBkMode(0); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Name, Date & Time"); GfxSelectFont( "Verdana", 16, 600, False ); GfxSetTextColor( colorRGB(251,251,0)); GfxTextOut( Name(), x+150, y+10); GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor(colorRGB(255,255,255)); GfxTextOut( Date(), x+400, y+10 ); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Time Left"); function GetSecondNum() { Time = Now( 4 ); Seconds = int( Time % 100 ); Minutes = int( Time / 100 % 100 ); Hours = int( Time / 10000 % 100 ); SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds ); return SecondNum; } RequestTimedRefresh( 1 ); TimeFrame = Interval(); SecNumber = GetSecondNum(); Newperiod = SecNumber % TimeFrame == 0; SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame; SecsToGo = TimeFrame - SecsLeft; GfxSelectSolidBrush( ColorRGB(0,0,0)); GfxSelectPen( ColorRGB(0,0,0) , 3 ); if ( NewPeriod ) { GfxSelectSolidBrush( ColorRGB(0,0,0)); GfxSelectPen( colorRGB(0,0,0), 3 ); } GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( colorRGB(255, 119, 255) ); GfxTextOut( "Time Left:" +SecsToGo+"/" +NumToStr( TimeFrame, 1.0 ), x+650, y+10 ); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Current Market Price"); GfxSelectFont("Verdana", 18, 600, False ); GfxSetTextColor( colorRGB(161, 202, 241)); GfxTextOut("LTP:" +WriteVal(C,td), x+1200,y+35 ); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("O,H,L,C,V"); GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( ColorRGB(255,255,255) ); GfxTextOut( "Open:"+WriteVal(O,td), x+850, y+10 ); GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( ColorRGB(0,255,0) ); GfxTextOut( "High:"+WriteVal(H,td), x+1050, y+10 ); GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( colorRGB(255, 69, 0) ); GfxTextOut( "Low:"+WriteVal(L,td), x+1250, y+10 ); GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( colorRGB(255,255,0) ); GfxTextOut( "Close:"+WriteVal(C,td), x+1450, y+10 ); td1 = 1.0; //String Decimals GfxSelectFont( "Verdana", 14, 600, False ); GfxSetTextColor( colorRGB(255, 119, 255) ); GfxTextOut( "Vol:"+WriteVal(V,td1, stn), x+1650, y+10 ); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Heiken Ashi"); HaClose[0] = (Open[0]+High[0]+Low[0]+Close[0]) / 4; HaOpen[0] = (HaClose[0] + Open[0]) / 2; HaHigh[0] = Max( High[0], Max( HaClose[0], HaOpen[0] ) ); HaLow[0] = Min( Low[0], Min( HaClose[0], HaOpen[0] ) ); for (i=1; i<BarCount; i++) { HaClose[i] = (Open[i]+High[i]+Low[i]+Close[i]) / 4; Haopen[i] = (HaClose[i-1] + HaOpen[i-1]) / 2; // Here is the problem when using Arrays: Haopen always uses its own previous value HaHigh[i] = Max( High[i], Max( HaClose[i], HaOpen[i] ) ); Halow[i] = Min( Low[i], Min( HaClose[i], HaOpen[i] ) ); } range = 3; BarColor = IIf( PDI(range) > MDI(range), ColorRGB(222, 236, 255),ColorRGB(30, 144, 255)); PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, " " , BarColor, styleCandle|styleNoLabel, Null, Null, 0, 0, 3); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Price Line"); PriceLineColor=ColorRGB(161, 202, 241); Barsback = 500; FirstBar = BarCount - BarsBack; YY = IIf(BarIndex() >= Firstbar,EndValue(C),Null); Plot(YY,"Current Price",PriceLineColor, styleLine|styleNoLabel|styleThick, 2); side = 1; dist = 0; for( i = 0; i < BarCount; i++ ) if(i+side== BarCount) PlotText( "\n " + C[ i ] , i, YY[ i ]-dist, ColorRGB(255, 8, 0)); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Double Weighted Moving Averages"); AP = (HaLow+HaHigh)/2; // DWMA 9 function DWMA(price,periods) { e1=WMA(price,periods); e2=WMA(e1,Periods); DWMAi=2*e1-e2; return DWMAi; } MA1 = DWMA(AP, 9); Plot ( MA1, " ", ColorRGB(255, 0, 255) , styleNoLabel, Null, Null, 0 , 0, 2); // HMA 13 MA2 = HMA(AP, 13); Plot ( MA2, " ", ColorRGB(255, 255, 0) , styleNoLabel, Null, Null, 0 , 0, 2); _SECTION_END(); ////////////////////////////////////////////////////////////////// _SECTION_BEGIN("Mood"); BKswitch = ParamToggle("Mood","On,Off"); OUTcolor = ParamColor("Outer Panel Color",ColorRGB(25, 25, 25)); INUPcolor = ParamColor("Inner Panel Upper",ColorRGB(45, 45, 45)); INDNcolor = ParamColor("Inner Panel Lower",ColorRGB(45, 45, 45)); TitleColor = ParamColor("Title Color ",ColorRGB(25, 25, 25)); if (NOT BKswitch) { SetChartBkColor(OUTcolor); // color of outer border SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel } _SECTION_END(); //////////////////////////////////////////////////////////////////
1 comments
Leave Comment
Please login here to leave a comment.
Back
Have some issue.