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 ....
AMA System by Karthikmarar for Amibroker (AFL)
Rating:
3 / 5 (Votes 2)
Tags:
trading system, amibroker
- Two adjustable parameter “Buy sensitivity” and “Buy Finetune” provided to adjust entry points.
- Two adjustable parameter “Sell sensitivity” and “Sell Finetune” provided to adjust Exit points.
Similar Indicators / Formulas
EMA crossover
Submitted
by Ketan-0 almost 14 years ago
Kase Peak Osc. V2 batu
Submitted
by batu1453 over 10 years ago
Kase CD V2batu
Submitted
by batu1453 over 10 years ago
Ichimoku
Submitted
by prashantrdx over 10 years ago
Adaptive Price Zone (APZ)
Submitted
by AndrewThomas almost 14 years ago
LANDIS Modified
Submitted
by isfandi almost 14 years ago
Indicator / Formula
Copy & Paste Friendly
// AMA System by Karthikmarar // Two adjustable parameter "Buy sensitivity" and "Buy Finetune" provided to adjust entry points. // Two adjustable parameter "Sell sensitivity" and "Sell Finetune" provided to adjust Exit points. _SECTION_BEGIN("KAMA System"); SetChartOptions(0,chartShowArrows|chartShowDates); Title = ("KAMA SYSTEM - " + Name()+" " + Date() +" "+Interval(2) +" "+ EncodeColor(colorLime)+",Open "+Open +" ,High "+H+" ,Low "+L+" ,Close "+C+" "+"{{VALUES}}"); //{{VALUES}}"+ O+ H+ L+C); //_N(Title =StrFormat("{{Name}} - {{Interval}} {{Date}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); // Buy adjustments bs=Param("BUY Sensitivity",3,2,20,1); bf=Param("BUY Finetune",2,0.1,20,0.1); // Sell Adjustments ss=Param("SELL Sensitivity",3,2,20,1); sf=Param("SELL Finetune",1,0.1,20,0.1); //stock selection parameters MyCL = Param( "CL", 10, 10, 100, 10 ); MyVK = Param( "VK", 30, 10, 100, 10 ); MyTL = Param( "TL", 300, 100, 1000, 100 ); //stock selection //TLM = EMA(C*V/100000,100) ; //include = C> MyCL AND V/1000> MyVK AND C*V/100000 > MyTL AND TLM > 0.333 * MyTL ; // common fast = 2/(2+1); slow = 2/(30+1); //BUY part dirb=abs(Close-Ref(Close,-bs)); volb=Sum(abs(Close-Ref(Close,-1)),bs); ERb=dirb/volb; scb =( ERb*(fast-slow)+slow)^2; xb = AMA( C, scb ); flb=bf*StDev(xb-Ref(xb,-1),20); j=xb-Ref(xb,-3); //SELL part dirs=abs(Close-Ref(Close,-ss)); vols=Sum(abs(Close-Ref(Close,-1)),ss); ERs=dirs/vols; scs =( ERs*(fast-slow)+slow)^2; xs = AMA( C, scs ); fls=sf*StDev(xs-Ref(xs,-1),20); k=Ref(Xs,-3)-Xs; Buy=Cross(j,flb) ; Sell=Cross(k,fls); mycolor=IIf(C>xb,colorLime,colorRed); Plot( C, "Close", mycolor,styleNoTitle | styleBar|styleThick ); Plot(xb,"KAMA-BUY",colorYellow,1); Plot(xs,"KAMA-SELL",colorOrange,1); Buy = ExRem(Buy,Sell); Sell = ExRem(Sell,Buy); shape = Buy * shapeUpArrow +Sell * shapeDownArrow ; PlotShapes( shape, IIf( Buy, colorGreen, colorYellow ),0, IIf( Buy, Low, High ) ); GraphXSpace = 5; dist = 1.5*ATR(20); for( i = 0; i < BarCount; i++ ) { if( Buy[i] ) PlotText( "Buy\n@" + C[ i ], i, L[ i ]-dist[i], colorLime ); if( Sell[i] ) PlotText( "sell\n@" + C[ i ], i, L[ i ]+dist[i], colorYellow ); } Filter= Buy OR Sell; PositionScore=100/C; PositionSize = - 20; SetBarsRequired(10000, 10000); SetFormulaName("KAMA System"); _SECTION_END(); _SECTION_BEGIN("IIR2"); // IIR2.afl // // Documentation to describe what the function does. // Second order smoother // the function statement function IIR2( input, f0, f1, f2 ) // the function body { result[ 0 ] = input[ 0 ]; result[ 1 ] = input[ 1 ]; for( i = 2; i < BarCount; i++ ) { result[i] = f0 * input[i] + f1 * result[i-1] + f2 * result[i-2]; } // the function returns a single value and exits. return result; } // The routine that calls the function. SmoothedClose = IIR2(Close, 0.2, 1.4, -0.6 ); //Plot( Close, "Price", 2, styleCandle ); Plot( SmoothedClose, "function example", colorRed ); //Figure 8.1 IIR2 _SECTION_END(); _SECTION_BEGIN("GSMA"); SetBarsRequired(100000,0); PI = 3.1415926; function jIIR2( input, f0, f1, f2 ) { result[ 0 ] = input[ 0 ]; result[ 1 ] = input[ 1 ]; for( i = 2; i < BarCount; i++ ) { result[ i ] = f0 * input[ i ] + f1 * result[ i - 1 ] + f2 * result[ i - 2 ]; } return result; } function GSMA( input, Period ) { N = 0; an = 2 * PI / Period; c0 = b0 = 1; c1 = b1 = b2 = a1 = a2 = gamma1 = 0; beta1 = 2.415 * ( 1- cos( an ) ); alpha = -beta1 + sqrt( beta1 ^ 2 + 2 * beta1 ); alpha1 = ( cos( an ) + sin( an ) - 1 )/cos( an ); { fo = alpha ^ 2; f1 = 2 * ( 1- alpha ); f2 = -( 1 - alpha )*( 1 - alpha ); } return jIIR2( input, fo,f1,f2); } period=Param("period",13,1,40,1); //Plot( Close, "Price", colorBlack, styleCandle ); Plot( GSMA( C,period), "GSMA", colorLime ); // Linear Regression Line with 2 Standard Deviation Channels Plotted Above and Below // Written by Patrick Hargus, with critical hints from Marcin Gorzynski, Amibroker.com Technical Support // Designed for use with AB 4.63 beta and above, using drag and drop feature. // Permits plotting a linear regression line of any price field available on the chart for a period determined by the user. // 2 Channels, based on a standard deviation each determined by the user, are plotted above and below the linear regression line. // A look back feature is also provided for examining how the indicator would have appeared on a chart X periods in the past. P = ParamField("Price field",-1); Daysback = Param("Period for Liner Regression Line",21,1,240,1); shift = Param("Look back period",0,0,240,1); // =============================== Math Formula ============================================================= x = Cum(1); lastx = LastValue( x ) - shift; aa = LastValue( Ref(LinRegIntercept( p, Daysback), -shift) ); bb = LastValue( Ref(LinRegSlope( p, Daysback ), -shift) ); y = Aa + bb * ( x - (Lastx - DaysBack +1 ) ); // ==================Plot the Linear Regression Line ========================================================== LRColor = ParamColor("LR Color", colorCycle ); LRStyle = ParamStyle("LR Style"); LRLine = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y, Null ); Plot( LRLine , "LinReg", LRCOLOR, LRSTYLE ); // styleDots ); // ========================== Plot 1st SD Channel =============================================================== SDP = Param("Standard Deviation", 1.5, 0, 6, 0.1); SD = SDP/2; width = LastValue( Ref(SD*StDev(p, Daysback),-shift) ); // THIS IS WHERE THE WIDTH OF THE CHANELS IS SET SDU = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width , Null ) ; SDL = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width , Null ) ; SDColor = ParamColor("SD Color", colorCycle ); SDStyle = ParamStyle("SD Style"); Plot( SDU , "Upper Lin Reg", SDColor,SDStyle ); Plot( SDL , "Lower Lin Reg", SDColor,SDStyle ); // ========================== Plot 2d SD Channel =============================================================== SDP2 = Param("2d Standard Deviation", 2.0, 0, 6, 0.1); SD2 = SDP2/2; width2 = LastValue( Ref(SD2*StDev(p, Daysback),-shift) ); // THIS IS WHERE THE WIDTH OF THE CHANELS IS SET SDU2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width2 , Null ) ; SDL2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width2 , Null ) ; SDColor2 = ParamColor("2 SD Color", colorCycle ); SDStyle2 = ParamStyle("2 SD Style"); Plot( SDU2 , "Upper Lin Reg", SDColor2,SDStyle2 ); Plot( SDL2 , "Lower Lin Reg", SDColor2,SDStyle2 ); // ============================ End Indicator Code ==============================================================
0 comments
Leave Comment
Please login here to leave a comment.
Back