Forex Pulse Matrix TradingView Indicator

Forex Pulse Matrix is a currency strength meter TradingView traders can read at a glance. Also, it pulls Rate of Change from seven dollar pairs across four timeframes, twenty-eight requests in all, then ranks the eight majors from 0 to 100 on each timeframe. A weighted composite blends the four. Indeed, the table highlights the strongest and weakest currency, then names the pair that expresses that gap in correct quoting order.

It is free and open source. Still, you can add it to any chart from the Forex Pulse Matrix script page on TradingView, and the full Pine source is published there for you to read.

What Forex Pulse Matrix plots on the price chart

The output is one table, seven columns wide and eleven rows deep. Thus, each of the eight currencies takes a row: four heatmap cells, one per timeframe, then the composite score, then a trend arrow. Cell colours run a gradient from red at 0 to green at 100. Hence, the arrow shows the one-bar change in the composite, doubling up past three points. The panel tints the strongest and weakest labels. Next, a footer prints the suggested pair with the score gap. An optional dispersion line plots in its own pane.

How Forex Pulse Matrix is built

Twenty-eight requests, eight currencies

The script asks for ROC over 14 bars on FX:EURUSD, GBPUSD, USDJPY, AUDUSD, NZDUSD, USDCAD and USDCHF. Then, it asks at 15 minutes, 1 hour, 4 hours and daily by default. Every request.security call runs with lookahead off, so no future data enters. Yet, the symbols are hard-coded to the FX feed, which means the board reads the same pairs whatever chart hosts it.

Each pair’s ROC feeds two currencies with opposite signs. Truly, a rising EURUSD lifts EUR and drags USD. A rising USDJPY lifts USD and drags JPY. Plainly, the dollar appears in all seven pairs, so its raw reading is the average of seven signed contributions. The other seven currencies each rest on one pair alone.

That design carries a consequence worth knowing. Also, the model measures seven of the eight majors only against the dollar. There is no EURJPY, no GBPAUD, no cross anywhere in the source. Indeed, so one dollar-wide move pushes every other currency the other way at once. Read the board as strength relative to USD, not as a full 28-pair basket.

Normalising, smoothing, weighting

Per timeframe the script finds the smallest and largest raw reading across the eight currencies, then rescales every value into a 0 to 100 range. Still, the weakest currency lands on 0 and the strongest on 100 on every bar, by construction. So 100 means top of the eight right now, not strong in absolute terms. Thus, a 5-period EMA then smooths each cell, which pulls the printed extremes back inside the range.

The composite blends the four timeframes with weights that default to 10, 20, 30 and 40 percent. Hence, the script divides each weight by their sum, so any numbers you type still work. Daily carries the most weight out of the box, which tilts the composite toward the slower picture. Next, set all four equal if you want a flat blend.

The footer picks the highest and lowest composite, then orders that pair using a fixed convention list: EUR, GBP, AUD, NZD, USD, CAD, CHF, JPY. Then, whichever currency ranks earlier becomes the base. When the strong currency is the base the text reads Buy, otherwise it reads Sell. Yet, the gap between the two scores prints alongside. The optional pulse line measures how far the eight scores sit from 50 on average, with guides at 20 and 35.

How to read the signals

Read rows before you read numbers. Truly, a currency green across all four timeframe cells shows agreement between the fast and the slow picture. A row that runs green at 15 minutes and red on the daily shows a counter-trend push, which is a different trade with a different stop. Plainly, the arrow column adds the one-bar direction, so you can see which currencies are gaining ground right now.

Size matters more than rank. Also, two currencies can sit at 100 and 0 while every score bunches near 50, because the scale rescales each bar. Switch on the pulse plot to check. Indeed, values under 20 mean the eight scores cluster, so the board’s extremes carry little weight. Values over 35 mean real dispersion, which is when a strong-versus-weak pairing means something.

Nothing here gates on a closed bar and no arrows print on price, so there is nothing to repaint on history. Still, the cells describe the live bar and re-render on every tick. Higher-timeframe columns update only as their own bar develops, so the daily column can sit unchanged for hours while the 15-minute column moves.

Every Forex Pulse Matrix setting explained

The script exposes 17 inputs, grouped in the settings panel exactly as shown below. Defaults are the published values.

Timeframes

SettingWhat it doesDefaultRange
Timeframe 1Fastest timeframe for near-term momentum15
Timeframe 2Short-term trend direction60
Timeframe 3Medium-term trend bias240
Timeframe 4Primary trend timeframe — highest weight in composite score1D

Calculation

SettingWhat it doesDefaultRange
ROC LengthRate of Change lookback period for strength measurement141 to 100
SmoothingEMA smoothing applied to strength values to reduce noise51 to 20

Scoring Weights

SettingWhat it doesDefaultRange
TF1 Weight %Weight for fastest timeframe in composite score100 to 100
TF2 Weight %Weight for short-term timeframe200 to 100
TF3 Weight %Weight for medium-term timeframe300 to 100
TF4 Weight %Weight for primary trend timeframe400 to 100

Display

SettingWhat it doesDefaultRange
Table PositionChoose the table position from the listed options.top_righttop_left, top_center, top_right, bottom_left, bottom_center, bottom_right
Text SizeChoose the text size from the listed options.smalltiny, small, normal
Show Best Trade SuggestionDisplay the strongest-vs-weakest pair recommendation at the bottomonon / off
Show Pulse PlotShow an FX market dispersion oscillator in a separate paneoffon / off

Colors

SettingWhat it doesDefaultRange
Strong ColorColor for strongest currencies#00C853
Weak ColorColor for weakest currencies#FF3D3D

Alerts

SettingWhat it doesDefaultRange
Strength Change ThresholdAlert when a currency composite score changes by this amount between bars101 to 50

Alerts built into Forex Pulse Matrix

The script ships 9 alert conditions. Thus, open the alert dialog on the chart, pick the indicator as the condition source, then choose the event you want. Alerts fire on the close of the bar, so they follow the same confirmed-bar rule the on-chart signals use.

  • USD Strength Shift
  • EUR Strength Shift
  • GBP Strength Shift
  • JPY Strength Shift
  • AUD Strength Shift
  • NZD Strength Shift
  • CAD Strength Shift
  • CHF Strength Shift
  • Any Currency Shift

Other markets and timeframes

This one is not market-agnostic, and that is by design. Hence, seven FX symbols sit hard-coded in the source, so the board always reads the currency market. It never touches the host chart’s price though. Next, that makes it useful anywhere: leave it on gold, an index or a crypto chart and it still reports dollar-relative currency strength as context. The only thing the host chart controls is how often the table refreshes, since it supplies the bar clock.

Limitations worth knowing

This is a dashboard, not a signal engine. Then, it plots no arrows on price, holds no stop or target logic and sizes nothing. The Top Trade footer names a pair, not a plan, and it can change from one bar to the next as the composite scores shuffle. Yet, treat it as a filter that tells you which pairs deserve a chart, and do the entry work elsewhere.

Normalisation is relative, so the extremes never disappear. Truly, someone always prints 0 and someone always prints 100 on each timeframe, even on a flat session where all eight barely moved. The 5-period EMA softens that, but it cannot remove it. Plainly, the pulse index exists to expose exactly this, so check it before you act on a wide gap.

ROC over 14 bars is the whole strength model. Also, a currency that trended hard and then paused reads neutral, because the measure only looks at the change across those 14 bars. Crosses are absent entirely. Indeed, the alert threshold also defaults to 10 composite points between consecutive bars, which is a large move on a smoothed score, so alerts stay rare until you lower it.

Get Forex Pulse Matrix on TradingView

Open Forex Pulse Matrix on TradingView

If you also trade MetaTrader, the MT4 and MT5 indicator library is available below.

Get the complete indicator library

One email unlocks the full MT4 and MT5 indicator library. Still, this TradingView script stays free on TradingView – the button above adds it to your chart.

Using it alongside MetaTrader

Adding a script on TradingView takes one click, so there is no install step here. Thus, if you want the same idea on MetaTrader, the MT4 and MT5 indicator installation guide walks through copying files into the data folder and attaching them to a chart. You can also browse the full MetaTrader indicator library, the MT4 indicators section, or the other free TradingView scripts published on this profile. For related chart tools see the MT5 indicators section and the forex trading strategies guides.

External references

Frequently asked questions

Does the Forex Pulse Matrix repaint?

There are no chart markers to repaint. Hence, every request.security call uses lookahead off, so no future data enters the calculation. Cells on the forming bar do update as it develops and settle at the close, exactly like any live dashboard. Next, the table itself renders only on the last bar, so it always shows the current state rather than a history.

Why is one currency stuck at 100 and another at 0?

Each timeframe rescales the eight raw readings between their own minimum and maximum. Then, the weakest always maps to 0 and the strongest to 100 by construction. The number states rank and relative distance within the eight, not an absolute strength level. Yet, use the pulse plot to judge whether the spread is meaningful.

Does the chart symbol I run it on matter?

No. Truly, the calculation never reads the host chart’s price. It requests its own seven FX symbols directly, so the board looks identical on EURUSD, on gold or on an index. Plainly, the host chart only supplies the bar clock that triggers a refresh, so a faster chart updates the table more often.

Can I add crosses such as EURJPY?

Not from the settings panel. Also, the source hard-codes the seven dollar pairs, and the strength model is dollar-relative by design. The four timeframes, the ROC length, the smoothing, the four weights, the table position and the colours are all adjustable, but the symbol list is not.

How much should I rely on this indicator?

Treat it as one input, not a decision. Indeed, it is a chart analysis tool, not trading advice. Test it on your own markets and timeframes before relying on it. Results are not guaranteed; past performance is not indicative of future results.

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

Leave a Comment