Monday 4 June 2012

Nakshatra Trading system


Nakshatra Trading system is for shorter timeframe traders especially for nifty. It gives BUY and SELL signal for shorter timeframes . Chart shown above is the Nifty 5min Charts with Nakshatra Trading system.And Also it gives target and stoploss.




AFL Code:



_SECTION_BEGIN("MA Diff");

T=26;

KMA=((C-MA(C,T))/MA(C,T))*100;

Graph0=KMA;

Graph0Style=2+4;

Graph0BarColor=IIf(KMA>0,5,4);

GraphXSpace=5;



_SECTION_END();



_SECTION_BEGIN("Price");

SetChartOptions(0,chartShowArrows|chartShowDates);

Plot( C, "Close", ParamColor("Color", colorRed ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );

_SECTION_END();



//------------------------------------------------------------------------------



_SECTION_BEGIN("ZIG-ZAG");

P = ParamField( "Price field" );

change = Param("% change",5,0.1,25,0.1);

_SECTION_END();



_SECTION_BEGIN("EMA");

P = ParamField("Price field",-1);

Periods = Param("Periods", 15, 2, 300, 1, 10 );

_SECTION_END();



_SECTION_BEGIN("MACD Exploration");

r1 = Param( "Fast avg", 12, 2, 200, 1 );

r2 = Param( "Slow avg", 26, 2, 200, 1 );

r3 = Param( "Signal avg", 9, 2, 200, 1 );

Z=Param("zig",1,0,10,0.1);





Cond1 = Cross(MACD(r1,r2),Signal(r1,r2,r3));



Cond3 = Zig(C,z)>Ref(Zig(C,z),-4);

Buy = Cond1 AND Cond3;



Cond4 = Cross(Signal(r1,r2,r3),MACD(r1,r2));



Cond6 = Zig(C,z)<Ref(Zig(C,z),-4);

Sell = Cond4 AND Cond6;

Trigger = WriteIf(Buy, "Buy", "") + WriteIf(Sell, "Sell", "");



_N(Title = StrFormat("{{NAME}} {{DATE}} {{INTERVAL}}: O=%1.2f, H=%1.2f, L=%1.2f, C=%1.2f, V=%1.0f\n{{VALUES}}", O, H, L, C, V));



BG = IIf(Buy, colorPaleGreen, IIf(Sell, colorRose, colorDefault));

FG = IIf(Buy, colorDarkGreen, IIf(Sell, colorDarkRed, colorDefault));



if(Status("action") == actionIndicator)

{

Plot(C, "", colorGrey50, styleBar);

PlotShapes(IIf(Buy, shapeCircle, shapeNone),colorBlue, 0,L, Offset=-60);

PlotShapes(IIf(Sell, shapeCircle, shapeNone),colorWhite, 0,H, Offset=-30);

PlotShapes(shapeDownArrow*Sell,colorYellow,0,SellPrice,0);

PlotShapes(shapeUpArrow*Buy,colorYellow,0,BuyPrice,0);



}



//------------------------------------------------------------------------------------------------

if(Status("action") == actionExplore)



Filter = Buy OR Sell;

SetOption("NoDefaultColumns", True);



AddTextColumn(Name(), "Symbol", 77, FG, BG, 120);

AddColumn(DateTime(), "Date", formatDateTime, FG, BG, 100);

AddColumn(TimeNum() ,"Time",1);

AddColumn( C, "Close", 1.3 );

AddColumn( H, "High", 1.3 );

AddColumn(V, "Volume");

AddColumn(Ref(V,-1),"P-Vol");

AddColumn(V/Ref(V,-1)*100,"Increase in Vol");

AddColumn( Buy, "Buy", 1 );

AddColumn( Sell, "Sell", 1 );



shape = Buy * shapeHollowUpTriangle + Sell * shapeHollowDownTriangle;



PlotShapes( shape, IIf( Buy, colorBlue, colorWhite ), 0, IIf( Buy, Low, High ) );



GraphXSpace = 7;



GraphXSpace = 7;

_SECTION_END();



_SECTION_BEGIN("EMA3");

P = ParamField("Price field",-1);

Periods = Param("Periods", 15, 2, 300, 1, 10 );

_SECTION_END();





_SECTION_BEGIN("Background text");

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

Miny = Status("axisminy");

Maxy = Status("axismaxy");

lvb = Status("lastvisiblebar");

fvb = Status("firstvisiblebar");

pxwidth = Status("pxwidth");

pxheight = Status("pxheight");

GfxSetBkMode(transparent=1);

GfxSetOverlayMode(1);

GfxSelectFont("Tahoma", Status("pxheight")/C13 );

GfxSetTextAlign( 6 );

GfxSetTextColor( ColorRGB (217,217,213));

GfxTextOut( Name(), Status("pxwidth")/C14, Status("pxheight")/C15 );

GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );

GfxSetTextColor( ColorRGB (103,103,103));

GfxTextOut( "By", Status("pxwidth")/C14, Status("pxheight")/C15*2.5 );

GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );

GfxSetTextColor( ColorRGB (103,103,103));

GfxTextOut( "Nakshatra", Status("pxwidth")/C14, Status("pxheight")/C15*4 );

GfxSelectFont("MS Sans Serif", 10, 500, False, False, 0);

_SECTION_END();

//Second phase starts Here

//File: BHS Chart

_SECTION_BEGIN("BHS1.02");

SetChartBkColor(ParamColor("Outer panel color ",colorLightYellow));

SetChartBkColor(ParamColor("BackGround Color", colorDarkGrey));

pShowtradeLines = ParamToggle("Show Trade Lines", "No|Yes", 1);

pShowMarkers = ParamToggle("Show Markers", "No|Yes", 1);

synch=ParamToggle("Synchronize buy/short with foreign index", "No|Yes", 1);

Volmin=Param("Volume minimum",5000,0,10000000,50);

Volmax=Param("Volume maximum",1000000,0,10000000,50);

priceRL=Param("Price Range Min",150,1,20000,1);

priceRH=Param("Price Range Max",3000,1,20000,1);

PercChangemin=Param("Percentage Change Min set", -25, -100, 100, 0.1);

PercChangemax=Param("Percentage Change Max set", 25, -100, 100, 0.1);

PerctakeProfit=Param("Take Profit Percent Set",0.6,0.3,30,0.1);

PercStoploss=Param("StopLoss Percent Set",0.25,0.2,5,0.1);



//PlotOHLC(Open,High,Low,Close,"",colorWhite,styleCandle);

Bars = 0;

xpdh = 90;



{

Plot_Range = (TimeNum() >= 85500 AND TimeNum()<= 153500) AND (DateNum()==LastValue(DateNum()));

FH_Range = (TimeNum() >= 085500 AND TimeNum()<= 093000) AND (DateNum()==LastValue(DateNum()));



FH_Prices = High * FH_Range;

FH_Marker = BarsSince(FH_Range>0);



Num_Bars = 36000 / Interval(1);



TimeFrameSet(inDaily);

TOP_ = Open;

PDH_ = Ref(High,-1);

PDL_ = Ref(Low,-1);

PDO_ = Ref(Open,-1);

PDC_ = Ref(Close,-1);

PDM_ = (PDH_+PDL_)/2;

TimeFrameRestore();



isAll = True;

isRth = TimeNum() >= 085400 AND TimeNum() <= 093000;

isdRth = TimeNum() >= 085400 AND TimeNum() <= 160000;



aRthL = IIf(isRth, L, 1000000);

aRthH = IIf(isdRth, H, Null);

aRthLd = IIf(isdRth, L, 1000000);



TOP = TimeFrameExpand(TOP_,inDaily,expandFirst);

PDH = TimeFrameExpand(PDH_,inDaily,expandFirst);

PDL = TimeFrameExpand(PDL_,inDaily,expandFirst);

PDO = TimeFrameExpand(PDO_,inDaily,expandFirst);

PDC = TimeFrameExpand(PDC_,inDaily,expandFirst);

PDM = TimeFrameExpand(PDM_,inDaily,expandFirst);

FHH = Ref(HHV(High*FH_Range,Num_Bars),-FH_Marker);

FHL = TimeFrameCompress( aRthL, inDaily, compressLow );

FHL = TimeFrameExpand( FHL, inDaily, expandFirst );

DayH = TimeFrameCompress( aRthH, inDaily, compressHigh );

DayH = TimeFrameExpand( DayH, inDaily, expandFirst );

DayL = TimeFrameCompress( aRthLd, inDaily, compressLow );

DayL = TimeFrameExpand( DayL, inDaily, expandFirst );





FC1=((PDH-PDL)*0.433);

FC2=((PDH-PDL)*0.7666);

FC3=((PDH-PDL)*1.355);

FC4=(FHH-FHL);



A=IIf((FC4<=FC1+PDH*0.005),FC1,0);

B=IIf((FC4<=FC2+PDH*0.005 AND FC4>FC1+PDH*0.005),FC2,0);

Cl=IIf((FC4<=FC3 AND FC4>FC2+PDH*0.005),FC3,0);

AF=(A+B+Cl);

_SECTION_END();



//foreign

_SECTION_BEGIN ("foreign Index bar graph");

Vr=ParamList("Index",List = "NIFTY_SPT,^NSEI,^NSEBANK,^CNXIT,^NSMIDCP,RELIANCE.NS,SBIN.N S",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) );

BG3=HHV(LLV(HaL,4)+ATR(4),8);

BR3=LLV(HHV(HaH ,4)-ATR(4),8);

co = IIf(Hac>BG3 ,colorBrightGreen,IIf(Hac < BR3,colorRed,colorGrey50));

Plot(4, "", Co,styleArea+styleOwnScale | styleNoLabel, -1, 100);

RestorePriceArrays();



_SECTION_END();



_SECTION_BEGIN ("long signal");





BuyPrice=(DayL+AF);

BuyTP1=(BuyPrice+(BuyPrice*(PerctakeProfit/100)));

BuyTP2=(C>=BuyTP1);

SellPrice=(DayH-AF);

SellTP1=(SellPrice-(SellPrice*(PerctakeProfit/100)));

SellTP2=(C<=SellTP1);

percchange=(((C-TOP)/TOP)*100);

Vol=(V>=Volmin AND V<=Volmax);

Percentage=(percchange>=PercChangemin AND percchange<=PercChangemax);

prc=(C>=priceRL AND C<=priceRH);

BuyStop1=(BuyPrice-(BuyPrice*(PercStoploss/100)));

BuyStop2=IIf((BuyStop1<=SellPrice) AND SellPrice<=BuyPrice,SellPrice,BuyStop1);

SellStop1=(SellPrice+(SellPrice*(PercStoploss/100)));

SellStop2=IIf((SellStop1>=BuyPrice) AND SellPrice<=BuyPrice, BuyPrice,SellStop1);



BuyStop=IIf((Buy AND NOT BuyTP2),BuyStop2,Null);

BuyTP=IIf(Buy AND NOT BuyStop,BuyTP2,Null);



Bars = BarsSince(TimeNum() >= 85400 AND TimeNum() < 092900);

x0 = BarCount-LastValue(Bars);

x1 = BarCount-1;

TOP_Line = LineArray(x0,LastValue(TOP),x1,LastValue(TOP),0);

PDH_Line = LineArray(x0,LastValue(PDH),x1,LastValue(PDH),0);

PDL_Line = LineArray(x0,LastValue(PDL),x1,LastValue(PDL),0);

PDC_Line = LineArray(x0,LastValue(PDC),x1,LastValue(PDC),0);

PDM_Line = LineArray(x0,LastValue(PDM),x1,LastValue(PDM),0);

FHH_Line = LineArray(x0,LastValue(FHH),x1,LastValue(FHH),0);

FHL_Line = LineArray(x0,LastValue(FHL),x1,LastValue(FHL),0);

BuyPriceline=LineArray(x0,LastValue(BuyPrice),x1,LastValue(BuyPrice),0);

BuyStopline=LineArray(x0,LastValue(BuyStop2),x1,LastValue(BuyStop2),0);

BuyTPline=LineArray(x0,LastValue(BuyTP1),x1,LastValue(BuyTP1),0);

SellPriceline=LineArray(x0,LastValue(SellPrice),x1 ,LastValue(SellPrice),0);

SellStopline=LineArray(x0,LastValue(SellStop2),x1, LastValue(SellStop2),0);

SellTPline=LineArray(x0,LastValue(SellTP1),x1,LastValue(SellTP1),0);

DayHline=LineArray(x0,LastValue(DayH),x1,LastValue (DayH),0);

DayLline=LineArray(x0,LastValue(DayL),x1,LastValue (DayL),0);





Plot(IIf(pShowtradeLines,BuyStopline,Null),"BuySto p",colorBrightGreen,styleDots|styleNoRescale| styleNoLine);

Plot(IIf(pShowtradeLines,SellPriceline,Null),"Shor t Here",colorRed,styleDots|styleNoRescale);

PlotShapes(IIf(pShowMarkers AND Buy, shapeHollowUpArrow, Null), colorDarkGreen, 0,L,Offset=-30);



if( Status("action") == actionIndicator )

(

Title = EncodeColor(colorWhite)+ "Nakshatra Super " + " - " + Name() + " - " + EncodeColor(colorYellow)+ Interval(2) + EncodeColor(colorYellow) +

" - " + Date() +" - "+ EncodeColor(colorYellow) + "-Open="+WriteVal(O,1) + EncodeColor(colorYellow) + "- High= "+ WriteVal(H,1)+ EncodeColor(colorYellow) + "- Low= "+ WriteVal(L,1)+ EncodeColor(colorYellow) + "- Close= "+ WriteVal(C,1)+ EncodeColor(colorYellow) + "- Vol= "+ WriteVal(V,1)+("\n")

+WriteIf(Percchange, " % Change = "+(Percchange)+" ","")+" Previous DayHigh="+WriteVal(PDH,1)+", Previous DayLow="+WriteVal(PDL,1)+", Today High="+WriteVal(DayH,1)+", Todays Low="+WriteVal(DayL,1)+

WriteIf(Hac>BG3,EncodeColor(colorBrightGreen)+"+Up ",

WriteIf(Hac<BR3,EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >")));

/*

GfxSetOverlayMode( mode = 0 );

GfxSelectPen( colorRed, 3 );

GfxSelectSolidBrush( colorPink );

GfxRoundRect( 20, 55, 180, 175, 15, 15 );

GfxSetBkMode(1);

GfxSelectFont( "Arial", 10, 700, False );

GfxSetTextColor( colorDarkBlue );

GfxSetTextAlign(0);

GfxTextOut( WriteIf(SellPrice, "TRP level: "+(SellPrice),""), 30, 60);

GfxTextOut( WriteIf(BuyPrice, "Buy Above: "+(BuyPrice),""), 30, 75);

GfxTextOut( WriteIf(BuyStop2, "Long SL: "+(BuyStop2),""), 30, 90);

GfxTextOut( WriteIf(BuyTP1 , "Long Target 1: "+(BuyTP1),""), 30, 105);

GfxTextOut( WriteIf(SellPrice, "Sell Below: "+(SellPrice),""), 30, 120);

GfxTextOut( WriteIf(SellStop2, "Short SL: "+(SellStop2),""), 30, 135);

GfxTextOut( WriteIf(SellTP1, "Short Target: "+(SellTP1),""), 30, 150);

*/

AddColumn(V,"Volume",1.0);

AddColumn(Percchange,"Change %",1.2);

AddColumn(BuyPrice,"Buy at",1.2);

AddColumn(BuyStop,"Buy Stop at",1.2);

AddColumn(BuyTP1,"Buy Profit at",1.2);

AddColumn(SellPrice,"Short at",1.2);

AddColumn(SellTP1,"Short profit at",1.2);



}



_SECTION_END();





_SECTION_BEGIN("short signal");

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

BG2=HHV(LLV(Low,4)+ATR(4),8);

BR2=LLV(HHV(High,4)-ATR(4),8);

SetBarFillColor( IIf(O <C, colorSeaGreen,colorOrange) );

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=HaClose;

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[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, 6, 4), 4);



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

dist = 1.5*ATR(15);

for( i = 0; i < BarCount; i++ )

{

//if( Buy[i] ) PlotText( "Buy@" + O[ i ], i, L[ i ]-Trend[i], colorDarkBlue, colorYellow );

//if( Sell[i] ) PlotText( "Sell@" +H[ i ], i-4, L[ i ]+Trend[i], colorRed, colorYellow );

}



//PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,halow,-30);

//PlotShapes(IIf(Sell, shapeHollowDownTriangle, shapeNone),colorWhite, 0,hahigh,-15);

//PlotShapes(IIf(Cover, shapeHollowUpTriangle, shapeNone),colorWhite, 0,halow,-15);

//PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,hahigh,-30);



_SECTION_END();

0 comments: