NMA v 3.6 a optimiser for Amibroker (AFL)
gopal over 15 years ago Amibroker (AFL)
This is one of the trading system developed by Mr.Karthik Sir.Hope this will be helpful tool.
Thanks,
Gopal
Screenshots
Indicator / Formula
Copy & Paste Friendly
Plot( Close, "Price", 47, styleCandle );
_SECTION_BEGIN(" NMA-TRADING");
k = Optimize("mult",Param("mult",1.25,1,2,0.25),1,2,0.25);
Per= Optimize("period",Param("period",10,5,50,1),5,50,1);
HaClose=(O+H+L+C)/4;
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
ms=ParamList("ST0P/REV",List="Reg|Smoothed",0);
if(ms=="Reg")
{nm =(H-L);
j=(O+H+L+C)/4;
}
else
{nm=(HaHigh-HaLow);
j=(HaOpen+HaHigh+HaLow+HaClose)/4;
}
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[i] < NW[i-1])
{
Trend[i] = -1;
NW[i] = j[i] + Revers[i];
}
else
{
Trend[i] = 1;
if((j[i] - Revers[i]) > NW[i-1])
{
NW[i] = j[i] - Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
if(Trend[i-1] == -1)
{
if(j[i] > NW[i-1])
{
Trend[i] = 1;
NW[i] = j[i] - Revers[i];
}
else
{
Trend[i] = -1;
if((j[i] + Revers[i]) < NW[i-1])
{
NW[i] = j[i] + Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
}
Plot(NW, "", IIf(Trend == 1, 3, 3), 4);
if(ms=="Reg")
{
Buy=Cover=Cross(j,nw);
Sell=Short=Cross(nw,j);
}
else
{
B = Cross(j,nw);
S = Cross(nw,j);
Buysetup=Flip(b,s);
Shortsetup=Flip(s,b);
BuySetupValue = ValueWhen(b,H,1);
ShortsetupValue = ValueWhen(s,L,1);
b1= Buysetup AND Cross(C,BuySetupValue);
s1= Shortsetup AND Cross(ShortsetupValue,C);
Buy=b1;
Short=s1;
Sell=Shortsetup;
Cover=Buysetup;
}
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
PlotShapes(IIf(Buy, shapeUpTriangle, shapeNone),colorSkyblue, 0,Low,-25);
PlotShapes(IIf(Sell, shapeHollowSmallDownTriangle, shapeNone),colorLightYellow, 0,High,-15);
PlotShapes(IIf(Cover, shapeHollowSmallUpTriangle, shapeNone),colorSkyblue, 0,Low,-15);
PlotShapes(IIf(Short, shapeDownTriangle, shapeNone),colorLightYellow, 0,High,-25);
if( Status("action") == actionIndicator )
(
Title = EncodeColor(colorWhite)+ "NMA Optimiser 3.6 a ("+k+" - "+per+" - "+ms+")" + " - " + Name() + " - "
+ EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite)
+ Date()+"\n"+EncodeColor(colorYellow) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+
"Cl-"+C+" "+""+"Vol= "+ WriteVal(V)+"\n" );
_SECTION_BEGIN("Background text");
Font= ParamList("Font:","Arial|Calibri|Futura|Tahoma|MS Sans Serif|Times New Roman ",4);
C13=Param("fonts size",12,6,14,1 );
C14=Param("Text shift",100,50,150,5 );
Miny = Status("axisminy");
Maxy = Status("axismaxy");
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
GfxSetBkMode( 0 );
GfxSetOverlayMode(1);
GfxSetTextAlign( 6 );
GfxSelectFont(Font, C13, 700, False, False, 0);
GfxSetTextColor(1);
GfxTextOut(" NMA Optimiser v3.6 ", Status("pxwidth")/2 , Status("pxheight")/3 );
_SECTION_END();0 comments
Leave Comment
Please login here to leave a comment.