Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
ADX MTF Exploration for Amibroker (AFL)
Here is the ADX with MTF exploration…..
1. It displays ADX in selected (current) TF
2. It displays MTF status in the title bar
3. It explores ADX Status in MTF (While exploring, select Hourly TF)
Similar Indicators / Formulas
Indicator / Formula
/////////// Current TF
_SECTION_BEGIN("ADX Trend Indicator Signal");
// ADX Trend Indicator Signal
// PARAMETERS
ADX_Parm = Param( "ADX Period", 10, 5, 50,1);
// FORMULA
ADXwk = ADX(ADX_Parm) < 25;
ADXst = ADX(ADX_Parm) > 25 AND ADX(ADX_Parm) < 50 ;
ADXvs = ADX(ADX_Parm) > 50 AND ADX(ADX_Parm) < 75 ;
ADXex = ADX(ADX_Parm) > 75;
ADXchoppy = ADX(ADX_Parm) < PDI(ADX_Parm) AND ADX(ADX_Parm) < MDI(ADX_Parm);
// VARIABLES
ADXc_Status = WriteIf(ADXwk,"Weak",
WriteIf(ADXst,"Good",
WriteIf(ADXvs,"Strong",
WriteIf(ADXex,"EXCELENT",
WriteIf(ADXchoppy,"Choppy","Neutral")))));
ADXc_Color = IIf(ADXwk,colorRed,
IIf(ADXst,colorDarkGreen,
IIf(ADXvs,colorBrightGreen,
IIf(ADXex,colorLime,
colorLightGrey))));
// IIf(ADXchoppy,colorGold,colorLightGrey)))));
Color2 = IIf(ADXchoppy,colorGold,colorBlack);
Plot(ADX(ADX_Parm),"ADX"+ADX_Parm,ADXc_Color,styleLine);
emaADX=EMA(ADX(ADX_Parm),9);
Plot(emaAdX,"ema ADX",colorWhite,styleLine);
Plot(25,"",color2,styleLine);
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Current TF ADX Over xxxxxxxxxxxxxxxxxxxxxxxxxx//
TimeFrameSet( inHourly ); // switch Time Frame
ADX_Parmh = 10;
ADXwkh = ADX(ADX_Parmh) < 25;
ADXsth = ADX(ADX_Parmh) > 25 AND ADX(ADX_Parmh) < 50 ;
ADXvsh = ADX(ADX_Parmh) > 50 AND ADX(ADX_Parmh) < 75 ;
ADXexh = ADX(ADX_Parmh) > 75;
ADXchoppyh = ADX(ADX_Parmh) < PDI(ADX_Parmh) AND ADX(ADX_Parmh) < MDI(ADX_Parmh);
// VARIABLES
ADXc_Statush = WriteIf(ADXwkh,"Weak",
WriteIf(ADXsth,"Good",
WriteIf(ADXvsh,"Strong",
WriteIf(ADXexh,"EXCELENT",
WriteIf(ADXchoppyh,"Choppy","Neutral")))));
ADXc_Colorh = IIf(ADXwkh,colorRed,
IIf(ADXsth,colorDarkGreen,
IIf(ADXvsh,colorBrightGreen,
IIf(ADXexh,colorLime,
colorLightGrey))));
// IIf(ADXchoppy,colorGold,colorLightGrey)))));
Color2h = IIf(ADXchoppyh,colorGold,colorBlack);
myArrayh=ADX(ADX_Parmh);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxx Daily xxxxxxxxxxxxxxxxxx///////////
TimeFrameSet( inDaily ); // switch Time Frame
ADX_Parmd = 10;
ADXwkd = ADX(ADX_Parmd) < 25;
ADXstd = ADX(ADX_Parmd) > 25 AND ADX(ADX_Parmd) < 50 ;
ADXvsd = ADX(ADX_Parmd) > 50 AND ADX(ADX_Parmd) < 75 ;
ADXexd = ADX(ADX_Parmd) > 75;
ADXchoppyd = ADX(ADX_Parmd) < PDI(ADX_Parmd) AND ADX(ADX_Parmd) < MDI(ADX_Parmd);
// VARIABLES
ADXc_Statusd = WriteIf(ADXwkd,"Weak",
WriteIf(ADXstd,"Good",
WriteIf(ADXvsd,"Strong",
WriteIf(ADXexd,"EXCELENT",
WriteIf(ADXchoppyd,"Choppy","Neutral")))));
ADXc_Colord = IIf(ADXwkd,colorRed,
IIf(ADXstd,colorDarkGreen,
IIf(ADXvsd,colorBrightGreen,
IIf(ADXexd,colorLime,
colorLightGrey))));
// IIf(ADXchoppy,colorGold,colorLightGrey)))));
Color2d = IIf(ADXchoppyd,colorGold,colorBlack);
myArrayd=ADX(ADX_Parmd);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Daily over xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
//xxxxxxxxxxxxxxxxxxxxxxxxxxx Wekly xxxxxxxxxxxxxxxxxx///////////
TimeFrameSet( inWeekly ); // switch Time Frame
ADX_Parmw = 10;
ADXwkw = ADX(ADX_Parmw) < 25;
ADXstw = ADX(ADX_Parmw) > 25 AND ADX(ADX_Parmw) < 50 ;
ADXvsw = ADX(ADX_Parmw) > 50 AND ADX(ADX_Parmw) < 75 ;
ADXexw = ADX(ADX_Parmw) > 75;
ADXchoppyw = ADX(ADX_Parmw) < PDI(ADX_Parmw) AND ADX(ADX_Parmw) < MDI(ADX_Parmw);
// VARIABLES
ADXc_Statusw = WriteIf(ADXwkw,"Weak",
WriteIf(ADXstw,"Good",
WriteIf(ADXvsw,"Strong",
WriteIf(ADXexw,"EXCELENT",
WriteIf(ADXchoppyw,"Choppy","Neutral")))));
ADXc_Colorw = IIf(ADXwkw,colorRed,
IIf(ADXstw,colorDarkGreen,
IIf(ADXvsw,colorBrightGreen,
IIf(ADXexw,colorLime,
colorLightGrey))));
// IIf(ADXchoppy,colorGold,colorLightGrey)))));
Color2w = IIf(ADXchoppyw,colorGold,colorBlack);
myArrayw=ADX(ADX_Parmw);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Weekly over xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
//xxxxxxxxxxxxxxxxxxxxxxxxxxx Monthly xxxxxxxxxxxxxxxxxx///////////
TimeFrameSet( inMonthly ); // switch Time Frame
ADX_Parmm = 10;
ADXwkm = ADX(ADX_Parmm) < 25;
ADXstm = ADX(ADX_Parmm) > 25 AND ADX(ADX_Parmm) < 50 ;
ADXvsm = ADX(ADX_Parmm) > 50 AND ADX(ADX_Parmm) < 75 ;
ADXexm = ADX(ADX_Parmm) > 75;
ADXchoppym = ADX(ADX_Parmm) < PDI(ADX_Parmm) AND ADX(ADX_Parmm) < MDI(ADX_Parmm);
// VARIABLES
ADXc_Statusm = WriteIf(ADXwkm,"Weak",
WriteIf(ADXstm,"Good",
WriteIf(ADXvsm,"Strong",
WriteIf(ADXexm,"EXCELENT",
WriteIf(ADXchoppym,"Choppy","Neutral")))));
ADXc_Colorm = IIf(ADXwkm,colorRed,
IIf(ADXstm,colorDarkGreen,
IIf(ADXvsm,colorBrightGreen,
IIf(ADXexm,colorLime,
colorLightGrey))));
// IIf(ADXchoppy,colorGold,colorLightGrey)))));
Color2m = IIf(ADXchoppym,colorGold,colorBlack);
myArraym=ADX(ADX_Parmm);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Monthly over xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
//xxxxxxxxxxxxxxxxxxxxxxxxxxx Quarterly xxxxxxxxxxxxxxxxxx///////////
TimeFrameSet( inQuarterly ); // switch Time Frame
ADX_Parmq = 10;
ADXwkq = ADX(ADX_Parmq) < 25;
ADXstq = ADX(ADX_Parmq) > 25 AND ADX(ADX_Parmq) < 50 ;
ADXvsq = ADX(ADX_Parmq) > 50 AND ADX(ADX_Parmq) < 75 ;
ADXexq = ADX(ADX_Parmq) > 75;
ADXchoppyq = ADX(ADX_Parmq) < PDI(ADX_Parmq) AND ADX(ADX_Parmq) < MDI(ADX_Parmq);
// VARIABLES
ADXc_Statusq = WriteIf(ADXwkq,"Weak",
WriteIf(ADXstq,"Good",
WriteIf(ADXvsq,"Strong",
WriteIf(ADXexq,"EXCELENT",
WriteIf(ADXchoppyq,"Choppy","Neutral")))));
ADXc_Colorq = IIf(ADXwkq,colorRed,
IIf(ADXstq,colorDarkGreen,
IIf(ADXvsq,colorBrightGreen,
IIf(ADXexq,colorLime,
colorLightGrey))));
Color2q = IIf(ADXchoppyq,colorGold,colorBlack);
myArrayq=ADX(ADX_Parmq);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Quarterly over xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
//xxxxxxxxxxxxxxxxxxxxxxxxxxx Yearly xxxxxxxxxxxxxxxxxx///////////
TimeFrameSet( inYearly ); // switch Time Frame
ADX_Parmy = 10;
ADXwky = ADX(ADX_Parmy) < 25;
ADXsty = ADX(ADX_Parmy) > 25 AND ADX(ADX_Parmy) < 50 ;
ADXvsy = ADX(ADX_Parmy) > 50 AND ADX(ADX_Parmy) < 75 ;
ADXexy = ADX(ADX_Parmy) > 75;
ADXchoppyy = ADX(ADX_Parmy) < PDI(ADX_Parmy) AND ADX(ADX_Parmy) < MDI(ADX_Parmy);
// VARIABLES
ADXc_Statusy = WriteIf(ADXwky,"Weak",
WriteIf(ADXsty,"Good",
WriteIf(ADXvsy,"Strong",
WriteIf(ADXexy,"EXCELENT",
WriteIf(ADXchoppyy,"Choppy","Neutral")))));
ADXc_Colory = IIf(ADXwky,colorRed,
IIf(ADXsty,colorDarkGreen,
IIf(ADXvsy,colorBrightGreen,
IIf(ADXexy,colorLime,
colorLightGrey))));
Color2y = IIf(ADXchoppyy,colorGold,colorBlack);
myArrayy=ADX(ADX_Parmy);
TimeFrameRestore(); // restore time frame to original
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Quarterly over xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
//~~~~~~~~~~~~~~~~~~~~~~~~~~`Variable Expand ~~~~~~~~~~~~~~~~~~~~~~~~~~`//
MyArrayh = TimeFrameExpand(MyArrayh, inHourly);
MyArrayd = TimeFrameExpand(MyArrayd, inDaily);
MyArrayw = TimeFrameExpand(MyArrayw, inWeekly);
MyArraym = TimeFrameExpand(MyArraym, inMonthly);
MyArrayq = TimeFrameExpand(MyArrayq, inQuarterly);
MyArrayy = TimeFrameExpand(MyArrayy, inYearly);
// EXPLORER
Filter = 1;
AddColumn(myArrayh,"Hourly" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statush,"Hrly",1,colorWhite,ADXc_Colorh);
AddColumn(myArrayd,"Daily" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statusd,"Daily",1,colorWhite,ADXc_Colord);
AddColumn(myArrayw,"Weekly" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statusw,"Weekly",1,colorWhite,ADXc_Colorw);
AddColumn(myArraym,"Motnhly" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statusm,"Monthly",1,colorWhite,ADXc_Colorm);
AddColumn(myArrayq,"Qtrly" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statusq,"Qtly",1,colorWhite,ADXc_Colorq);
AddColumn(myArrayy,"Yearly" , 1.2 , colorDefault , colorDefault , 65);
AddTextColumn(ADXc_Statusy,"Yearly",1,colorWhite,ADXc_Colory);
_SECTION_END();
///////////// Title //////////////////
Change=C-Ref(C,-1);
ROCVal = ROC(C,1);
Title = "ADX: " + NumToStr(ADX(ADX_Parm),1.2) + ", Status:" + ADXc_Status
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Hrly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmh),1.2)+";"+ ADXc_Statush
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Dly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmd),1.2)+";"+ ADXc_Statusd
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Wkly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmw),1.2)+";"+ ADXc_Statusw
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Mthly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmm),1.2)+";"+ ADXc_Statusm
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Qtrly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmq),1.2)+";"+ ADXc_Statusq
+EncodeColor(colorWhite) +" | "
+EncodeColor(colorBlue)
+ " Yrly :" +EncodeColor(colorBlack)
+ NumToStr(ADX(ADX_Parmy),1.2)+";"+ ADXc_Statusy;
/*
+ ", L:" +L+ ", C:"+ C +" ("+NumToStr(Change,1.2)+" )" +" ("+NumToStr(ROCVal,1.2)+" %%)")
+ WriteIf(IDNR7, EncodeColor(colorBrightGreen) + WriteIf(idm7 > 1, StrLeft(NumToStr(idm7), 4), "") + " IDNR7 ", "")
+ WriteIf(IDNR4, EncodeColor(colorLightOrange) + WriteIf(idm4 > 1, StrLeft(NumToStr(idm4), 4), "") + " IDNR4 ", "")
+ WriteIf(NR7 AND NOT ID, EncodeColor(colorBrightGreen) + WriteIf(m7 > 1, StrLeft(NumToStr(m7), 4), "") + " NR7 ", "")
+ WriteIf(NR4 AND NOT ID, EncodeColor(colorLightOrange) + WriteIf(m4 > 1, StrLeft(NumToStr(m4), 4), "") + " NR4 ", "")
+ WriteIf(ID AND NOT NR7 AND NOT NR4, EncodeColor(colorTurquoise) + WriteIf(idm > 1, StrLeft(NumToStr(idm), 4), "") + " Inside Day ", "")
+ ", Range=" + Prec(R + 0.00001, 2) + "," +EncodeColor(colorBlack) +" Vol : "+NumToStr(V,1.2) + ","
+EncodeColor(colorYellow)
+ " LSMA 25: " +NumToStr(LSMA25,1.2)
+"\n"+EncodeColor(41)+"HrlyTrend: " +WriteIf(hup,EncodeColor(colorBrightGreen)+"Up ", WriteIf(hdN,EncodeColor(colorRed)+"Down", WriteIf(hflat,EncodeColor(colorWhite)+"Flat ","")))
+"\n"+EncodeColor(41)+"DailyTrend: " +WriteIf(dup,EncodeColor(colorBrightGreen)+"Up ", WriteIf(ddN,EncodeColor(colorRed)+"Down", WriteIf(dflat,EncodeColor(colorWhite)+"Flat ","")))
+EncodeColor(colorWhite)
+"\n"+EncodeColor(41)+"WeeklyTrend: " +WriteIf(wup,EncodeColor(colorBrightGreen)+"Up ", WriteIf(wdN,EncodeColor(colorRed)+"Down", WriteIf(wflat,EncodeColor(colorWhite)+"Flat ","")))
+EncodeColor(colorWhite)
+"\n"+EncodeColor(41)+"MonthlyTrend: " +WriteIf(mup,EncodeColor(colorBrightGreen)+"Up ", WriteIf(mdN,EncodeColor(colorRed)+"Down", WriteIf(mflat,EncodeColor(colorWhite)+"Flat ","")))
+EncodeColor(colorWhite)
+EncodeColor(colorBlue) 4 comments
Leave Comment
Please login here to leave a comment.
Back
Good exploration
Hi,
This code does not contain standard setting.
One may use following code.
Is there an option to sort the Exploration by the strongest to the weakest? Currently this is sorted by Ticker and Timeframe. Would like to have it sorted by Strongest to Weakest.
Hi,
While the exploration looks good, the values it shows for ADX in exploration seem to be wrong bcoz when I open a particular chart it shows different ADx values.
Is there something I am doing wrong?
Thanks
Vijay