Currency Index - MetaTrader 4 Indicator

Currency Index Indicator for MetaTrader 4

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:

  1. EUR – Euro
  2. USD – US Dollar
  3. GBP – British Pound
  4. JPY – Japanese Yen
  5. AUD – Australian Dollar
  6. NZD – New Zealand Dollar
  7. CHF – Swiss Franc
  8. 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.

Currency Indexes (MetaTrader 4 Indicator)

Currency Indexes (MetaTrader 4 Indicator)

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:

  1. Contains the concerned currency in either the Base or Quote component,
  2. The pairs combined include all 8 major currencies,
  3. 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:

  1. EUR/USD,
  2. EUR/GBP,
  3. EUR/AUD,
  4. EUR/NZD,
  5. EUR/JPY,
  6. EUR/CHF,
  7. 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 \(I_x\), at time t, where rates_total time periods are available for processing, can be mathematically represented as follows:

Currency Index Calculation / Formula

Currency Index Calculation / Formula

 

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:

  1. Launch MetaTrader 4, and open your data folder (File -> Open Data Folder)

    MetaTrader 4 Open Data Folder

    MetaTrader 4 Open Data Folder

  2. Copy the “DLabs_CurrencyIndex.mqh” into your MQL4\Include directory,
  3. Copy the “DLabs_CurrencyIndex.mq4” into your MQL4\Indicators directory,
  4. Restart MetaTrader 4 and open a new chart,
  5. Double-click on DLabs_CurrencyIndex under Indicators to load the indicator on any chart.
Currency Index - MetaTrader 4 Indicator (Inputs)

Currency Index – MetaTrader 4 Indicator (Inputs)

The indicator takes two inputs:

  1. Currency Index to draw (e.g. EUR, GBP, etc)
  2. 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:

Currency Index MetaTrader 4 Indicator

Currency Index MetaTrader 4 Indicator

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!

Darwinex - The Open Trader Exchange

33 replies
    • The Market Bull
      The Market Bull says:

      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.

      Reply
      • eric
        eric says:

        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?

        Reply
        • The Market Bull
          The Market Bull says:

          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!

          Reply
  1. jim
    jim says:

    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

    Reply
    • The Market Bull
      The Market Bull says:

      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!

      Reply
  2. Chris
    Chris says:

    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!

    Reply
    • The Market Bull
      The Market Bull says:

      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:

      Reply
      • Chris
        Chris says:

        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

        Reply
        • The Market Bull
          The Market Bull says:

          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.

          Reply
          • Chris
            Chris says:

            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
            The Market Bull says:

            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!

    • The Market Bull
      The Market Bull says:

      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!

      Reply
  3. Chris
    Chris says:

    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

    Reply
  4. gersom
    gersom says:

    creo que este indicador sería útil para mi operativa pero he hecho lo posible y no he podido hacerle funcionar en mi mt4

    Reply
    • The Market Owl
      The Market Owl says:

      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.

      Reply
  5. Marc
    Marc says:

    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?

    Reply
  6. Ferdinand Odeligbo
    Ferdinand Odeligbo says:

    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.

    Reply
  7. Ferdinand Odeligbo
    Ferdinand Odeligbo says:

    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.

    Reply
  8. mohsern
    mohsern says:

    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?

    Reply
  9. Miguel López
    Miguel López says:

    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.

    Reply
  10. Drew
    Drew says:

    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

    Reply
  11. Nate T
    Nate T says:

    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.

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *