A.R. Trading System
AFL Code:
_SECTION_BEGIN("ooa");
GfxSetBkMode(1);
nol=27;
sk=((C-MA(C,nol))/MA(C,nol))*100;
Graph0=sk;
Graph0BarColor=IIf(sk>0,5,4);
_SECTION_BEGIN("hmw");
_SECTION_BEGIN("ema");
Lk = EMA(Close,22);
Plot (lk," ",colorBrightGreen,styleDots);
GfxSelectFont("tohomabold", Status("pxheight")/16);
GfxSetTextAlign( 6 );
GfxSetTextColor(ColorRGB(10,250,250));
GfxSetBkMode(0);
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/10 );
cx=Param("cxposn",1085,0,1200,1);
cy=Param("cyposn",16,0,1000,1);
GfxSetBkColor(ColorRGB(200,50,100));
GfxSelectFont( "tohomabold",20,98, False);
GfxSetTextColor( colorYellow);
GfxSetTextColor( ColorHSB( 100, 10, 400) );
GfxTextOut("LTP. "+C+" ", cx, cy );
_SECTION_END();
_SECTION_BEGIN("Title");
DDayO = TimeFrameGetPrice("O", inDaily);
DHiDay = TimeFrameGetPrice("H", inDaily);
DLoDay = TimeFrameGetPrice("L", inDaily);
gfr = TimeFrameGetPrice("C", inDaily, -1);//close
Title = EncodeColor(colorWhite)+" * AR TRADING SYSTEM * "+EncodeColor(ColorRGB(220,10,150)) +" "+ Interval(2) + " " + Date() +
EncodeColor(ColorRGB(200,150,120)) + " \n Open " + O +
", High : " + H +
", Low : " + L+ EncodeColor(colorGreen) +
" * Prevvious Day Close : " + EncodeColor(colorGreen) + gfr +EncodeColor(colorYellow)+
"\n ToDay Open : " +DDayO + " High : " +DHiDay + " Low : "+ DLoDay;
_SECTION_END();
Col_cci = IIf(CCI(8) > 5, colorBrightGreen,IIf(CCI(8) <-5,colorRed,IIf(CCI(8) > Ref(CCI(8),-1),colorBrightGreen,colorDarkRed)));
HaClose =EMA((O+H+L+L+C)/5,3);
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose,"" , Col_cci, styleCandle| styleNoLabel );
_SECTION_END();
_SECTION_BEGIN("Background Color");
BKswitch = ParamToggle("Background Color","On,Off");
OUTcolor = ParamColor("Outer Panel Color",colorBlack);
INUPcolor = ParamColor("Inner Panel Upper",colorGrey40);
INDNcolor = ParamColor("Inner Panel Lower",colorBlack);
TitleColor = ParamColor("Title Color ",colorBlack);
if (NOT BKswitch)
{
SetChartBkColor(OUTcolor); // color of outer border
SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel
}
_SECTION_END();
_SECTION_BEGIN("");
SetBarsRequired(100000,0);
GraphXSpace = 15;
ea = EMA (C,10);
eb = EMA (C,20);
SetBarFillColor( IIf( ea > eb, colorGreen, colorRed ) );
Buy = ea > eb AND TimeNum() > 092000 AND TimeNum() < 150000;
Sell = eb > ea OR TimeNum() > 150000;
Short = 0;
Cover = 0;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);
SetTradeDelays(1,1,1,1);
Factor=Param("Factor",4,1,10,1);
Pd=Param("ATR Periods",10,1,100,1);
Up=(H+L)/2+(Factor*ATR(Pd));
Dn=(H+L)/2-(Factor*ATR(Pd));
iATR=ATR(Pd);
TrendUp=TrendDown=Null;
trend[0]=1;
changeOfTrend=0;
flag=flagh=0;
for (i = 1; i <BarCount; i++) {
TrendUp[i] = Null;
TrendDown[i] = Null;
trend[i]=1;
if (Close[i]>Up[i-1]) {
trend[i]=1;
if (trend[i-1] == -1) changeOfTrend = 1;
}
else if (Close[i]<Dn[i-1]) {
trend[i]=-1;
if (trend[i-1] == 1) changeOfTrend = 1;
}
else if (trend[i-1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i-1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}
if (trend[i]<0 && trend[i-1]>0) {
flag=1;
}
else {
flag=0;
}
if (trend[i]>0 && trend[i-1]<0) {
flagh=1;
}
else {
flagh=0;
}
if (trend[i]>0 && Dn[i]<Dn[i-1]){
Dn[i]=Dn[i-1];
}
if (trend[i]<0 && Up[i]>Up[i-1])
{ Up[i]=Up[i-1];
}
if (flag==1)
{ Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);;
}
if (flagh==1)
{ Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);;
}
if (trend[i]==1) {
TrendUp[i]=Dn[i];
if (changeOfTrend == 1) {
TrendUp[i-1] = TrendDown[i-1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=Up[i];
if (changeOfTrend == 1) {
TrendDown[i-1] = TrendUp[i-1];
changeOfTrend = 0;
}
}
}
Buy = trend==1;
Sell=trend==-1;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=Sell;
Cover=Buy;
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
TrendSL=IIf(trend==1,TrendUp,TrendDown);
for(i=BarCount-1;i>1;i--)
{
if(Buy[i] == 1)
{
entry = C[i];
sig = "BUY";
sl = TrendSL[i];
tar1 = entry + (entry * .0050);
tar2 = entry + (entry * .0092);
tar3 = entry + (entry * .0179);
bars = i;
i = 0;
}
if(Sell[i] == 1)
{
sig = "SELL";
entry = C[i];
sl = TrendSL[i];
tar1 = entry - (entry * .0050);
tar2 = entry - (entry * .0112);
tar3 = entry - (entry * .0212);
bars = i;
i = 0;
}
}
Offset = 20;
Clr = IIf(sig == "BUY", colorLime, colorRed);
ssl = IIf(bars == BarCount-1, TrendSL[BarCount-1], Ref(TrendSL, -1));
sl = ssl[BarCount-1];
Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset);
Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset);
Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset);
Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset);
//Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset);
for (i=bars; i <BarCount;i++)
{
//PlotText(""+sig+"@"+entry, BarCount+1,entry,Null,colorBlue);
PlotText("T1@"+tar1,BarCount+3,tar1,Null,Clr);PlotText("T2@"+tar2,BarCount+3,tar2,Null,Clr);PlotText ("T3@"+tar3,BarCount+3,tar3,Null,Clr);
}
messageboard = ParamToggle("Message Board","Show|Hide",1);
if (messageboard == 1 )
{
GfxSelectFont( "Tahoma", 13, 100 );
GfxSetBkMode( 1 );
GfxSetTextColor( colorWhite );
if ( sig =="BUY")
{
GfxSelectSolidBrush( colorGreen ); // this is the box background color
}
else
{
GfxSelectSolidBrush( colorRed ); // this is the box background color
}
pxHeight = Status( "pxchartheight" ) ;
xx = Status( "pxchartwidth");
Left = 1100;
width = 310;
x = 5;
x2 = 290;
y = pxHeight;
GfxSelectPen( colorWhite, 4); // broader color
GfxRoundRect( x, y - 165, x2, y , 160, 90 ) ;
GfxTextOut( ( "* AR TRADING SYSTEM * "),141,y-160);
GfxTextOut( (" "),130,y-160);
GfxTextOut( ("Last " + sig + " Signal came " + (BarCount-bars-1) * Interval()/60 + " mins ago"), 148, y-140) ; // The text format location
GfxTextOut( ("" + WriteIf(sig =="BUY",sig + " @ ",sig + " @") + " : " + entry), 130, y-120);
GfxTextOut( ("STOP LOSS : " + sl + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"), 130, y-100);
GfxTextOut( ("TGT:1 : " + tar1), 130, y -80);
GfxTextOut( ("TGT:2 : " + tar2), 130,y-60);
GfxTextOut( ("TGT:3 : " + tar3), 130,y-40);
GfxTextOut( ("Current P/L * : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2)), 130, y-22);;
}
_SECTION_END();
Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);
shape = Buy * shapeUpArrow + Sell * shapeDownArrow ;
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
//PlotShapes( shape, IIf( Buy, colorGreen, colorRed ),0, IIf( Buy, Low, High ) );
dist = 2.5*ATR(5);
for( i = 0; i < BarCount; i++ ) {
if( Buy[i] ) PlotText( "Buy\n@" + Close[i], i, Low[i] - dist[i], colorWhite );
if( Sell[i] ) PlotText( "sell\n@" + Close[i], i, Low[i] + dist[i], colorWhite );
}
_SECTION_BEGIN("ema");
P = ParamField("Field");
Type = ParamList("Type", "Weighted,Simple,Exponential,Double Exponential,Tripple Exponential,Wilders");
Periods89 = Param("Periods180", 180, 2, 300 );
Displacement2 = Param("Displacement2", 2, -50, 50 );
Plot( EMA( P, Periods89 ),
_DEFAULT_NAME(), colorWhite, styleDots, 0, 0, Displacement2 );
_SECTION_END();
rjl=Cross(Lk,tar1);
gol=Cross(tar1,Lk );
PlotShapes(shapeHollowStar*rjl,colorAqua,0,H,-20);
PlotShapes(shapeHollowStar*gol,colorViolet,0,L,20) ;
_SECTION_END();
jl = EMA(Close,13);
rfw=Cross(Lk,jl);
bve=Cross(jl,Lk);
dist =1.2*ATR(5);
for( i = 0; i < BarCount; i++ )
{
if( bve[i] ) PlotText( "AB\n" , i, L[ i ]-dist[i], colorWhite,colorDarkBlue );
if( rfw[i] ) PlotText( "AS\n" , i, H[ i ]+dist[i], colorWhite, colorRed );
}
PlotShapes(shapeStar*bve,colorWhite,0,H,-90);
PlotShapes(shapeStar*rfw,colorWhite,0,L,20);
_SECTION_BEGIN("day");
TimeFrameSet( inDaily ); // switch now to dayily
Oo=EMA(C,3);
TimeFrameRestore(); // restore time frame to original
tb=EMA(gfr,3);
Plot( TimeFrameExpand( Oo, inDaily),"", colorYellow,10+30+4| styleNoLabel);
_SECTION_END();
_SECTION_BEGIN("Volume");
cx = Param("cxposn",476,0,1200,1);
cy = Param("cyposn", 500,0,1000,10 );
GfxSelectFont( " Arial ", 14, 98, False );
GfxSetTextColor(ColorRGB(10,250,250));
GfxTextOut("Volume : " +Volume+ "", cx +20,cy +50);
_SECTION_END( );
_SECTION_BEGIN("tom");
function GetSecondNum()
{
Time = Now( 4);
Seconds = int( Time % 100 );
Minutes = int( Time / 100 % 100 );
Hours = int( Time / 10000 % 100 );
SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds );
return SecondNum;
}
RequestTimedRefresh( 1 );
TimeFrame = Interval();
SecNumber = GetSecondNum();
Newperiod = SecNumber % TimeFrame == 0;
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;
SecsToGo = TimeFrame - SecsLeft;
x=Param("xposn",99,0,1000,1);
y=Param("yposn",40,0,1000,1);
//GfxRoundRect( x+615, y+530, x+738, y+499, 0,0 );
//GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) );
//GfxSelectPen( ColorRGB( 203, 25, 23 ), 3 );
if ( NewPeriod )
{
//GfxSelectSolidBrush( colorYellow );
//GfxSelectPen( colorYellow, 2 );
//Say( "New period" );
}
GfxSetBkMode(1);
GfxSelectFont( "Arial", 13, 800, False );
GfxSetTextColor(ColorRGB(220,10,150) );
GfxTextOut( "Timeleft"+" : "+NumToStr( SecsToGo, 1.0 ), x+674, y+507 );
_SECTION_END( );
_SECTION_BEGIN("sys");
x=Param("xposn",315,0,1000,1);
y=Param("yposn",576,0,1000,1);
GfxSetTextColor(ColorRGB(10,250,250));
GfxTextOut( ( " Develop By "),1150,y-45);
GfxSetTextColor(ColorRGB(10,250,250));
GfxTextOut( ( "*AR Trading SYSTEM * "),1150,y-25);
_SECTION_END();
_SECTION_BEGIN("Ribbon");
uptrend=PDI()>MDI()AND Signal()<MACD();
downtrend=MDI()>PDI()AND Signal()>MACD();
Plot( 1, /*efines the height of the ribbon in percent of pane width */"ribbon",
IIf( uptrend, colorLime, IIf( downtrend, colorRed,IIf(Signal()<MACD(), colorLightGrey, colorLightGrey ))), /* choose color */
styleOwnScale|styleArea|styleNoLabel, -.05,50 );
_SECTION_END();
Courtesy: Shivangi