OPEN-SOURCE SCRIPT
VIP Currency Strength Matrix

VIP Currency Strength Matrix — Round-Robin Strong-Count (SMA/EMA)
OVERVIEW
This indicator scores the 8 major currencies (EUR, GBP, AUD, NZD, USD, CAD, CHF, JPY) using a round-robin "strong-count" method, then builds a pair-difference matrix so you can see, at a glance, which pairs have the wind at their back and which are fighting it. It is a bias and confluence tool, not an entry signal.
HOW IT WORKS
The 8 currencies form 28 unique pairings. For each pair, the indicator checks whether price is above or below a reference moving average (200 SMA by default):
- Price ABOVE the MA -> the BASE currency earns +1 strong-count.
- Price BELOW the MA -> the QUOTE currency earns +1 strong-count.
Each currency is compared against the other seven, so every currency ends with a strong-count from 0 (weakest) to 7 (strongest).
For any pair, the score shown is:
strong-count(base) - strong-count(quote), ranging from -7 to +7.
- Positive = base is stronger (buy-side confluence).
- Negative = quote is stronger (sell-side confluence).
Cells at or beyond the highlight threshold (default 4) are color-coded green (buy) or red (sell).
WHAT YOU SEE
- Currency Strength table: all 8 currencies ranked 0-7, strongest at the top.
- Pair Matrix: all 28 pairs with their difference score, sorted so the strongest buy-side reads sit at the top and the strongest sell-side reads at the bottom.
HOW TO USE IT
1. Use it to establish directional bias first: favor longs on currencies ranked high, shorts on currencies ranked low.
2. A pair scoring +6 or +7 is strongly one-sided, but "strong" is not the same as "a good entry." Wait for price to reach your own level/structure before acting.
3. Look for agreement, not extremes. Alignment across your timeframes is the read you want.
MULTI-TIMEFRAME
Each copy of the indicator computes ONE timeframe (28 data requests). TradingView caps unique data requests at 40 (non-pro) / 64 (pro), so 28 pairs across several timeframes cannot fit in a single script. To watch multiple timeframes at once, add the indicator to your chart several times, set each copy to a different timeframe, and give each its own table position.
IMPORTANT SETUP NOTES
- Run it on a chart timeframe equal to or lower than the timeframe you request. Requesting a lower timeframe than the chart (e.g. asking for 15m while on a 4H chart) forces a heavy data pull across all 28 pairs and can trigger "Memory limits exceeded." If you see that error, lower "History bars per pair" and/or drop to a lower chart timeframe.
- "Data-feed prefix" must be a feed that carries all 28 pairs, including the crosses (OANDA works well).
INPUTS
- Reference MA type and length (default SMA 200)
- History bars per pair (memory control)
- Data-feed prefix
- Timeframe (one per copy)
- Panel tag, table positions, text size
- Buy/Sell highlight threshold (default 4)
HONEST LIMITATIONS
- A round-robin does not mathematically guarantee 8 unique ranks. Cyclical conditions (A>B, B>C, C>A) can produce a tie, showing a 0 or a repeated rank. Treat a 0 as "no clear edge / choppy," not as a defect.
- Strength above/below a long MA is a slow, trend-following read. It tells you direction and context; it does not time entries.
This script is provided for educational and analytical purposes only. It is not financial advice and makes no representation about future results. Always do your own analysis and manage risk.
OVERVIEW
This indicator scores the 8 major currencies (EUR, GBP, AUD, NZD, USD, CAD, CHF, JPY) using a round-robin "strong-count" method, then builds a pair-difference matrix so you can see, at a glance, which pairs have the wind at their back and which are fighting it. It is a bias and confluence tool, not an entry signal.
HOW IT WORKS
The 8 currencies form 28 unique pairings. For each pair, the indicator checks whether price is above or below a reference moving average (200 SMA by default):
- Price ABOVE the MA -> the BASE currency earns +1 strong-count.
- Price BELOW the MA -> the QUOTE currency earns +1 strong-count.
Each currency is compared against the other seven, so every currency ends with a strong-count from 0 (weakest) to 7 (strongest).
For any pair, the score shown is:
strong-count(base) - strong-count(quote), ranging from -7 to +7.
- Positive = base is stronger (buy-side confluence).
- Negative = quote is stronger (sell-side confluence).
Cells at or beyond the highlight threshold (default 4) are color-coded green (buy) or red (sell).
WHAT YOU SEE
- Currency Strength table: all 8 currencies ranked 0-7, strongest at the top.
- Pair Matrix: all 28 pairs with their difference score, sorted so the strongest buy-side reads sit at the top and the strongest sell-side reads at the bottom.
HOW TO USE IT
1. Use it to establish directional bias first: favor longs on currencies ranked high, shorts on currencies ranked low.
2. A pair scoring +6 or +7 is strongly one-sided, but "strong" is not the same as "a good entry." Wait for price to reach your own level/structure before acting.
3. Look for agreement, not extremes. Alignment across your timeframes is the read you want.
MULTI-TIMEFRAME
Each copy of the indicator computes ONE timeframe (28 data requests). TradingView caps unique data requests at 40 (non-pro) / 64 (pro), so 28 pairs across several timeframes cannot fit in a single script. To watch multiple timeframes at once, add the indicator to your chart several times, set each copy to a different timeframe, and give each its own table position.
IMPORTANT SETUP NOTES
- Run it on a chart timeframe equal to or lower than the timeframe you request. Requesting a lower timeframe than the chart (e.g. asking for 15m while on a 4H chart) forces a heavy data pull across all 28 pairs and can trigger "Memory limits exceeded." If you see that error, lower "History bars per pair" and/or drop to a lower chart timeframe.
- "Data-feed prefix" must be a feed that carries all 28 pairs, including the crosses (OANDA works well).
INPUTS
- Reference MA type and length (default SMA 200)
- History bars per pair (memory control)
- Data-feed prefix
- Timeframe (one per copy)
- Panel tag, table positions, text size
- Buy/Sell highlight threshold (default 4)
HONEST LIMITATIONS
- A round-robin does not mathematically guarantee 8 unique ranks. Cyclical conditions (A>B, B>C, C>A) can produce a tie, showing a 0 or a repeated rank. Treat a 0 as "no clear edge / choppy," not as a defect.
- Strength above/below a long MA is a slow, trend-following read. It tells you direction and context; it does not time entries.
This script is provided for educational and analytical purposes only. It is not financial advice and makes no representation about future results. Always do your own analysis and manage risk.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.