In this post, we describe the purpose, composition, parity, calculation logic and construction of a Currency Index for each of the 8 major currencies.
These include:
- EUR – Euro
- USD – US Dollar
- GBP – British Pound
- JPY – Japanese Yen
- AUD – Australian Dollar
- NZD – New Zealand Dollar
- CHF – Swiss Franc
- CAD – Canadian Dollar
MQL4 source code is also provided to enable traders to load and use the indicator on the MetaTrader 4 platform.
What is a Currency Index?
A currency index measures the evolution or strength in one major currency relative to a basket of the other major currencies.
With a single currency pair, e.g. GBP/JPY, an uptrend would symbolize a strengthening of the British Pound vs the Japanese Yen, information based on only those two currencies, and vice versa.
Therefore, by monitoring just the GBP/JPY, a trader knows how the GBP is behaving vs the JPY, but not how the GBP and JPY currencies are behaving independently.
With a currency index however, an uptrend in the British Pound (GBP) would indicate a strengthening of the British Pound relative to the entire basket of seven other major currencies.
i.e. EUR, USD, JPY, CAD, AUD, NZD, and CHF.
Similarly, in the case of a downtrend, it would indicate a weakening of the GBP relative to the entire basket of seven other major currencies.
Basket Composition & Parity
Each currency index is calculated relative to a basket of currency pairs, chosen such that each pair:
- Contains the concerned currency in either the Base or Quote component,
- The pairs combined include all 8 major currencies,
- Where the concerned currency is the Quote component of a pair, the parity of the pair needs to be reversed. e.g. when calculating the GBP currency index, EUR/GBP needs a parity of -1, making it -EUR/GBP to adjust for relative GBP strength.
For example, the basket of currency pairs to calculate the EUR currency index is:
- EUR/USD,
- EUR/GBP,
- EUR/AUD,
- EUR/NZD,
- EUR/JPY,
- EUR/CHF,
- EUR/CAD
It contains the concerned currency (EUR), and the other major currencies, i.e. USD, GBP, JPY, AUD, NZD, CHF, CAD. As each currency pair has EUR as the Base component, the parity of each pair in this basket is +1.
The remaining currency indexes therefore, have the following composition and parities:
USD: -EUR/USD, -GBP/USD, -AUD/USD, -NZD/USD, USD/JPY, USD/CHF, USD/CAD,
GBP: -EUR/GBP, GBP/USD, GBP/AUD, GBP/NZD, GBP/JPY, GBP/CHF, GBP/CAD,
JPY: -EUR/JPY, -USD/JPY, -AUD/JPY, -NZD/JPY, -GBP/JPY, -CHF/JPY, -CAD/JPY,
AUD: -EUR/AUD, AUD/USD, AUD/JPY, AUD/NZD, -GBP/AUD, AUD/CHF, AUD/CAD,
NZD: -EUR/NZD, NZD/USD, -AUD/NZD, NZD/JPY, -GBP/NZD, NZD/CHF, NZD/CAD,
CHF: -EUR/CHF, -NZD/CHF, -AUD/CHF, CHF/JPY, -GBP/CHF, -USD/CHF, -CAD/CHF,
CAD: -EUR/CAD, -USD/CAD, -AUD/CAD, -NZD/CAD, -GBP/CAD, CAD/CHF, CAD/JPY
Unlike the common standard of using a weighted portfolio of currencies in baskets to reflect each currency’s relative importance by economic factors, this implementation uses an equally weighted portfolio to remove that bias.
Calculation Logic & Construction
Each currency index [latex]I_x[/latex], at time t, where rates_total time periods are available for processing, can be mathematically represented.
The contribution of each currency pair in an index’s basket is calculated as above, indexed to base 100.00 from the chosen start date.
The MQL4 indicator source code provided allows the user to set a start date for calculating the first point in the currency index therefore starting at 100.00. The default start date is January 01, 2015.
MQL4 Indicator (Source Code)
We have uploaded a functional MetaTrader 4 Indicator to our GitHub page under tools -> MQL4.
First, simply Right-Click and Save-As on the following links to save the files to your computer, and follow the instructions below them:
Click here to download DLabs_CurrencyIndex.mqh
Click here to download DLabs_CurrencyIndex.mq4
Instructions:
- Launch MetaTrader 4, and open your data folder (File -> Open Data Folder)
- Copy the “DLabs_CurrencyIndex.mqh” into your MQL4\Include directory,
- Copy the “DLabs_CurrencyIndex.mq4” into your MQL4\Indicators directory,
- Restart MetaTrader 4 and open a new chart,
- Double-click on DLabs_CurrencyIndex under Indicators to load the indicator on any chart.
The indicator takes two inputs:
- Currency Index to draw (e.g. EUR, GBP, etc)
- Start date to base the index calculation.
Click OK, and the indicator will draw the selected currency index in its own dedicated window, as shown below:
Important Note: In order for the indicator to draw correctly and accurately, users must ensure that their History Center contains data for all currency pairs in an index’s basket.
[Additional Resources] Constructing Currency Portfolio Indexes in MetaTrader 4
Do you have what it takes? – Join the Darwinex Trader Movement!
36 Comments
Alberto Cardenas
Hi, great work guys. Do you have some manual of proceed to instal the file saved in GitHub to MT4. Thanks in advance
The Market Bull
Hi Alberto! Great to hear your found the post useful. Thank you for raising this query, we have just updated the blog post with additional instructions on downloading files from GitHub and installing in MetaTrader 4. Hope this helps.
eric
the indicator seem not working, am i the only one? hmmmm.
The Market Bull
Hi Eric, no worries – kindly elaborate further on what you’re experiencing and we’ll help you get it working 🙂
eric
i copy to my indicator folder, and restart my mt4, but cant find/see any indicator name as per downloaded at the custom. but it is exist in the folder, how?
The Market Bull
Hi Eric,
Please try the following steps:
1) From the file menu in MetaTrader 4, click on “Open Data Folder”,
2) Open the “MQL4” folder you see here,
3) Copy the file ending in “.mqh” into the “Include” folder,
4) Copy the file ending in “.mq4” into the “Indicators” folder you see here,
5) Now close and restart MetaTrader 4.
Also, kindly forward any further questions to info@darwinex.com as we can help you much faster through there 🙂
Hope this helps!
jim
Hi, Can I ask how to interrupt the reading given in the indicator please? i.e. is a number above 100.00 a show of strength for currency? Thanks
The Market Bull
Hi Jim,
The reading indicates the rise or decline of the index since your start date. For example, if the reading on a particular day is 101.00 and your start date is 2017-01-01, it implies that the index has strengthened by 1.0% since your start date.
Hope this helps!
Krzysiek
Hi guys. Thanks for your great job. I already use it:)
The Market Owl
Glad you like it!
Chris
Tried again, after 4 times it worked. Dont know whtas going on. Sorry for the “virus” mail, but today you must be cautious…. Thank you for your work!
The Market Bull
Hi Chris,
Glad to hear you got it working 🙂
No worries, Anti-Virus software can sometimes flag unrecognized file extensions (.mql is a non-standard extension so could have set it off accidentally). All Indicator code is published in text format on GitHub for this very reason, so users are able to safely download/copy and compile the code in MT4 themselves, no virus threats possible as a result :thumbsup:
Chris
This is a great indi! Thank you for your work!
Is it possible to display the indi on chart? For example GBP index-GBPUSD overlay (no extra window)??? That would be great to compare behaviour. Or overlay the price of the pair in the indi window would do the same job.
greetings
C
The Market Bull
Hi Chris, glad you’re finding the Indicator useful! Yes, you can add this Indicator to any pair’s chart as it works independently. You simply need to select the currency in the indicator’s options to display the required index on the chart it’s been added to.
Chris
Yes I know that, but its in an extra indicator window. Is it possible to overlay the indi in the price window?
The Market Bull
Hi Chris,
Technically it’s possible to overlay any indicator as a function of price and time on a given chart, yes.
However, in this currency index indicator’s case, we opted for a dedicated window as overlaying a line composed of multiple currency pair returns (with its own base of 100) would prove less intuitive to users when comparing their chart contents (a single currency pair of one price range) to a currency index (of a different price range).
We will of course keep your suggestion on file and research ways to present overlaid indexes intuitively.
As always, thank you for your interest and feedback!
rimantas venckus
Can you make to show 7 currencies at once ?
The Market Bull
Hi Rimantas,
Great suggestion! 🙂
This is indeed possible – however, we’ll first need to assess how MetaTrader handles multiple indexes plotted in the same indicator window (performance-wise).
If our tests look good, we’ll consider publishing an update to the source code – thank you for raising this!
Chris
Hey darwinex team,
thank you for your great work! Can you please help me to plot the line of the Dlabs_CurrencyIndex as a ZigZag???
Greetings big fan
Chris
gersom
creo que este indicador sería útil para mi operativa pero he hecho lo posible y no he podido hacerle funcionar en mi mt4
The Market Owl
Hola gersom,
Por favor, escríbenos a info@darwinex.com y nuestros compañeros te podrán ayudar a hacerlo funcionar. Cualquier información que puedas proporcionar como capturas de pantalla del Journal/Registro y de la sección Experts/Expertos de tu Terminal de trading será de mucha utilidad.
Marc
Hi GUys, Your DLabs_CurrencyIndex.mq4 indicator is flagging up a few issues when compiling. Any chance someone could have a look at it please?
The Market Bull
Hi Marc,
Thank you for letting us know.
Could you please create an Issue via the following link, providing the following information:
1) MetaTrader 4 Experts log containing the errors you’ve mentioned
2) MetaTrader 4 Journal log (same as above)
3) A more detailed description of the events that lead to your experience.
As soon as we have this information, we’ll investigate and get back to you with feedback as soon as possible, directly on GitHub.
Create an Issue here:
https://github.com/darwinex/DarwinexLabs/issues
Marc
Many thanks for the response….i got it working….User error :-/
The Market Bull
You’re welcome Marc!
tony
This indicator is perfect Thanks. Works great no problem
The Market Bull
Great to hear Tony, glad it’s proving useful!
Ferdinand Odeligbo
I am having problems with the “DLabs_CurrencyIndex.mq4”. Followed the download instructions but indicator window does not open to launch the indicator on a new chart. Please I need your help to resolve this issue ASAP.
Ferdinand Odeligbo
Hi, I read through the reply of a couple of posts her and was able to successfully download your currency index indicator. Great indicator for precise entry. Better than watching the spaghetti indicators out there. Many thanks for your pioneering ideas.
mohsern
hi. The dlabs indicator is not installed on my MetaTrader 4. Is it possible to analyze the currency index with this indicator and find the strength of trading and trading?
Miguel López
Un saludo a todos ! Aún funciona este indicador? El código fuente lo copio y lo pego en el editor mq4, pero me presenta errores y honestamente no se como corregirlos.
Drew
Market bull – right click and save didn’t work so I cop[ied to note book for mqh file. when I copied the mql contents to metaeditor it indicated – line 82, weights and N aren’t declared.. what shall I do?
thx
Drew
Nate T
You guys are a godsend. Your index indicator is absolutely phenomenal! I can not trade without it! I have one question, does it recalculate or repaint? I notice past data seems to fluctuate. Other than that, what a wonderful indicator. It’s what I’ve been looking for a long time.
Henry
Hi, I tried to complied, but error message. “weights” and “N” undeclared identifier.
Octapad
This is great but is it possible to use it as an overlay instead of in an indicator window?
lorenzo Sostre
is there any updated version of this? I just tried installing both files but the indicator isn’t opening up at all on my chart. thanks!