In this article
After this article, you can
- Distinguish missing observations from zero moves.
- Check basket completeness before comparing rankings.
Terms at hand: Base currency · quote currency (counter currency) · Trading Journal · Trading Plan · Average True Range (ATR) · MACD (Moving Average Convergence Divergence)
A currency strength meter ranks relative exchange-rate changes within a selected basket. It does not measure the value of an economy or tell which pair will next be profitable. Understand its inputs, sign convention, window and normalization before interpreting a score or a change in rank.
The eight majors and the logic of the ranking
A common retail basket is USD, EUR, GBP, JPY, AUD, NZD, CAD and CHF. The 28-pair count is a tool-design choice, not the entire global FX market or an official turnover ranking. For historical context, the BIS April 2022 survey also included the renminbi and ranked it fifth by OTC turnover; that survey does not validate a strength-meter trading rule.
Different meters need not use the same formula. A named implementation may select ordinary percentage changes, log returns, different weights, smoothing or a rescaled display. For the lesson’s own three-currency model, define each pair’s movement as 100 × ln(end/start) and each currency’s score as the equal-weight average of its two signed pair movements. Assign a pair’s return to the base currency and its negative to the quote currency. This explicit symmetric model is used below; it is not a universal CSM standard.
A ranking change without a quote change
Use the earlier symmetric averaging model, but replace missing EUR/USD with a false zero. The input error changes the ranking.
Scroll sideways to see the full diagram
Hypothetical model: three currencies, equal weights, common timestamps and specified logarithmic points; 4 + (−3) = 1 ensures cross-rate consistency. The second case deliberately mishandles missing data; it is not a valid alternative ranking. The author's MQL5 example illustrates how selected pairs affect an average; this error is not attributed to that author.
Where the single score actually comes from
For a hypothetical EUR/USD move from 1.1000 to 1.1220, the ordinary return is +2%. USD/EUR instead changes by 1/1.02 − 1 ≈ −1.9608%, not exactly −2%, because its starting denominator differs. In the log model, 100 × ln(1.02) ≈ +1.980263 points and the inverse has exactly the negative log return. These points are not an account’s ordinary percentage profit.
Christian Benjamin’s MQL5 article gives a particular signed ordinary-percentage average over selected pairs; its code does not implement a complete seven-pair basket for every currency. The invincible3 TradingView description instead specifies log returns, EMA smoothing, z-scores and normalization, with release notes mentioning volatility weighting. These are user-authored implementations, not one official platform standard. The protected TradingView source cannot be independently audited from its description. A normalized score of 80 is not an 80% probability, and normalization does not guarantee that news cannot move it.
Calculate a complete three-currency example
Hypothetical inputs. Use one common interval, equal weights, no spread and no smoothing. EUR/USD starts at 1.1000 and ends at 1.1220; USD/JPY starts at 150 and ends at 147. Consistent EUR/JPY is 1.1000 × 150 = 165 at the start and 1.1220 × 147 = 164.934 at the end. The three log movements are about +1.980263, −2.020271 and −0.040008 points. They are teaching prices, not observed trades.
The signed averages are EUR = (1.980263 − 0.040008)/2 ≈ 0.970127; USD = (−1.980263 − 2.020271)/2 ≈ −2.000267; JPY = (2.020271 + 0.040008)/2 ≈ 1.030139. Calculate at full precision, then round. The order is JPY, EUR, USD; JPY only narrowly leads EUR. This describes completed inputs, not the next candle.
When can score differences reconstruct a pair? Only for a complete, equally weighted, synchronized log-return basket with consistent cross rates, let rᵢⱼ = sᵢ − sⱼ for currency changes relative to one reference. Averaging all N − 1 pair movements gives Sᵢ − Sⱼ = N/(N − 1) × rᵢⱼ, so rᵢⱼ = (N − 1)/N × (Sᵢ − Sⱼ). For the three-currency example, EUR-minus-JPY score difference is about −0.060012; multiply by 2/3 to recover EUR/JPY’s −0.040008 log points. Its ordinary return is 100 × (exp(r/100) − 1) = −0.04%. Missing pairs, different weights or volatility normalization remove this particular justification. Do not apply 2/3 to an unknown meter or treat the reconstructed past move as a forecast.
The hourly reading and the daily reading — two different tools
A timeframe label does not state the lookback length. H1 with one bar covers one hourly interval; H1 with 24 bars covers 24 hourly intervals. Compare window length, close times and source before comparing H1 with D1. A longer window need not improve the strategy, and the calculation alone does not classify a tool as suitable only for day or swing trading.
Current-bar values and higher-timeframe requests can change before their close. A ranking visible at 10:20 can therefore differ from the completed hourly ranking. Record what was available at the decision time; using a later close as an earlier signal introduces future data. The lesson on analysis across several timeframes develops those alignment questions without requiring identical rankings.
Rotation describes changes in relative scores
Strength rotation is a change in a currency's relative score or rank under the chosen calculation. It can be examined as a hypothesis, but averaging seven related pairs does not prove that it leads another indicator by two or three candles. Measure timing on synchronized data before making that claim.
Several close scores can exchange rank after a small relative change; compare the values and gaps, not just first and last place. A move in the DXY dollar index uses a different basket, and central-bank events may be recorded as context. Neither establishes that a CSM rotation preceded an executable breakout. Timing claims require synchronized observations and a defined comparison.
A strength ranking is relative to its calculation, currency universe and observation window.
MACD on a specified strength series
MACD can be applied to a declared score series rather than price. Specify whether the input is a raw score, normalized line or rank number: these are different data. Also specify averages and initialization. For example, MT5 documents price MACD as EMA(12) − EMA(26) with an SMA(9) signal line; other implementations can differ. A crossover of a transformed score does not itself prove a rank change, a lead over price MACD or removal of false trade signals.
MACD can also be calculated on a defined strength-score series. That changes the input, not the need for validation. A claim that it reduces false signals requires a specified comparison, sample and trading rule; averaging related pairs alone does not establish an improvement.
What to do tomorrow
The symmetric model’s scores sum to zero before rounding: not every currency can weaken against every other currency at once. All can lose purchasing power against goods or a common external reference, but that requires other data. A basket also needs complete, timely inputs. Missing is not a zero return, as the diagram shows. Adding another transformation of the same prices is not independent proof that a trading rule works.
- Reproduce the model. Keep EUR/USD ending at 1.1220 but change final USD/JPY to 150. Consistent EUR/JPY is 168.30. With the same starting values and equal weights, EUR scores about 1.980263; USD and JPY both score −0.990131. EUR leads and the others tie.
- Audit the inputs. Record selected pairs, weights, return type, lookback, timeframe, timestamps and normalization. Handle missing or stale observations explicitly.
- Define a proposed rule. State a selection criterion before testing it, with entry, exit, size and costs. Do not transfer a four-point threshold across unrelated scales.
- Evaluate information and exposure. Use only data available at each decision, assess later unused data and account for shared currencies across positions. A calendar entry or an extra price indicator does not guarantee that a method is profitable.
Related: the multi-timeframe framework discusses defining relationships between horizons; currency-pair correlations examine shared exposures. For broader context, see intermarket analysis on ForexMechanics. A linked framework is further reading, not an independent confirmation of this meter’s effectiveness.
Check your understanding
One short exercise
About 2 min · you can try again
Missing EUR/USD is replaced with zero and the leader changes. What follows?
- JPY definitely accelerated against EUR.
- Only account costs changed.
- Restore or explicitly handle the missing observation first.
Check the answer and explanation
Restore or explicitly handle the missing observation first.
Missing and zero observations are different inputs.
Frequently asked
How does a currency strength meter compute the score for a single currency?
It depends on the implementation. Check pairs, weights, return type, window, normalization and feed. Christian Benjamin’s MQL5 example averages signed ordinary percentage changes over selected pairs; the invincible3 TradingView description specifies log returns and further transformations, with protected code. Neither establishes one platform-wide standard. In the lesson’s own three-currency log model, each currency averages two signed pair changes at equal weights and common timestamps.
How does intraday CSM differ from daily CSM in practice?
Compare the actual window, not just H1 or D1. One H1 bar and 24 H1 bars cover different periods; source and close times also matter. Current or higher-timeframe values can change before confirmation. A disagreement between rankings is an observation to investigate, not a guaranteed multi-day reversal or a fixed one-to-two-bar delay. Record the information available at the decision time.
What is MACD-CSM and when does it make sense?
It means applying a specified MACD-style transformation to a strength series. Declare whether the input is score, normalized score or rank, and specify the average types and periods. MT5’s documented price MACD uses EMA(12) minus EMA(26) and an SMA(9) signal; adapting a formula changes the input, not the need for testing. A two-to-three-bar lead or reduced false signals requires measured comparisons, not merely averaging related pairs.
What are the biggest limitations of a currency strength meter?
Different baskets, stale or missing pairs, weights, windows and rescaling can change the result. A display value of 80 is not an 80% probability. Ordinary +2% on EUR/USD implies about −1.9608% on its inverse, not exactly −2%. In the symmetric model, scores sum to zero: all currencies cannot weaken against each other at once. Purchasing power against goods is another measurement. A rule using ranks also needs complete trade and cost assumptions and a test on unused data.
Sources & bibliography
-
BIS Triennial Central Bank Survey of foreign exchange turnover (April 2022) · Official April 2022 foreign-exchange turnover data. www.bis.org ↗
-
BIS Quarterly Review The global foreign exchange market in a higher-volatility environment · December 2022 commentary on $7.5 tn/day FX turnover and dealer flow www.bis.org ↗
-
TradingView Currency Strength scripts directory · A directory of user-contributed currency-strength scripts. www.tradingview.com ↗
-
Wiley Kathy Lien — Day Trading and Swing Trading the Currency Market, 3rd ed. · book reference for relative-strength approach to FX pair selection onlinelibrary.wiley.com ↗
-
Christian Benjamin, MQL5 Price Action Analysis Toolkit Development (Part 23): Currency Strength Meter · The author provides a selected-pair signed percentage-average implementation with explicit lookbacks and code. It is a user example, not a universal CSM formula or proof of a trading edge. www.mql5.com ↗
-
invincible3, TradingView Currency Strength Meter (8 Majors) — invincible3 · The author describes log-return aggregation, smoothing and normalized scores, with update notes on volatility weighting. The script is protected; its published description is not an independent audit of the code. www.tradingview.com ↗
-
MetaQuotes MACD — Calculation · Defines MT5 price MACD as the difference of two EMAs with an SMA signal line. Used to distinguish a declared score transformation from price inputs and from unsupported lead claims. www.metatrader5.com ↗
