I'm new to forex trading but have a background in programming. I have a strategy that has been working reasonable for me but it involves a lot of staring at the screen waiting for just the right time to open a position. I'm working on an EA to automate this but I need to get the values of D+ &D- that are plotted as part of the ADX chart so that I can compare the two. As far as I have been able to find in the documentation the ADX function only provides the value of the ADX line. Any help here would be greatly appreciated.
- Looking for an indicator of the ADX with a Moving Average in the ADX window.
- programing a new robot ea
- Newbie EA design help
biqut2 wrote >>
I'm new to forex trading but have a background in programming. I have a strategy that has been working reasonable for me but it involves a lot of staring at the screen waiting for just the right time to open a position. I'm working on an EA to automate this but I need to get the values of D+ &D- that are plotted as part of the ADX chart so that I can compare the two. As far as I have been able to find in the documentation the ADX function only provides the value of the ADX line. Any help here would be greatly appreciated.
I'm new to forex trading but have a background in programming. I have a strategy that has been working reasonable for me but it involves a lot of staring at the screen waiting for just the right time to open a position. I'm working on an EA to automate this but I need to get the values of D+ &D- that are plotted as part of the ADX chart so that I can compare the two. As far as I have been able to find in the documentation the ADX function only provides the value of the ADX line. Any help here would be greatly appreciated.
https://docs.mql4.com/constants/lines
Or you can incorporatate the ADX code into your EA
int init() { // I use Exponential averaging for simplicity, 'real' ATR uses simple. ATR.EMA = 2.0/(ATR.Period+1); ADX.EMA = 2.0/(ADX.Period+1); for(int shift=3.45*MathMax(ADX.Period, ATR.Period)+1; shift > 0; shift--) { CheckNewBar(shift); // Initialize indicators DMI+, DMI-, ADX, and ATR } //... //+------------------------------------------------------------------+ //| Handle adjustments on the start of a new bar | //+------------------------------------------------------------------+ bool newBar, // Export to start and modifyStops. closeAllOrders; // Export to modifyStops int ADX.open.bars, // Export to Comment/openNew tradeThisBar, // \ spikeDelay; // > Export to openNow double DId, // / ATR, // Export to Comment/SetDir ADXd, pDMId, nDMId; // Export to Comment only void CheckNewBar(int shift=0) { static datetime Time0; newBar = Time[shift] > Time0; if (!newBar) return; Time0 = Time[shift]; double TR = MathMax(High[shift+1], Close[shift+2]) // True - MathMin( Low[shift+1], Close[shift+2]); // range. // I use EMA for simplicity, the 'real' ATR uses a SMA. ATR += ATR.EMA*(TR - ATR); if (TR > 0) { double pdm = MathMax(0, High[shift+1] - High[shift+2]), // Directional ndm = MathMax(0, Low[shift+2] - Low[shift+1]); // movement. if (pdm<ndm) pdm=0; // Only the largest else if (ndm<pdm) ndm=0; // Movement is counted. // The ADX and DMI use a 0-100 range. I use 0-1.00 for efficiency pDMId += ADX.EMA*(pdm/TR - pDMId); nDMId += ADX.EMA*(ndm/TR - nDMId); // Average Directional Index averages from DMI DId = pDMId-nDMId; double div = pDMId+nDMId; if (div>0) ADXd += ADX.EMA*(MathAbs(DId)/div - ADXd); //...I use DId and ADXd (0-1) rather than (0-100) ADX=100*ADXd, DI=100*DId
William Roeder:
Or you can incorporatate the ADX code into your EA I use DId and ADXd (0-1) rather than (0-100) ADX=100*ADXd, DI=100*DId
Or you can incorporatate the ADX code into your EA I use DId and ADXd (0-1) rather than (0-100) ADX=100*ADXd, DI=100*DId
Hi @William Roeder,
Do you know where can I find the full ADX code that you mention here?
If it is not available, can you please direct me to where I can find an MQL implementation of the ADX?
Thanks.
kasinath: Do you know where can I find the full ADX code that you
mention here?\
If you had used this you would have found this.
How can I search for indicators and other elements in this forum? - MQL5 programming forum
William Roeder:
If you had used this you would have found this.
How can I search for indicators and other elements in this forum? - MQL5 programming forum
If you had used this you would have found this.
How can I search for indicators and other elements in this forum? - MQL5 programming forum
Haha, yes. I found it shortly after leaving this reply!
Thank you!
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register