Currency Strength Snapshot
Reading currency strength off individual pairs is misleading on its own. EURUSD rising could mean EUR is strong, or it could mean USD is weak, and a trader scanning eight pairs one at a time has to hold all of that in their head to separate the two. This script does the separation mechanically: every pair is decomposed into its base and quote currency, and each pair's percentage change over InpLookbackBars bars is added to the base currency's running total and subtracted from the quote currency's, because a base/quote pair rising is exactly a statement that the base strengthened against the quote by that amount. Most currency strength tools hardcode a fixed list of eight majors - USD, EUR, GBP, JPY, CHF, AUD, CAD, NZD - and quietly ignore anything else. This script does not. The currency list is discovered at runtime from the symbols themselves, using each symbol's own declared SYMBOL_CURRENCY_BASE and SYMBOL_CURRENCY_PROFIT rather than slicing the symbol name into two three-letter halves. Name-slicing breaks the moment a broker appends a suffix (EURUSD.m) or a symbol is not a plain forex pair at all, and it cannot distinguish those cases from a real six-letter pair - reading the metadata instead means an exotic currency, or a broker-specific symbol, appears in the ranking automatically the moment a pair quoting it exists, and anything that cannot be classified is listed by name and reason rather than silently dropped. Each currency's final score is the average of its per-pair contributions, not the sum. A currency quoted against twelve other pairs would otherwise rank ahead of one quoted against three purely from appearing on more symbols, which is a count effect, not a strength effect - averaging removes it. Notes and limitations - This is a snapshot, not a live indicator. It computes once at the moment it is run and does not update as new bars form - run it again for a fresh read. - A symbol whose broker does not declare SYMBOL_CURRENCY_BASE and SYMBOL_CURRENCY_PROFIT (some CFDs and synthetics) cannot be classified and is listed separately rather than guessed at from its name. - The ranking reflects percentage price change only. It says nothing about volume, momentum quality or which pairs are most tradeable right now - two currencies can show similar strength for very different reasons. - With InpWatchedOnly set to false on a broker offering many hundreds of symbols, the run can take noticeably longer, since every symbol needs a history lookup.
Script · MT5 · v1.0 · Free
About Currency Strength Snapshot
Currency Strength Snapshot is a script for MetaTrader 5. It can alert you with a pop-up, sound, email or push message. It has 3 settings, such as Lookback bars, Timeframe and Watched only. MQL source code included.
Files in the download: CurrencyStrengthSnapshot.ex5, CurrencyStrengthSnapshot.mq5, CurrencyStrengthSnapshot.txt.
Settings
| Setting | Default | What it does |
|---|---|---|
| Lookback bars | 24 | Bars of change measured on InpTimeframe |
| Timeframe | PERIOD_H1 | Timeframe the percentage change is measured on |
| Watched only | true | Only use symbols currently in Market Watch, not the broker's full list |
How to install
- Download the ZIP from your PolyMaria library and unzip it.
- In MetaTrader 5 open File → Open Data Folder, then go to MQL5 → Scripts.
- Copy the .mq5 file(s) there. Put any .mqh files in MQL5 → Include.
- Open the .mq5 file in MetaEditor and press Compile (F7) if MetaTrader does not show it.
- Drag the script onto a chart to run it once.
Tags: Currency Strength · EURUSD · Alerts · MT5 Script · MQL5 Source Code