OPEN-SOURCE SCRIPT
Rate of Change Indicator [JopAlgo] (ROCI)

Rate of Change Indicator (ROCI) [JopAlgo] — see impulse early, skip the dead moves
What it is (one line):
ROCI tells you how fast price changed vs N bars ago, in percent. It’s a clean momentum gauge:
Above 0 → price is higher than N bars ago (bullish momentum).
Below 0 → price is lower than N bars ago (bearish momentum).
Further from 0 → stronger impulse.
The default +5 / −5 bands highlight strong thrust. Zero-line crosses flag momentum shifts.
What you’ll see
Blue line = ROCI.
Orange dotted line = 0 (bull/bear divider).
White dotted lines = ±Strong Momentum levels (default ±5).
Green/red panel tint when ROCI lives above +5 or below −5.
Read in 3 seconds: Which side of 0? How far? Growing or fading vs last bar?
How to use it (simple playbook)
Direction filter
Trade longs only while ROCI > 0.
Trade shorts only while ROCI < 0.
Timing
Breakouts: prefer breaks where ROCI pushes through +5/−5 and holds on the first retest.
Pullbacks in trend: in an uptrend, let ROCI dip toward 0 and then turn back up → entry. (Mirror for downtrends.)
Do less in chop
If ROCI whips around near 0, you’re in balance. Only act at objective levels.
Rule of thumb: Zero cross = heads-up. ±5 hold = go-with.
Entries, exits, risk (use this, keep it tight)
Continuation entry (trend):
Bias up at your level (e.g., VAL/AVWAP). ROCI stays > 0 and turns up from a shallow dip → enter long.
Stop: under structure/level. Targets: POC/HVNs or next swing.
Breakout entry:
Break through a level with ROCI > +5 (or < −5 for shorts). Enter on the retest that holds while ROCI remains outside the band.
Invalidation: quick fall back inside the band and under 0 → stand down.
Exit/trim:
On longs, repeated lower ROCI peaks into your target (momentum fading) → take profits or tighten.
Timeframe guide
1–5m (scalps): ROC Period 10–20, Strong 6–10. Many signals; require level + confirmation.
15m–1H (intraday): ROC Period 14–34, Strong 4–7. Sweet spot.
2H–4H (swing): ROC Period 20–50, Strong 3–6. Cleaner legs, fewer flips.
1D+ (position): ROC Period 50–100, Strong 2–5. Use for backdrop; trigger on lower TF.
Settings that actually matter (and how to tune)
ROC Period (default 32): lookback for comparison.
Shorter = earlier signals, more noise.
Longer = steadier bias, slower turns.
Strong Momentum Threshold (default 5): where you say “this is real thrust.”
Pick it by history: scroll back, mark thrusts that ran, and note their typical ROCI. Set the band slightly inside that value so you see the start of good moves.
Pattern cheatsheet
Impulse leg: ROCI above 0 making higher peaks → trend leg in progress.
Healthy pullback: ROCI dips toward 0 but doesn’t flip negative, then turns up → add/entry with trend.
Weak breakout / likely fail: Price pokes level but ROCI stays near 0 or rolls over quickly.
Divergence (lightweight): Price makes a higher high, ROCI peaks lower → momentum thinning; trail tight into HVNs.
Best combos (kept simple)
Volume Profile v3.2 [JopAlgo]: Use VAH/VAL/LVNs/POC for where. ROCI tells you if the break has juice.
Anchored VWAP [JopAlgo]: Reclaim/reject AVWAP with ROCI on the correct side of 0 for higher quality.
CVDv1 [JopAlgo]:
Yes: ROCI thrust + CVD Alignment OK + no Absorption → higher odds the move sticks.
No: ROCI thrust but Absorption red → don’t chase; wait for the fail/reclaim.
(Optional add: RVOL—high participation + strong ROCI is the A+ combo for breaks.)
Common mistakes this avoids
Buying a breakout while ROCI sits near 0 (no impulse).
Shorting a strong trend when ROCI is firmly > 0 (or > +5).
Treating every zero cross as a trade (it’s a heads-up, not an entry by itself).
Quick defaults to start
ROC Period: 32
Strong Threshold: 5
Process: Level → ROCI side/strength → (optionally) CVD quality → Execute with structure-based risk
Screenshots tip: show a level break where ROCI pushes through +5 and a pullback where ROCI turns up from ~0.
Mini-disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor decisions to levels, flow, and risk.
What it is (one line):
ROCI tells you how fast price changed vs N bars ago, in percent. It’s a clean momentum gauge:
Above 0 → price is higher than N bars ago (bullish momentum).
Below 0 → price is lower than N bars ago (bearish momentum).
Further from 0 → stronger impulse.
The default +5 / −5 bands highlight strong thrust. Zero-line crosses flag momentum shifts.
What you’ll see
Blue line = ROCI.
Orange dotted line = 0 (bull/bear divider).
White dotted lines = ±Strong Momentum levels (default ±5).
Green/red panel tint when ROCI lives above +5 or below −5.
Read in 3 seconds: Which side of 0? How far? Growing or fading vs last bar?
How to use it (simple playbook)
Direction filter
Trade longs only while ROCI > 0.
Trade shorts only while ROCI < 0.
Timing
Breakouts: prefer breaks where ROCI pushes through +5/−5 and holds on the first retest.
Pullbacks in trend: in an uptrend, let ROCI dip toward 0 and then turn back up → entry. (Mirror for downtrends.)
Do less in chop
If ROCI whips around near 0, you’re in balance. Only act at objective levels.
Rule of thumb: Zero cross = heads-up. ±5 hold = go-with.
Entries, exits, risk (use this, keep it tight)
Continuation entry (trend):
Bias up at your level (e.g., VAL/AVWAP). ROCI stays > 0 and turns up from a shallow dip → enter long.
Stop: under structure/level. Targets: POC/HVNs or next swing.
Breakout entry:
Break through a level with ROCI > +5 (or < −5 for shorts). Enter on the retest that holds while ROCI remains outside the band.
Invalidation: quick fall back inside the band and under 0 → stand down.
Exit/trim:
On longs, repeated lower ROCI peaks into your target (momentum fading) → take profits or tighten.
Timeframe guide
1–5m (scalps): ROC Period 10–20, Strong 6–10. Many signals; require level + confirmation.
15m–1H (intraday): ROC Period 14–34, Strong 4–7. Sweet spot.
2H–4H (swing): ROC Period 20–50, Strong 3–6. Cleaner legs, fewer flips.
1D+ (position): ROC Period 50–100, Strong 2–5. Use for backdrop; trigger on lower TF.
Settings that actually matter (and how to tune)
ROC Period (default 32): lookback for comparison.
Shorter = earlier signals, more noise.
Longer = steadier bias, slower turns.
Strong Momentum Threshold (default 5): where you say “this is real thrust.”
Pick it by history: scroll back, mark thrusts that ran, and note their typical ROCI. Set the band slightly inside that value so you see the start of good moves.
Pattern cheatsheet
Impulse leg: ROCI above 0 making higher peaks → trend leg in progress.
Healthy pullback: ROCI dips toward 0 but doesn’t flip negative, then turns up → add/entry with trend.
Weak breakout / likely fail: Price pokes level but ROCI stays near 0 or rolls over quickly.
Divergence (lightweight): Price makes a higher high, ROCI peaks lower → momentum thinning; trail tight into HVNs.
Best combos (kept simple)
Volume Profile v3.2 [JopAlgo]: Use VAH/VAL/LVNs/POC for where. ROCI tells you if the break has juice.
Anchored VWAP [JopAlgo]: Reclaim/reject AVWAP with ROCI on the correct side of 0 for higher quality.
CVDv1 [JopAlgo]:
Yes: ROCI thrust + CVD Alignment OK + no Absorption → higher odds the move sticks.
No: ROCI thrust but Absorption red → don’t chase; wait for the fail/reclaim.
(Optional add: RVOL—high participation + strong ROCI is the A+ combo for breaks.)
Common mistakes this avoids
Buying a breakout while ROCI sits near 0 (no impulse).
Shorting a strong trend when ROCI is firmly > 0 (or > +5).
Treating every zero cross as a trade (it’s a heads-up, not an entry by itself).
Quick defaults to start
ROC Period: 32
Strong Threshold: 5
Process: Level → ROCI side/strength → (optionally) CVD quality → Execute with structure-based risk
Screenshots tip: show a level break where ROCI pushes through +5 and a pullback where ROCI turns up from ~0.
Mini-disclaimer
Educational tool, not financial advice. Test first, size sensibly, and always anchor decisions to levels, flow, and 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.