Quantcast
Channel: Traderji.com
Viewing all articles
Browse latest Browse all 10287

add exploration to AFL

$
0
0
please how to add exploration to the flowing AFL

(AddTextColumn)



Code:


//****************************************//
// Author: doji@chartreader.co.in
// Web: http://www.chartreader.co.in/
//****************************************//

_N(Title = StrFormat(EncodeColor( colorGold) + "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
SetChartOptions(0,chartShowArrows|chartShowDates);

// Background to suit my blog
SetChartBkColor(ColorRGB(23,23,23));

// Display line chart for tick data automatically
priceStyle = IIf( (Interval(0) == -900), styleLine, styleBar);

// Quick counting of bars by range selector
if (BeginValue(BarIndex()) != 0 AND EndValue(BarIndex()) != BarCount-1) {
range = EndValue(BarIndex())-BeginValue(BarIndex());
Title += StrFormat("\nRange Bars: %g", range);
}

CandleBorder = ParamColor("Candle Border Color", colorBlack );
UpCandleColor = ParamColor("Up Candle Color", colorGreen );
DownCandleColor = ParamColor("Down Candle Color", colorRed );

// set amibroker to display colored bars
Graph0BarColor = IIf( C > O,UpCandleColor ,DownCandleColor);

Plot( C, "Close", CandleBorder, styleNoTitle | ParamStyle("Style") | priceStyle );

//****************************************//
// Author: doji@chartreader.co.in
// Web: http://www.chartreader.co.in/
//****************************************//

_N(Title = StrFormat(EncodeColor( colorGold) + "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
SetChartOptions(0,chartShowArrows|chartShowDates);

// Background to suit my blog
SetChartBkColor(ColorRGB(23,23,23));

// Display line chart for tick data automatically
priceStyle = IIf( (Interval(0) == -900), styleLine, styleBar);

// Quick counting of bars by range selector
if (BeginValue(BarIndex()) != 0 AND EndValue(BarIndex()) != BarCount-1) {
range = EndValue(BarIndex())-BeginValue(BarIndex());
Title += StrFormat("\nRange Bars: %g", range);
}

CandleBorder = ParamColor("Candle Border Color", colorBlack );
UpCandleColor = ParamColor("Up Candle Color", colorGreen );
DownCandleColor = ParamColor("Down Candle Color", colorRed );

// set amibroker to display colored bars
Graph0BarColor = IIf( C > O,UpCandleColor ,DownCandleColor);

Plot( C, "Close", CandleBorder, styleNoTitle | ParamStyle("Style") | priceStyle );



///////////////////////////////////////////////////////////////////////////////
//        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);
        }
}


thank you


Viewing all articles
Browse latest Browse all 10287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>