Stock Portfolio Organizer
The ultimate porfolio management solution.
Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
MA cross BBands and stop(mod) for Amibroker (AFL)
Copy & Paste Friendly
Back
_SECTION_BEGIN("Price Chart"); bgTop = ParamColor("BgTop", colorBlack); bgBot = ParamColor("BgBottom", colorBlack); SetChartBkGradientFill( bgTop ,bgBot, colorLightGrey); pStyle = ParamList("Price Style", "Candle|Solid Candle|Bar|Line|Heikin-Ashi",2); cBull = ParamColor("Price Bull", colorLime); CBear = ParamColor("Price Bear", colorRed); cLine = ParamColor("Price Line", colorWhite); _N(Title = StrFormat("{{NAME}}- {{INTERVAL}} {{DATE}} O= %g, H= %g, L= %g, C= %g (%.1f%%) V= " +WriteVal( V, 1.0 ) +"\n{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); SetChartOptions(0,chartShowArrows|chartShowDates); ThisStyle = styleCandle; ThisTitle = ""; _O=O; _C=C; _H=H; _L=L; ThisColor = IIf( _C>_O, cBull, IIf(_C<_O, CBear, CLine)); switch (pStyle ) { case "Solid Candle": SetBarFillColor( ThisColor ); break; case "Bar": ThisStyle = styleBar; break; case "Line": ThisStyle = styleLine; ThisColor = cLine; break; case "Heikin-Ashi": _C = (O+H+L+C)/4; _O = AMA( Ref( _C, -1 ), 0.5 ); _H = Max( H, Max( _C, _O ) ); _L = Min( L, Min( _C, _O ) ); ThisColor = IIf(_C >= _O,CBull, CBear); SetBarFillColor( ThisColor ); ThisColor = IIf(_C >= _O,cLine, cLine); ThisTitle = "Heikin-Ashi"; break; default: SetBarFillColor( ThisColor ); ThisColor = cLine; break; } PlotOHLC( _O, _H, _L, _C, ThisTitle, ThisColor, ThisStyle); GraphXSpace = 8; _SECTION_END(); _SECTION_BEGIN("BandStop"); /* Done by Rajandran R */ /* Author of www.marketcalls.in */ // BBands_Stop_v1.mq4 by igorad2004@list.ru // translation in Amibroker AFL, E.M.Pottasch, 2011 // Modified By KelvinHand Length=Param("Length",20, 2); // Bollinger Bands Period Deviation=Param("Deviation",2); // Deviation was 2 MoneyRisk=Param("Money Risk", 1); LineStyle=ParamToggle("Display line mode", "No|Yes", 1); // Display line mode: 0-no,1-yes cUpTrendLine = ParamColor("UpTrendLine", ColorRGB(65,105,225)); cDnTrendLine = ParamColor("DownTrendLine", colorRed); // Offset Factor TurnedUp=Nz(StaticVarGet("TurnedUp")); TurnedDown=Nz(StaticVarGet("TurnedDown")); SoundON = ParamToggle("Sound","Off|On",1); procedure CalcTrend_proc(bbtop,bbbot,Length,MoneyRisk,SoundON,TurnedUp,TurnedDown) { global UpTrendLine; global DownTrendLine; global smax; global smin; UpTrendLine=Null; DownTrendLine=Null; smax=Null; smin=Null; trend=0; for (i=Length+1; i<BarCount; i++) { smax[i]=bbtop[i]; smin[i]=bbbot[i]; if (C[i]>smax[i-1]) trend=1; if (C[i]<smin[i-1]) trend=-1; if(trend>0 && smin[i]<smin[i-1]) smin[i]=smin[i-1]; if(trend<0 && smax[i]>smax[i-1]) smax[i]=smax[i-1]; bsmax[i]=smax[i]+0.5*(MoneyRisk-1)*(smax[i]-smin[i]); bsmin[i]=smin[i]-0.5*(MoneyRisk-1)*(smax[i]-smin[i]); if(trend>0 && bsmin[i]<bsmin[i-1]) bsmin[i]=bsmin[i-1]; if(trend<0 && bsmax[i]>bsmax[i-1]) bsmax[i]=bsmax[i-1]; if (trend>0) { UpTrendLine[i]=bsmin[i]; if (SoundON==True && !TurnedUp && i==BarCount-1 && IsEmpty(UpTrendLine[i-1])) { Say("Bollinger Bands going Up"); TurnedUp=StaticVarSet("TurnedUp",1); TurnedDown=StaticVarSet("TurnedDown",0); } } if (trend<0) { DownTrendLine[i]=bsmax[i]; if (SoundON==True && !TurnedDown && i==BarCount-1 && IsEmpty(DownTrendLine[i-1])) { Say("Bollinger Bands going Down"); TurnedUp=StaticVarSet("TurnedUp",0); TurnedDown=StaticVarSet("TurnedDown",1); } } //if (trend<0) } //for } //procedure bbtop=BBandTop(C,Length,Deviation); bbbot=BBandBot(C,Length,Deviation); Buy = Cross (C,BBandTop(C,Length,Deviation )); Sell = Cross (C,HHV( C - 2.8 * ATR(10), 15 )); TrailStop = HHV( C - 2.8 * ATR(30), 15 ); /* plot price chart and stops */ Plot( TrailStop, "Trailing stop", colorOrange, styleThick | styleLine ); CalcTrend_proc(bbtop,bbbot,Length,MoneyRisk,SoundON,TurnedUp,TurnedDown); UpTrendSigNal=UpTrendLine AND IsEmpty(Ref(UpTrendLine,-1)); DownTrendSigNal=DownTrendLine AND IsEmpty(Ref(DownTrendLine,-1)); DisplayStyle = styleNoLabel|styleDots|styleNoTitle; if(LineStyle == 0) DisplayStyle |= styleNoLine; Plot(UpTrendLine,"UPTRENDLINE",cUpTrendLine,DisplayStyle); Plot(DownTrendLine,"DOWNTRENDLINE",cDnTrendLine,DisplayStyle) ; PlotShapes(IIf(UpTrendSignal,shapeCircle,shapeNone),cUpTrendLine,0,bbbot,0); PlotShapes(IIf(DownTrendSignal,shapeCircle,shapeNone),cDnTrendLine,0,bbtop,0); _SECTION_END(); _SECTION_BEGIN("Wave Channel"); cOutLine = ParamColor("Outer Line", colorWhite); cMidLine = ParamColor("Mid Line", colorGrey40); Plot( MA(C, 34), "", cMidLine, styleNoLabel); Plot( MA(H, 34), "", cOutLine, styleThick|styleNoLabel); Plot( MA(L, 34), "", cOutLine, styleThick|styleNoLabel); _SECTION_END(); _SECTION_BEGIN("WMA Rainbow"); cOutLine = ParamColor("Outline", colorBlue); cInnerLine = ParamColor("Innerline", colorDarkBlue); Plot( WMA(C, 2), "", cOutLine, styleThick|styleNoLabel); Plot( WMA(C, 8), "", cOutLine, styleThick|styleNoLabel); Plot( WMA(C, 3), "", cInnerLine, styleNoLabel); Plot( WMA(C, 4), "", cInnerLine, styleNoLabel); Plot( WMA(C, 5), "", cInnerLine, styleNoLabel); Plot( WMA(C, 6), "", cInnerLine, styleNoLabel); Plot( WMA(C, 7), "", cInnerLine, styleNoLabel); SetOption("InitialEquity", 100000 ); SetTradeDelays(1,1,1,1); RoundLotSize = 1; posqty = Optimize("PosQty", 5, 4, 8, 1 ); PositionSize = -100/posqty; PositionScore = 100-RSI(); // prefer stocks that have low RSI; PosQty = 10; SetOption("MaxOpenPositions", PosQty ); PositionSize = -100/PosQty; SetOption("futuresmode",False); //tryb futures wylaczony SetOption("Minposvalue",5400); //min pozycja za kwote 1400 ze wzgledu na prowizje SetOption("commissionmode",1); //rodzaj prowizji(procentowy) SetOption("commissionamount",0.39); //wartosc prowizji _SECTION_END();