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 ....
Gaan+Gap+Ema+Bull Harami for Amibroker (AFL)
Copy & Paste Friendly
Back
_SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); _SECTION_BEGIN("Graphics"); GrpPrm=Param("Graphic Space",4,-50,50); GraphXSpace=GrpPrm; _SECTION_END(); //====================================================================================== _SECTION_END(); Buy=Scolor=ParamColor( "Sup Color", colorBrown ); /////////////////////////////////////////////////////////////////////////////// // Gap Finder // AFL that plots that unfilled Gaps encountered within the last N bars. // Author : Adheer Pai (adheer@gmail.com) /////////////////////////////////////////////////////////////////////////////// // Input : The number of bars ago from where to start looking for gaps. // Default is 250 : So, by default we search for Gaps found in last 250 trading days ( 1 year ) period = Param("Lookback Period", 250, 15, 500); // If we do not have enough bars, adjust the period accordingly. if( BarCount - period - 1 < 0 ) period = BarCount - 2; bIsGapUp = ( L > Ref(H, -1) ); // Identify GapUp bars bIsGapDn = ( H < Ref(L, -1) ); // Identify GapDown bars // We are not interested in Gap Ups and Gap Downs before the Period e.g. before the last 250 bars. // So we clear the values for bars before the ones we are interested in. for( i = 0 ; i < (BarCount - 1 - period) ; i++ ) { bIsGapUp[i] = False; bIsGapDn[i] = False; } // Now plot GapUp bars with a Up-Triangle below its low. PlotShapes(IIf(bIsGapUp, shapeSmallUpTriangle, shapeNone), colorBlue, 0, L, -12 ); // Now plot GapDown bars with a Down-Triangle below its high. PlotShapes(IIf(bIsGapDn, shapeSmallDownTriangle, shapeNone), colorRed, 0, H ); // Now walk from the first bar (e.g 250 bars ago, to the current bar) for( i = (BarCount - period - 1) ; i <= (BarCount - 1) ; i++ ) { dUpper = 0.0; dLower = 0.0; bFilled = True; // Is the current bar a Gap-Up bar ? if( bIsGapUp[i] == True ) { // If yes, the store the Gap (Upper value) and Lower values. dUpper = L[i]; dLower = H[i-1]; bFilled = False; // Now walk till the current bar and see if the Gap values have been filled from Above. // I.e prices are falling and the gap is being falled. for( j = i+1; j <= (BarCount - 1) ; j++ ) { // Check whether the current low is lesser than the Gap high. If yes, the Gap // has been penetrated. if( L[j] < dUpper ) { dUpper = L[j]; // Determine whether the Gap has been fully penetrated - if yes, then the // Gap has been filled. if( dUpper <= dLower ) bFilled = True; } if( bFilled == True ) break; } } else if( bIsGapDn[i] == True ) { // Same logic as GapUp - except we check whether the Gap has been pierced from Below. // i.e Prices are rising and the Gap has been filled. dUpper = L[i-1]; dLower = H[i]; bFilled = False; for( j = i+1; j <= (BarCount - 1) ; j++ ) { if( H[j] > dLower ) { dLower = H[j]; if( dLower >= dUpper ) bFilled = True; } if( bFilled == True ) break; // Gap was filled, so move on to find the next gap. } } if( bFilled == False ) // Gap Not filled - so plot horizontal line at the Gap Level. { pLine = LineArray(i-1, dLower, BarCount-1,dLower, 1); Plot(pLine, "", colorRed, styleDashed); pLine = LineArray(i-1, dUpper, BarCount-1, dUpper, 1); Plot(pLine, "", colorBlue, styleDashed); } } /*Gann HiLo*/ Hld = IIf(C > Ref(MA(H, 3), -1), 1, IIf(C < Ref(MA(L, 3), -1), -1, 0)); Hlv = ValueWhen(Hld != 0, Hld, 1); Hilo = IIf(Hlv == -1, MA(H, 3), MA(L, 3)); Trigger = IIf(C>Hilo, colorGreen, colorRed); Plot(Hilo,"HiLo",Trigger,styleStaircase); tf = Param( "TF", 0, 0, 0, 0 ) ; tfs = tf * in1Minute ; TimeFrameSet( tfs ) ; GraphXSpace=5; SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); Plot( C, "Close", colorBlack , styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); O1=Ref(O,-1);H1=Ref(H,-1);L1=Ref(L,-1);C1=Ref(C,-1); O2=Ref(O,-2);H2=Ref(H,-2);L2=Ref(L,-2);C2=Ref(C,-2); O3=Ref(O,-3);H3=Ref(H,-3);L3=Ref(L,-3);C3=Ref(C,-3); BT=H2<H3 AND L2<L3 AND H1<H2 AND L1<L2; ST=H2>H3 AND L2>L3 AND H1>H2 AND L1>L2; LDB=C1>O1; LDS=C1<O1; BULLHarami= O>C1 AND O<O1 AND C<O1 AND C>C1; //AND BT AND LDS; BEARHarami= O<C1 AND O>O1 AND C>O1 AND C<C1; //AND ST AND LDB ; Buy=BULLHARAMI; Sell=BEARHARAMI; //Short=Sell=bear; //Cover=0; //Buy=ExRem(Buy,Sell);Sell=ExRem(Sell,Buy); //Short=ExRem(Short,Cover);Cover=ExRem(Cover,Short); PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L,Offset=-10); PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,H,Offset=-10); //PlotShapes(IIf(Short, shapeHollowDownArrow , shapeNone), colorRed); //PlotShapes(IIf(Cover, shapeHollowUpArrow , shapeNone), colorGreen); TimeFrameRestore(); _SECTION_BEGIN("EMA"); P = ParamField("Price field",-1); Periods = Param("Periods", 15, 2, 300, 1, 10 ); Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_END();