ADX System for Amibroker (AFL)
jvimalraj almost 14 years ago Amibroker (AFL)
ADX based buy and sell indicator.
Screenshots
Indicator / Formula
Copy & Paste Friendly
_SECTION_BEGIN("ADX Systems");
SetChartOptions(0,chartShowArrows|chartShowDates);
PositionSize = 300000;
range = Optimize("period", 14, 3, 100, 1);
MinTrendStrength = 10;
ADXVal = ADX(range);
PDIVal = PDI(range);
MDIVal = MDI(range);
TrendValidity = ADXVal >= MinTrendStrength AND ADXVal > Ref(ADXVal, -1) AND (Ref(ADXVal, -1) > Ref(ADXVal, -2) OR ADXVal > Ref(ADXVal, -2));
TrendStop = IIf(ADXVal > (Ref(ADXVal, -1)) AND Ref(ADXVal,-1) > (Ref(ADXVal, -2)), 0, 1);
BuyCond1 = PDIVal > MDIVal AND TrendValidity;
BuyCond2 = ADXVal > MDIVal AND PDIVal > ADXVal;
BuyCond3 = MDIVal > ADXVal;
Buy = BuyCond1 AND (BuyCond2 OR BuyCond3);
Sell = TrendStop OR Cross(MDIVal, PDIVal);
Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);
BuyPrice = ValueWhen(Buy,C,1);
SellPrice = ValueWhen(Sell,C, 1);
ShortCond1 = MDIVal > PDIVal AND TrendValidity;
ShortCond2 = ADXVal > PDIVal AND MDIVal > ADXVal;
ShortCond3 = PDIVal > ADXVal;
Short = ShortCond1 AND (ShortCond2 OR ShortCond3);
Cover = TrendStop OR Cross(PDIVal, MDIVal);
Short = ExRem(Short, Cover);
Cover = ExRem(Cover, Short);
CoverPrice = ValueWhen(Cover,C,1);
ShortPrice = ValueWhen(Short, C ,1);
Filter = Buy OR Sell;
SetOption("NoDefaultColumns", True );
AddColumn( DateTime(), "Date", formatDateTime );
AddColumn(Open,"Open",1);
AddColumn(High,"High",1);
AddColumn(Low,"Low",1);
AddColumn(Close,"Close",1);
GraphXSpace = 10;
Plot( C, "Close", colorBlack, styleCandle );
Shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( Shape, IIf( Buy, colorGreen, colorRed ),0, IIf( Buy, L, H ) );
Shape2 = Cover * shapeHollowUpArrow + Short * shapeHollowDownArrow;
PlotShapes( Shape2, IIf( Cover, colorGreen, colorRed ),0, IIf( Cover, L, H ) );
Title = EncodeColor(colorRed) + Name() + " - " + EncodeColor(colorBlue)+ Interval(2) + " (Advanced ADX) " + " - " + Date() +" - " + EncodeColor(colorBlue) +
"Open-"+ O +" "+"High-"+ H +" "+"Low-"+ L +" "+ "Close-"+ C +" "+ " Volume = "+WriteVal(V,1.0) +
EncodeColor(colorLime)+
WriteIf (Buy , "\n" + "GO LONG / Reverse Signal at " + BuyPrice + " ", "")+
WriteIf (Sell , "\n" + "EXIT LONG / Reverse Signal at " + SellPrice + " ", "");
_SECTION_END();0 comments
Leave Comment
Please login here to leave a comment.