Currency Strength Indicator with Action Dashboard
- Indicators
- Version: 1.0
- Activations: 5
1. Currency Strength Engine
A single currency cannot be traded independently; it is always traded as part of a currency pair.
Therefore, the system calculates the absolute strength of each currency by analyzing the 28 major currency pairs formed by the eight major currencies:
- USD – United States Dollar
- EUR – Euro
- GBP – British Pound Sterling
- JPY – Japanese Yen
- AUD – Australian Dollar
- CAD – Canadian Dollar
- CHF – Swiss Franc
- NZD – New Zealand Dollar
The indicator uses the Relative Strength Index (RSI) as the core calculation because it is naturally normalized between 0 and 100, allowing fair comparisons across currency pairs with different price scales.
1. Core Logic & Calculation Formula
A single currency (like USD or EUR) cannot be traded alone; it is always traded in pairs (e.g., EUR/USD). Therefore, to measure the absolute strength of a single currency, the indicator aggregates its relative performance across all 28 major currency pairs formed by the 8 major currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD).
The indicator uses the Relative Strength Index (RSI) as the base metric because RSI is naturally normalized (ranging from 0 to 100), eliminating scale differences between pairs (e.g., EUR/USD at 1.10 vs. USD/JPY at 150).
For any currency C C, its strength contribution from a counterpart currency X X is calculated as follows:
- If C C is the Base Currency in the pair C / X C/X (e.g., EUR in EUR/USD): Score = RSI ( C / X ) Score=RSI(C/X)
- If C C is the Quote Currency in the pair X / C X/C (e.g., USD in EUR/USD): Score = 100 − RSI ( X / C ) Score=100−RSI(X/C)
The final strength score of currency C C is the average of these scores across all 7 pairs involving it. This results in a final score between 0 and 100:
- Above 70: Extremely Strong (Strong upward momentum)
- Above 60: Mildly Strong
- Around 50: Neutral
- Below 40: Mildly Weak
- Below 30: Extremely Weak (Strong downward momentum)
2. Multi-Timeframe (MTF) Analysis
Instead of analyzing strength on a single chart timeframe, the indicator calculates these strength scores independently across 9 timeframes: M1, M5, M15, M30, H1, H4, D1, W1, MN M1, M5, M15, M30, H1, H4, D1, W1, MN
From these MTF calculations, the indicator derives:
- Average Strength: The mean strength score across all 9 timeframes.
- Momentum: The rate of change of the average strength compared to N N bars ago: Momentum = Average Strength Current − Average Strength Prev Momentum=Average StrengthCurrent−Average StrengthPrev
- Acceleration: The rate of change of momentum (how fast momentum is expanding or contracting): Acceleration = Momentum Current − Momentum Prev Acceleration=MomentumCurrent−MomentumPrev
- Trend Direction:
- UP: Momentum is positive and > 0.5 >0.5.
- DOWN: Momentum is negative and < − 0.5 <−0.5.
- FLAT: Momentum is stable (between − 0.5 −0.5 and + 0.5 +0.5).
3. The Dashboard UI
The dashboard renders a clean, real-time table directly on the main chart, sorted from strongest to weakest currency. It contains the following columns:
- Rank: The currency's position (1st is strongest, 8th is weakest).
- Currency: The currency name (color-coded to match the lines and indicators).
- M1 to MN: The current strength value on each timeframe (highlighted in Green if strong ≥ 65 ≥65, Red if weak ≤ 35 ≤35).
- Avg: Overall average strength across all timeframes.
- Momentum & Accel: Current momentum and acceleration rates.
- Trend: Directional trend ( UP , DOWN , or FLAT ).
- Best Pair: The counter-currency that yields the highest strength difference (spread).
- Spread: The strength difference between the currency and its best counterpart.
- Signal: A recommended dashboard bias ( BUY , SELL , or WAIT ).
4. Chart Overlay Engines
To prevent chart clutter, all technical drawings appear directly on the main chart:
- Moving Average Engine: Plots EMA 20, 50, 100, and 200 with custom colors and labels showing their names on the right edge of the chart screen.
- Fibonacci Engine: Automatically scans swing points on your selected timeframe and draws standard Fibonacci levels (23.6% to 261.8%) that update in real-time as price forms new swings.
- Support & Resistance Engine: Scans fractals, daily/weekly/monthly highs/lows, and Pivot Points. It groups close-range levels into single Confluence Zones (drawn as filled rectangles) and rates them with stars (★★★☆☆ to ★★★★★) based on the number of overlapping sources.
5. Smart Confirmation & Signal Engine
The system generates BUY/SELL arrows under/above the candles using a strict ruleset. It never relies on currency strength alone. For a signal to trigger, multiple factors must align:
- For a BUY Signal:
- Base currency must be strong and Quote currency must be weak (Strength spread must exceed the threshold).
- Current price must be above the EMA 50 and EMA 200 (Uptrend).
- EMA 20 must be above EMA 50 (Bullish crossover).
- Price must be near or bouncing from a rated Support Confluence Zone.
- Fibonacci confirmation (e.g., price bouncing off 38.2%, 50%, or 61.8% levels).
- Confidence Score: The indicator calculates a confidence score (0% to 100%) based on how many of these conditions are simultaneously met.
- Alert Engine: Triggers Popups, Sounds, Mobile Push Notifications, or Emails when a high-probability signal aligns.
6. Code Optimization (How it runs smoothly)
Running 252 RSI calculations ( 28 pairs × 9 timeframes 28 pairs×9 timeframes) on every single price tick would freeze your MT4/MT5 terminal. To prevent this, the indicator implements two performance rules:
- Timer Throttling: The dashboard table updates only once every 3 seconds via a timer event.
- New-Bar Trigger: Fibonacci and S&R calculations run only on the opening of a new bar.
- Handle Caching (MT5): Pre-creates and caches handles for all indicators during initialization, running lightning-fast memory copies ( CopyBuffer ) on price ticks.
- Auto-Broker Suffix Scan: Instantly detects and applies custom broker suffixes (e.g., .m , pro , ecn , fx ) to all currency pairs.
