Holdfast Trend Strength — Setup & Guide
A trend-strength meter for NinjaTrader 8, MetaTrader 5 and TradingView. It answers one question: how orderly is this move?
Free. No license key, no expiry, nothing held back.
What you received
| File | What it is |
|---|---|
HoldfastTrendStrength.zip |
The NinjaTrader 8 indicator |
HoldfastTrendStrength.mq5 |
The MetaTrader 5 build |
HoldfastTrendStrength.pine |
The TradingView build |
| This guide | Keep it |
Use whichever platform you trade. All three read the same way.
1. What it measures
Most trend tools answer which way and how far. This one answers how orderly.
It measures the correlation between price and the passage of time over a window you choose. At +1, every bar of that window stepped up in order. At −1, every bar stepped down. Near 0, price went nowhere in particular — it may have travelled a long way and come back, but it did not do it in a straight line.
That is a different question from momentum, and it is worth keeping separate. A market can run a long way in a mess, and a market can grind quietly higher without ever moving much. The first is a large move with a weak reading; the second is a small move with a strong one.
What it does not do. It says nothing about direction being right, nothing about where a move will end, and nothing about entries. It is one measurement.
2. Install
NinjaTrader 8
- Tools → Import → NinjaScript Add-On…
- Select
HoldfastTrendStrength.zip. Do not unzip it first. - Click OK, then restart NinjaTrader when prompted.
- Right-click a chart → Indicators → Holdfast Trend Strength → Add.
If the import reports a compile error, an older copy is probably already installed. Remove it under Tools → Remove NinjaScript Assembly… and import again.
MetaTrader 5
- File → Open Data Folder, then open
MQL5\Indicators. - Copy
HoldfastTrendStrength.mq5in. - Back in MetaTrader: View → Navigator, right-click Indicators, Refresh.
- Double-click HoldfastTrendStrength to put it on the chart.
If you would rather compile it yourself, open it in MetaEditor and press F7.
TradingView
- Open the Pine Editor at the bottom of the chart.
- Paste the contents of
HoldfastTrendStrength.pine. - Add to chart.
3. Reading it
The indicator draws in its own pane under price.
The line is the reading, between −1 and +1. The shading under it fills toward zero, green above and red below, and fades as the reading weakens.
The dotted guides at +1 and −1 are the limits. Nothing goes past them.
The vertical lines on the price chart mark confirmed crossings of zero — this is the part worth understanding.
The crossover rule
A zero-line cross on its own is noise. In a chop, price crosses back and forth every few bars, and a tool that marks each one is drawing lines on nothing.
So a cross is only marked once the reading has reached the threshold in the direction it crossed:
- The reading crosses above zero. Nothing is drawn yet.
- It carries on to +0.25 (the default threshold). A line is drawn, back at the bar where the cross happened.
- Or it turns and crosses back below zero first. That was a graze, and nothing is ever drawn.
The line appears at the bar where the cross began, not where it confirmed. That is deliberate: the cross is the event, and the threshold is only the evidence that it meant something.
Raise the threshold for fewer, stronger marks. Lower it toward zero and you are back to marking everything.
4. Two timeframes
The indicator can read a second timeframe alongside your chart.
Panel timeframe decides which series the pane plots — your chart, or the secondary. One or the other, never both: two curves in one pane is two answers to the same question.
The crossover lines are the other way round. Each series has its own section of settings — Primary crossover lines for your chart’s timeframe, Secondary crossover lines for the higher one — and each section decides on its own:
- Crossover lines — which crossings that series draws: Off, Positive only, Negative only, or Both. Off is how you switch a series off; there is no separate “which series” setting.
- Line display — Historical keeps every line that series has drawn; Current keeps only the most recent of each direction. Set per series, so you can keep the full history from your chart timeframe while the higher one shows only the line that is live.
- Bull color, bear color, opacity, width and style. Only the colors differ by direction — opacity, width and style apply to both, which keeps the two series distinguishable at a glance rather than the two directions. The secondary defaults to a dashed, wider, slightly faded line.
The usual arrangement is the pane on your chart’s timeframe, the primary lines on Both and Historical, and the secondary on Both and Current: you see every crossing of the timeframe you are trading, plus where the slower one currently stands.
The secondary series is only loaded when something asks for it — the pane, the secondary lines, or (on NinjaTrader) a secondary hotkey with a key assigned. On NinjaTrader, a timeframe another Holdfast indicator already loads costs almost nothing extra.
5. Settings
They are arranged the way the indicator is built: everything both series share, then the alerts either of them can raise, then one section per series.
General
| Setting | Default | What it does |
|---|---|---|
| Length | 14 | Bars in the correlation window. Shorter reacts faster and crosses more often. Both series use it. |
| Panel timeframe | Chart | Which series the pane plots. |
| Secondary timeframe | 5 Minute | The second series, behind the pane when it is set to Secondary and behind the secondary crossover lines. |
| Crossover threshold | 0.25 | How far past zero the reading must get before a cross is confirmed. Both series use it. |
| Fill mode | Historical | Historical shades under the line as it runs. Current tints the whole pane by the latest reading. One setting, because only one series is ever in the pane. |
| Max fill opacity | 75 | Ceiling for that shading. The reading’s own strength scales it below this. |
| Fill colors | green / red | Bullish and bearish. |
Alerts
Bullish and bearish crossover alerts, with their own sounds. Either series can raise them, so they sit on their own rather than inside one of the sections below. They fire on the same event that draws the line, and name which timeframe produced it.
Primary crossover lines / Secondary crossover lines
The same settings twice, once per series — Crossover lines, Line display, the two colors, opacity, width and style. Section 4 covers what each one does. The primary defaults to Both / Historical and the secondary to Off / Current.
Hotkeys (NinjaTrader)
Each mode can be flipped from the chart without opening the dialog. Enable hotkeys in General turns the lot on or off; each key is a modifier plus a letter, and both halves are yours to change. NinjaTrader reserves the function and arrow keys at the platform level, so those often never reach the indicator.
| Default | Section | What it does |
|---|---|---|
| Ctrl+Shift+H | General | Fill mode: Historical ↔︎ Current |
| Ctrl+Shift+L | Primary | Crossover lines: Off → Positive → Negative → Both |
| Ctrl+Shift+K | Primary | Line display: Historical ↔︎ Current |
| Ctrl+Alt+L | Secondary | The same cycle, on the secondary series |
| Ctrl+Alt+K | Secondary | The same toggle, on the secondary series |
A secondary key with a letter assigned loads the secondary series when the chart opens, so the hotkey has something to draw from even when the secondary lines start Off. Clear both secondary keys if you would rather the series were never loaded.
6. What it pairs with
Trend Strength says how orderly a move is. It does not say where. Two other free Holdfast tools answer the questions it leaves open:
- Holdfast Trend Ribbon — which way the market is leaning, and whether price is still confirming it.
- Holdfast ATR Band — how far is far, on this instrument, right now.
And when you want to know whether a specific price is defended — where real size is resting and how long it has been there — that is Holdfast Liquidity Levels, which reads the order book rather than price.
7. Troubleshooting
The pane is empty. The correlation needs a full window before it reports anything. Give it Length bars.
No crossover lines. Either the reading has not reached the threshold since you added it, or that series’ Crossover lines setting is Off — check the section for the series you expect them from. Lower the threshold temporarily to confirm it is working.
Only one crossover line per direction. That series’ Line display is Current, which is the secondary’s default. Set it to Historical to keep them all.
Lines from the secondary appear late. They appear when the secondary bar closes, which is correct: a 5-minute crossing is not a fact until the 5-minute bar is done.
TradingView draws the lines in the indicator pane, not on price. Update to the version in this download. Recent Pine can place them on the price chart, and this build does.
holdfastlevels.com