kajal best afl trend reversal afl

kajal

Member
_SECTION_BEGIN("R2");
/* System Based on R2 Indiator - Karthikmarar
Indicator Adopted from Amibroker AFL Library */

/*To determine if the trend is statistically significant for a given x-period
linear regression line, Plot the r-squared indicator and refer to the following
table. This table shows the values of r-squared required for A 95% confidence
level at various time periods. If the r-squared value is less than the
critical values shown, you should assume that prices show no statistically
significant trend.

Number ofPeriods r-squaredCritical Value(95%confidence)
5 0.77
10 0.40
14 0.27
20 0.20
25 0.16
30 0.13
50 0.08
60 0.06
120 0.03
*/
Title = ("R2 SYSTEM - " + Name()+" " + Date() +" "+Interval(2) +" "+ EncodeColor(colorLime)+",Open "+Open +" ,High "+H+" ,Low "+L+" ,Close "+C+" "+"{{VALUES}}");
s1=Param("Filter Tune 1",0.5,0.1,1,0.1);
s2=Param("Filter Tune 2",2,1,3,0.5);
RPDS=ParamList("R2 Period", "20|25|14|5|10|30|50|60|120" ); /*for automatic adjustments to the r2 critical value line use one of
//the periods listed above*/
R2PDS=IIf(rpds=="5",5,IIf(rpds=="10",10,IIf(rpds=="14",14,IIf(rpds=="20",20,IIf(rpds=="25",25,IIf(rpds=="30",30,IIf(rpds=="50",50,IIf(rpds=="60",60,120))))))));

R2=Correlation(Cum( 1 ),C,r2pds)*Correlation(Cum( 1 ),C,r2pds);
slope=LinRegSlope(C,r2pds);

Crit=IIf(R2PDS==5,.77,IIf(R2PDS==10,.40,IIf(R2PDS==14,.27,IIf(R2PDS==20,.20,IIf(R2PDS==25,.16,IIf(R2PDS==30,.13,IIf(R2PDS==50,.08,IIf(R2PDS==60,.06,IIf(R2PDS==120,.03,0)))))))));
r2color=IIf(r2>(s2*Crit) AND slope>s1,colorLime,IIf(slope>0 AND r2<s2*Crit , colorPaleGreen,IIf(slope<0 AND r2<crit, colorPink,colorRed)));
// Buy sell condition
Buy=(Cross(slope,s1) AND r2>s2*Crit )OR (slope>s1 AND Cross(r2,(s2*Crit)));
Sell=Cross(0,slope) OR (Cross(Crit,r2) AND slope<0);
Short= Cross(r2,Crit) AND slope<-s1;
Cover= Cross(slope,0);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

PlotOHLC( Open, High, Low, Close, "", r2color, styleBar | styleThick );

shape = Buy * shapeUpArrow + Sell * shapeDownArrow + Short * shapeDownTriangle + Cover * shapeUpTriangle;

PlotShapes( shape, IIf( Buy, colorGreen, IIf(Sell,colorYellow,IIf(Cover,colorLightOrange,colorRed ))),0, IIf( Buy, Low, IIf(Sell,High,IIf(Cover,Low,High) ) ) );
GraphXSpace = 5;
dist = 1.5*ATR(10);

for( i = 0; i < BarCount; i++ )
{
if( Buy ) PlotText( "Buy\[email protected]" + C[ i ], i, L[ i ]-dist, colorGreen );
if( Sell ) PlotText( "Sell\[email protected]" + C[ i ], i, H[ i ]+dist, colorYellow);
if( Short ) PlotText( "Short\[email protected]" + C[ i ], i, H[ i ]+dist, colorRed);
if( Cover ) PlotText( "cover\[email protected]" + C[ i ], i, H[ i ]-dist, colorLightOrange);
}
_SECTION_END();

_SECTION_BEGIN("HH");
Q = Param( "% Change", 2, 0.1, 10, 0.1 );
Z = Zig( C , q ) ;
HH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( z, q, 1 ) > Peak( Z, q, 2 ) ) );
LH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( Z, q, 1 ) < Peak( Z, q, 2 ) ) );
HL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) > Trough( Z, q, 2 ) ) );
LL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) < Trough( Z, q, 2 ) ) );
GraphXSpace = 5;
dist = 0.5 * ATR( 20 );

for ( i = 0; i < BarCount; i++ )
{
if ( HH )
PlotText( "HH", i, H[ i ] + dist, colorRed );

if ( LH )
PlotText( "LH", i, H[ i ] + dist, colorRed );

if ( HL )
PlotText( "HL", i, L[ i ] - dist, colorBrightGreen );

if ( LL )
PlotText( "LL", i, L[ i ] - dist, colorBrightGreen );

}

Filter=HH OR HL OR LH OR LL;
_SECTION_END();

i have tested it best time frame to do trade is hourly and for long term daily hope u enjoy trading .....as reversal given suddenly pink candle change....:clapping::clapping::thumb:.....all the best friends

prabhsingh

Well-Known Member
Does it bring good results on EOD basis as well?

guptak03

Well-Known Member
please give backtested result also as i am having only 30 day data with me..

suri112000

Well-Known Member
Its showing lot of errors. Any help. My ami version 5.0

guptak03

Well-Known Member
Its showing lot of errors. Any help. My ami version 5.0
clink on the errors just fill the gaps it will start working ...i mean she has given space just remove the space

rkkarnani

Well-Known Member
_SECTION_BEGIN("R2");
/* System Based on R2 Indiator - Karthikmarar
Indicator Adopted from Amibroker AFL Library */

/*To determine if the trend is statistically significant for a given x-period
linear regression line, Plot the r-squared indicator and refer to the following
table. This table shows the values of r-squared required for A 95% confidence
level at various time periods. If the r-squared value is less than the
critical values shown, you should assume that prices show no statistically
significant trend.

Number ofPeriods r-squaredCritical Value(95%confidence)
5 0.77
10 0.40
14 0.27
20 0.20
25 0.16
30 0.13
50 0.08
60 0.06
120 0.03
*/
Title = ("R2 SYSTEM - " + Name()+" " + Date() +" "+Interval(2) +" "+ EncodeColor(colorLime)+",Open "+Open +" ,High "+H+" ,Low "+L+" ,Close "+C+" "+"{{VALUES}}");
s1=Param("Filter Tune 1",0.5,0.1,1,0.1);
s2=Param("Filter Tune 2",2,1,3,0.5);
RPDS=ParamList("R2 Period", "20|25|14|5|10|30|50|60|120" ); /*for automatic adjustments to the r2 critical value line use one of
//the periods listed above*/
R2PDS=IIf(rpds=="5",5,IIf(rpds=="10",10,IIf(rpds=="14",14,IIf(rpds=="20",20,IIf(rpds=="25",25,IIf(rpds=="30",30,IIf(rpds=="50",50,IIf(rpds=="60",60,120))))))));

R2=Correlation(Cum( 1 ),C,r2pds)*Correlation(Cum( 1 ),C,r2pds);
slope=LinRegSlope(C,r2pds);

Crit=IIf(R2PDS==5,.77,IIf(R2PDS==10,.40,IIf(R2PDS==14,.27,IIf(R2PDS==20,.20,IIf(R2PDS==25,.16,IIf(R2PDS==30,.13,IIf(R2PDS==50,.08,IIf(R2PDS==60,.06,IIf(R2PDS==120,.03,0)))))))));
r2color=IIf(r2>(s2*Crit) AND slope>s1,colorLime,IIf(slope>0 AND r2<s2*Crit , colorPaleGreen,IIf(slope<0 AND r2<crit, colorPink,colorRed)));
// Buy sell condition
Buy=(Cross(slope,s1) AND r2>s2*Crit )OR (slope>s1 AND Cross(r2,(s2*Crit)));
Sell=Cross(0,slope) OR (Cross(Crit,r2) AND slope<0);
Short= Cross(r2,Crit) AND slope<-s1;
Cover= Cross(slope,0);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

PlotOHLC( Open, High, Low, Close, "", r2color, styleBar | styleThick );

shape = Buy * shapeUpArrow + Sell * shapeDownArrow + Short * shapeDownTriangle + Cover * shapeUpTriangle;

PlotShapes( shape, IIf( Buy, colorGreen, IIf(Sell,colorYellow,IIf(Cover,colorLightOrange,colorRed ))),0, IIf( Buy, Low, IIf(Sell,High,IIf(Cover,Low,High) ) ) );
GraphXSpace = 5;
dist = 1.5*ATR(10);

for( i = 0; i < BarCount; i++ )
{
if( Buy ) PlotText( "Buy\[email protected]" + C[ i ], i, L[ i ]-dist, colorGreen );
if( Sell ) PlotText( "Sell\[email protected]" + C[ i ], i, H[ i ]+dist, colorYellow);
if( Short ) PlotText( "Short\[email protected]" + C[ i ], i, H[ i ]+dist, colorRed);
if( Cover ) PlotText( "cover\[email protected]" + C[ i ], i, H[ i ]-dist, colorLightOrange);
}
_SECTION_END();

_SECTION_BEGIN("HH");
Q = Param( "% Change", 2, 0.1, 10, 0.1 );
Z = Zig( C , q ) ;
HH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( z, q, 1 ) > Peak( Z, q, 2 ) ) );
LH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( Z, q, 1 ) < Peak( Z, q, 2 ) ) );
HL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) > Trough( Z, q, 2 ) ) );
LL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) < Trough( Z, q, 2 ) ) );
GraphXSpace = 5;
dist = 0.5 * ATR( 20 );

for ( i = 0; i < BarCount; i++ )
{
if ( HH )
PlotText( "HH", i, H[ i ] + dist, colorRed );

if ( LH )
PlotText( "LH", i, H[ i ] + dist, colorRed );

if ( HL )
PlotText( "HL", i, L[ i ] - dist, colorBrightGreen );

if ( LL )
PlotText( "LL", i, L[ i ] - dist, colorBrightGreen );

}

Filter=HH OR HL OR LH OR LL;
_SECTION_END();

i have tested it best time frame to do trade is hourly and for long term daily hope u enjoy trading .....as reversal given suddenly pink candle change....:clapping::clapping::thumb:.....all the best friends

I dont use Amibroker but would love to see a Chart with this AFL! Others also might be interested.

Active Member
Backtesting Results -

It seems that the formula references FUTURE quotes.
If you backtest this system you may receive outstanding results
that CAN NOT be reproduced in real trading.

7527 data bars used during this check. Total execution time: 0.0333172 sec.
Approximately 4744 past and 4500 future quotes are needed to calculate the formula properly

kunaljs99

New Member
Yes its working just click on errors n delete gap

guptak03

Well-Known Member
plz delete gap and make new afl so that one can easly do it.

PHP:
_SECTION_BEGIN("R2");
/* System Based on R2 Indiator - Karthikmarar
Indicator Adopted from Amibroker AFL Library */

/*To determine if the trend is statistically significant for a given x-period
linear regression line, Plot the r-squared indicator and refer to the following
table. This table shows the values of r-squared required for A 95% confidence
level at various time periods. If the r-squared value is less than the
critical values shown, you should assume that prices show no statistically
significant trend.

Number ofPeriods r-squaredCritical Value(95%confidence)
5 0.77
10 0.40
14 0.27
20 0.20
25 0.16
30 0.13
50 0.08
60 0.06
120 0.03
*/
Title = ("R2 SYSTEM - " + Name()+" " + Date() +" "+Interval(2) +" "+ EncodeColor(colorLime)+",Open "+Open +" ,High "+H+" ,Low "+L+" ,Close "+C+" "+"{{VALUES}}");
s1=Param("Filter Tune 1",0.5,0.1,1,0.1);
s2=Param("Filter Tune 2",2,1,3,0.5);
RPDS=ParamList("R2 Period", "20|25|14|5|10|30|50|60|120" ); /*for automatic adjustments to the r2 critical value line use one of
//the periods listed above*/
R2PDS=IIf(rpds=="5",5,IIf(rpds=="10",10,IIf(rpds== "14",14,IIf(rpds=="20",20,IIf(rpds=="25",25,IIf(rpds=="30",30,IIf(rpds=="50",50,IIf(rpds=="60",60,120))))))));

R2=Correlation(Cum( 1 ),C,r2pds)*Correlation(Cum( 1 ),C,r2pds);
slope=LinRegSlope(C,r2pds);

Crit=IIf(R2PDS==5,.77,IIf(R2PDS==10,.40,IIf(R2PDS==14,.27,IIf(R2PDS==20,.20,IIf(R2PDS==25,.16,IIf(R2PDS==30,.13,IIf(R2PDS==50,.08,IIf(R2PDS==60,.06,IIf(R2PDS==120,.03,0)))))))));
r2color=IIf(r2>(s2*Crit) AND slope>s1,colorLime,IIf(slope>0 AND r2<s2*Crit , colorPaleGreen,IIf(slope<0 AND r2<crit, colorPink,colorRed)));
// Buy sell condition
Buy=(Cross(slope,s1) AND r2>s2*Crit )OR (slope>s1 AND Cross(r2,(s2*Crit)));
Sell=Cross(0,slope) OR (Cross(Crit,r2) AND slope<0);
Short= Cross(r2,Crit) AND slope<-s1;
Cover= Cross(slope,0);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
PlotOHLC( Open, High, Low, Close, "", r2color, styleBar | styleThick );

shape = Buy * shapeUpArrow + Sell * shapeDownArrow + Short * shapeDownTriangle + Cover * shapeUpTriangle;

PlotShapes( shape, IIf( Buy, colorGreen, IIf(Sell,colorYellow,IIf(Cover,colorLightOrange,colorRed ))),0, IIf( Buy, Low, IIf(Sell,High,IIf(Cover,Low,High) ) ) );
GraphXSpace = 5;
dist = 1.5*ATR(10);

for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy\[email protected]" + C[ i ], i, L[ i ]-dist[i], colorGreen );
if( Sell[i] ) PlotText( "Sell\[email protected]" + C[ i ], i, H[ i ]+dist[i], colorYellow);
if( Short[i] ) PlotText( "Short\[email protected]" + C[ i ], i, H[ i ]+dist[i], colorRed);
if( Cover[i] ) PlotText( "cover\[email protected]" + C[ i ], i, H[ i ]-dist[i], colorLightOrange);
}
_SECTION_END();

_SECTION_BEGIN("HH");
Q = Param( "% Change", 2, 0.1, 10, 0.1 );
Z = Zig( C , q ) ;
HH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( z, q, 1 ) > Peak( Z, q, 2 ) ) );
LH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( Z, q, 1 ) < Peak( Z, q, 2 ) ) );
HL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) > Trough( Z, q, 2 ) ) );
LL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) < Trough( Z, q, 2 ) ) );
GraphXSpace = 5;
dist = 0.5 * ATR( 20 );

for ( i = 0; i < BarCount; i++ )
{
if ( HH[i] )
PlotText( "HH", i, H[ i ] + dist[i], colorRed );

if ( LH[i] )
PlotText( "LH", i, H[ i ] + dist[i], colorRed );

if ( HL[i] )
PlotText( "HL", i, L[ i ] - dist[i], colorBrightGreen );

if ( LL[i] )
PlotText( "LL", i, L[ i ] - dist[i], colorBrightGreen );

}

Filter=HH OR HL OR LH OR LL;
_SECTION_END();

now try :thumb: