Need AFL : for this Strategy

madhavareddy1203

Well-Known Member
#1
Hi,

Im looking for afl with explorer for below strategy.

After 3 yrs researching on amibroker afls i came to conclusion that there is no afl which give success rate above 60%. and i have stopped searching for new afls. im tired.

Still some people searching for Holygrails and above 90% success and good afls. Im suggesting dont waste ur time.

Coming to my starategy:

Im eying on 3 continous signal fails.

ex: Take tcs.

1. Take any time frame. If 3 signals fail continously then that stock should come in explorer after generating new signal (4th signal).

2. how can we defined as 3 signals fail.
a. After generating buy or sell signal it should reach target 1%.( we can change target percent after our discussion conclusion.. this is just my ida) If it doesnt hit target means then that signal is fail.
b. Signal is caluculating for Buy : above high on that candle. for sell: below low of that candle.
c. call should activate only price cross above or below.

3. as per my research lot of technical achieving target in 5 attempts... some more than 5 attempts.. but that situation rare.. ( thats our bad luck.. we have to prepare some losses in stock market.. but this situation occured rarely.. some times 8 signals also continuously failed.)

4. to signal generate u take any of ur afl which giving 50% above success rate.

i want to add more lines.. but first i want to keep this strategy for discussion.. an want to welcome ur suggestion. depending upon that we can modify strategy.

All ur views welcome.

Plz guys post ur views and try to build this afl.

any one can raise questions and anybody can answer.. not only me.

hope this strategy help ful to all.
 
Last edited:

madhavareddy1203

Well-Known Member
#2
Im suggesting one Afl which im following:

this is NMA magic.

//PREF > INTRADAY > START TIME INTERVAL
_SECTION_BEGIN("graph");
SetChartOptions(0,chartShowArrows|chartShowDates);
gxs=Param("GRAPH spaceing",10,5,50,5);
GraphXSpace = gxs;
strWeekday = StrMid("SunMonTueWedThuFriSat", SelectedValue(DayOfWeek())*3,3);
_SECTION_END();
_SECTION_BEGIN("NMA ");
k = Optimize("K",Param("K",1.75,1,5,0.25),1,5,0.25);
Per= Optimize("atr",Param("atr",10,3,30,1),3,30,1);
j=(O+H+L+C)/4;
nm= (H-L);
rfsctor = WMA(nm, PER);
revers = K * rfsctor;
Trend = 1;
NW[0] = 0;
for(i = 1; i < BarCount; i++)
{
if(Trend[i-1] == 1)
{
if(j < NW[i-1])
{
Trend = -1;
NW = j + Revers;
}
else
{
Trend = 1;
if((j - Revers) > NW[i-1])
{
NW = j - Revers;
}
else
{
NW = NW[i-1];
}
}
}
if(Trend[i-1] == -1)
{
if(j > NW[i-1])
{
Trend = 1;
NW = j - Revers;
}
else
{
Trend = -1;
if((j + Revers) < NW[i-1])
{
NW = j + Revers;
}
else
{
NW = NW[i-1];
}
}
}
}

Plot(NW, "", IIf(Trend == 1, 6, 4), 4);

//---------------trading -------------

Buy=Cross(j,nw);
Short=Cross(nw,j);
Sell=Cross(nw,j);
Cover=Cross(j,nw);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorGreen, 0,Low,-15);
PlotShapes(IIf(Sell, shapeHollowDownArrow, shapeNone),colorRed, 0,High,-15);
PlotShapes(IIf(Cover, shapeHollowCircle, shapeNone),colorBlue, 0,Close,0);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorRed, 0,High,-25);
//-----------end--------------
Long=Flip(Buy,Sell OR Cover);
Shrt=Flip(Sell,Buy OR Cover);
NOTrade= NOT (Long OR shrt);
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
_SECTION_END();
grid_day = IIf(Day()!=Ref(Day(),-1),1,0);
Plot(grid_day,"",colorDarkGrey,styleHistogram|styleDashed|styleNoLabel|styleOwnScale);
///--------------------------------------------------------------------------------------------------

UpCandle = ParamColor("Up Color", colorBrightGreen );
DownCandle = ParamColor("Down Color", colorDarkRed );
Consolidation = ParamColor("Consolidation", colorBlack );
BG2a=HHV(LLV(L,4)+ATR(4),8);
BR2a=LLV(HHV(H,4)-ATR(4),8);
Candlecolor = IIf(Close>BG2a ,UpCandle,IIf(Close < BR2a,DownCandle,Consolidation));
SetBarFillColor( IIf(O <C, colorSeaGreen,colorOrange) );
Plot( Close, "Price", CandleColor, styleCandle );
dist = ATR(20);
for (i=0; i<BarCount; i++) {
if ( Buy )
PlotText("Buy:" + (H[ i ]), i, L[ i ]-2*dist, colorGreen);
if ( Sell )
PlotText("Sell:" + (L[ i ]), i, H[ i ]+3*dist, colorRed);
}

TimeFrameSet( 2*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8);
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C;
TimeFrameRestore();
M5 = TimeFrameExpand(BG2,2*Interval() );
MM5=TimeFrameExpand( BR2,2*Interval() );
cM5=TimeFrameExpand( C1, 2*Interval() );
TimeFrameSet( 4*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8);
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C;
TimeFrameRestore();
M15 = TimeFrameExpand(BG2,4*Interval() );
MM15=TimeFrameExpand(BR2,4*Interval() );
cM15=TimeFrameExpand( C1,4*Interval() );
TimeFrameSet( 6*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8);
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C;
TimeFrameRestore();
M30 = TimeFrameExpand(BG2,6*Interval() );
MM30=TimeFrameExpand(BR2,6*Interval() );
cM30=TimeFrameExpand( C1,6*Interval() );
TimeFrameSet( 8*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8);
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C;
TimeFrameRestore();
H1 = TimeFrameExpand(BG2 ,8*Interval() );
HH1=TimeFrameExpand( BR2,8*Interval() );
Ch1=TimeFrameExpand( C1,8*Interval() );
TimeFrameSet( 16*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8);
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C;
TimeFrameRestore();
H4 = TimeFrameExpand( BG2,16*Interval() );
HH4=TimeFrameExpand( BR2,16*Interval() );
cH4 = TimeFrameExpand( C1,16*Interval() );
Com=("\n "+Name()+ " - Trend in ")+"\n "+
/*EncodeColor(colorLightGrey)+(""+Interval(2)+":")+
WriteIf(Close>BG2a,EncodeColor(colorLime)+" UP",WriteIf(Close<BR2a,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+(" "+2*Interval()/60+"m:")+
WriteIf(Cm5>M5,EncodeColor(colorLime)+" UP",WriteIf(Cm5<MM5,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+(" "+4*Interval()/60+"m:")+
WriteIf(Cm15>M15,EncodeColor(colorLime)+" UP",WriteIf(Cm15<MM15,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+(" "+6*Interval()/60+"m:")+
WriteIf(Cm30>M30,EncodeColor(colorLime)+" UP",WriteIf(Cm30<MM30,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+(" "+8*Interval()/60+"m:")+
WriteIf(CH1>H1,EncodeColor(colorLime)+" UP",WriteIf(CH1<HH1,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+(" "+16*Interval()/60+"m: ")+
WriteIf(Ch4>H4,EncodeColor(colorLime)+" UP",WriteIf(Ch4<HH4,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~" ));*/
//---------------------------------------------------------------------------------------
Vr=ParamList("Index",List = "^NSEI,^NSEBANK,NIFTY_F1,RELIANCE.NS,SBIN.NS,EURUSD,XAUUSD,GOLD",0);
SetForeign(Vr);
HaC =(O+H+L+C)/4;
HaO = AMA( Ref( HaC, -1 ), 0.5 );
HaH = Max( H, Max( HaC, HaO) );
HaL = Min( L, Min( HaC, HaO) );
HBG=HHV(LLV(HaL,4)+ATR(4),8);
HBR=LLV(HHV(HaH ,4)-ATR(4),8);
co = IIf(Hac>HBG ,colorAqua,IIf(Hac < HBR,colorCustom12,colorGrey50));
//Plot(4, "", Co,styleArea+styleOwnScale | styleNoLabel, -1, 100);
//PlotOHLC(HaO,HaH,HaL,HaC, "", Co,styleCandle|styleOwnScale );
//=====================================================================================
TimeFrameSet( 2*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M5H = TimeFrameExpand(BG2H,2*Interval() );
MM5H=TimeFrameExpand( BR2H,2*Interval() );
cM5H=TimeFrameExpand( C1H, 2*Interval() );
TimeFrameSet( 4*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M15H = TimeFrameExpand(BG2H,4*Interval() );
MM15H=TimeFrameExpand(BR2H,4*Interval() );
cM15H=TimeFrameExpand( C1H,4*Interval() );
TimeFrameSet( 6*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M30H = TimeFrameExpand(BG2H,6*Interval() );
MM30H=TimeFrameExpand(BR2H,6*Interval() );
cM30H=TimeFrameExpand( C1H,6*Interval() );
TimeFrameSet( 8*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
H1H = TimeFrameExpand(BG2H ,8*Interval() );
HH1H=TimeFrameExpand( BR2H,8*Interval() );
Ch1H=TimeFrameExpand( C1H,8*Interval() );
TimeFrameSet( 16*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
H4H = TimeFrameExpand( BG2H,16*Interval() );
HH4H=TimeFrameExpand( BR2H,16*Interval() );
cH4H = TimeFrameExpand( C1H,16*Interval() );
RestorePriceArrays();
Comm2=("\n "+VR+ " - Phase in ")+"\n "+
/*EncodeColor(colorDarkOliveGreen)+(""+Interval(2)+":")+
WriteIf(Hac>HBG,EncodeColor(colorLime)+" UP",WriteIf(Hac < HBR,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+(" "+2*Interval()/60+"m:")+
WriteIf(cM5H>M5H,EncodeColor(colorLime)+" UP",WriteIf(cM5H<MM5H,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+(" "+4*Interval()/60+"m:")+
WriteIf(cM15H>M15H,EncodeColor(colorLime)+" UP",WriteIf(cM15H<MM15H,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+(" "+6*Interval()/60+"m:")+
WriteIf(cM30H>M30H,EncodeColor(colorLime)+" UP",WriteIf(cM30H<MM30H,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+(" "+8*Interval()/60+"m:")+
WriteIf(Ch1H>H1H,EncodeColor(colorLime)+" UP",WriteIf(Ch1H<HH1H,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+(" "+16*Interval()/60+"m: ")+
WriteIf(cH4H>H4H,EncodeColor(colorLime)+" UP",WriteIf(cH4H<HH4H,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~" ));
*/
//============
//=====Title================================================================================================
/*_SECTION_BEGIN("Title");
if( Status("action") == actionIndicator )
(
Title = EncodeColor(colorBlue)+ "NMA I.T v-3("+k+" - "+per+")" + " - " + Name() + "-" + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorBlue) +
" - " + Date() +" - "+ strWeekday +" - "+"\n" +EncodeColor(colorYellow) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+
"Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+
EncodeColor(colorLime)+
WriteIf (Buy AND Ref(shrt,-1), " GO LONG / Reverse Signal at "+C+" ","")+
WriteIf (Buy AND Ref(NOTrade,-1), " GO LONG at "+C+" ","")+EncodeColor(colorRed)+
WriteIf (Sell AND Ref(NOTrade,-1), " GO Short at "+C+" ","")+
WriteIf (Sell AND Ref(Long,-1), " EXIT LONG / Reverse Signal at "+C+" ","")+
WriteIf (Cover, " cover "+C+" ","")+
EncodeColor(colorTan)+ Com+
EncodeColor(colorYellow)+ Comm2);
_SECTION_END();*/
/*_SECTION_BEGIN("Background text");
//C11=ParamColor("up panel",colorDarkOliveGreen );
//C12=ParamColor("dn panel",colorDarkGrey );
C13=Param("fonts",20,10,30,1 );
C14=Param("left-right",2.1,1.0,5.0,0.1 );
C15=Param("up-down",12,1,20,1 );
ab=Param("test Color contrast",0.5,0,5,0.1 );
Miny = Status("axisminy");
Maxy = Status("axismaxy");
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
GfxSetBkMode( 0 );
GfxSetOverlayMode(1);
//GfxGradientRect(0,0,pxwidth, pxheight, C11, C12 );
GfxSelectFont("Tahoma", Status("pxheight")/C13 );
GfxSetTextAlign( 6 );
//GfxSetTextColor( ColorBlend( colorPaleBlue, C13, ab ));
GfxTextOut( Name(), Status("pxwidth")/C14, Status("pxheight")/C15 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxTextOut( "NMA", Status("pxwidth")/C14, Status("pxheight")/C15*2.5 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxTextOut( " pkgmtnl ", Status("pxwidth")/C14, Status("pxheight")/C15*4 );
GfxSelectFont("MS Sans Serif", 10, 500, False, False, 0);
GfxTextOut(""+Vr+"---cas67", Status("pxwidth")/1.08, Status("pxheight")/C15*10.8 );
//axisarea = 56; // may need adjustment if you are using non-default font for axis


_SECTION_END();*/



/*
_SECTION_BEGIN("Keltner Bands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );

Width = 0.5 ;

Color = ParamColor("Color", colorCycle );
Style = ParamStyle("Style");

CenterLine = MA( P, Periods );
KTop = CenterLine + Width * ATR( Periods );
KBot = CenterLine - Width * ATR( Periods );

Plot( KTop, "KBTop" + _PARAM_VALUES(), Color, Style );
Plot( KBot, "KBBot" + _PARAM_VALUES(), Color, Style );

Plot( MA( P, 15 ), "", colorBlack, styleLine , styleThick);

PlotOHLC(KTop,KTop,KBot,KBot,"", colorLightBlue,styleCloud ) ;
//PlotOHLC(ACDHigh,ACDHigh,ACDLow,ACDLow,"",colorLig htBlue,styleCloud );


_SECTION_END();
*/
//================================
/*
_SECTION_BEGIN("Mean Band");
function SteBand( array, periods,number, upper )
{
Lr = LinearReg( array, periods );
se = StdErr( array, periods );
return LR + IIf( upper, 1, -1 ) * number * se;
}
Periods = Param("Standard Error", 80, 1, 200, 1);
Smooth = Param("Mean Smoothness",14,2,100,1);
number = Param("StdErrNo", 1, 0.2, 3.0,0.2);

parmCloudColor = ParamColor("Cloud Color", ColorRGB( 40,40,40) );

UStdErrBand = SteBand( C, Periods, number, True );
LStdErrBand = SteBand( C, Periods, number, False );
MStdErrBand = (UStdErrBand + LStdErrBand )/2;

Plot( MA(UStdErrBand,smooth), "UpperBand ", colorDarkRed,styleLine );
Plot( MA(LStdErrBand,smooth), "LowerBand ", colorDarkRed,styleLine );
Plot( MA(MStdErrBand,smooth) , "MidBand", colorPlum , styleDashed );

//Plot( Close, "Close", colorBlack, styleCandle );
PlotOHLC( MA(UStdErrBand,smooth), MA(UStdErrBand,smooth), MA(LStdErrBand,smooth) , MA(LStdErrBand,smooth) , "", parmCloudColor, styleCloud | styleNoLabel);

_SECTION_BEGIN("Keltner Bands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );

Width = 0.5 ;

Color = ParamColor("Color", colorCycle );
Style = ParamStyle("Style");

CenterLine = MA( P, Periods );
KTop = CenterLine + Width * ATR( Periods );
KBot = CenterLine - Width * ATR( Periods );

Plot( KTop, "KBTop" + _PARAM_VALUES(), Color, Style );
Plot( KBot, "KBBot" + _PARAM_VALUES(), Color, Style );

Plot( MA( P, 15 ), "", colorBlack, styleLine , styleThick);

PlotOHLC(KTop,KTop,KBot,KBot,"", colorLightBlue,styleCloud ) ;
//PlotOHLC(ACDHigh,ACDHigh,ACDLow,ACDLow,"",colorLig htBlue,styleCloud );

*/
_SECTION_END();
_SECTION_BEGIN("");
_N(Title = " {{OHLCX}} {{VALUES}}");
 

Similar threads