Torque Momentum Oscillator [JOAT]Torque Momentum Oscillator
Introduction
The Torque Momentum Oscillator is a sub-chart composite momentum engine that synthesizes four independent momentum perspectives into a single normalized 0–100 oscillator. Rather than relying on any one momentum calculation, it blends a stochastic-range oscillator, two RSI variants at different cycle lengths, and a Bollinger Band position reading into a weighted composite score — then colors the histogram on a gradient that instantly communicates whether momentum is building or exhausting.
The philosophy behind TMO is that any single momentum indicator can be fooled by choppy markets or unusual price action. When four different momentum frameworks all agree, the composite reading carries genuine conviction. When they diverge, the composite score gravitates toward the midline — a built-in disagreement signal that keeps you from over-committing to a directional bias.
Core Concepts
Component 1 — RSV (Raw Stochastic Value)
The RSV is a stochastic-style reading of where close sits within the highest high and lowest low range over the lookback period, smoothed with an SMA to reduce noise:
float hiRange = ta.highest(high, rsvPeriod)
float loRange = ta.lowest(low, rsvPeriod)
float rsvRaw = safeDiv(close - loRange, hiRange - loRange, 0.5) * 100.0
float rsvLine = ta.sma(rsvRaw, rsvSmooth)
The RSV line is also plotted independently as a fast overlay on the oscillator, giving it a secondary use as a crossover signal generator. When RSV crosses above 20, an Opportunity label fires. When it crosses back below 80, a Risk label fires.
Component 2 — RSI Fast
The standard Wilder RSI at the fast period (default 14) captures short-cycle momentum velocity. It contributes a responsive directional reading without being so short that it becomes noise.
Component 3 — RSI Slow (Blackcat-Style)
The slow RSI uses a blackcat-inspired manual construction: SMA of gains divided by SMA of absolute changes, rather than the standard Wilder smoothing:
float rsiSlowVal = safeDiv(
nz(ta.sma(math.max(close - prevClose, 0.0), rsiSlow), 50.0),
nz(ta.sma(math.abs(close - prevClose), rsiSlow), 1.0),
0.5) * 100.0
This produces a longer-cycle momentum trend bias that is less sensitive to individual candle extremes, creating a smoother counterpart to the fast RSI.
Component 4 — Normalized BB Position
Bollinger Band position tells you where price sits in its statistical envelope:
= ta.bb(close, bbLen, bbMult)
float bbPos = math.max(0.0, math.min(100.0,
safeDiv(close - bbLower, bbUpper - bbLower, 0.5) * 100.0))
At 100 price is at the upper band. At 0 it is at the lower band. At 50 it is exactly at the basis. This adds a volatility-relative momentum reading to the composite.
Weighted Composite Score
All four components are blended using user-configurable weights that are automatically normalized to sum to 1.0:
float wSum = wRsv + wRsiF + wRsiS + wBB
float composite = (rsvLine * (wRsv / wSum) +
rsiFastVal * (wRsiF / wSum) +
rsiSlowVal * (wRsiS / wSum) +
bbPos * (wBB / wSum))
Default weights: RSV 35%, RSI Fast 25%, RSI Slow 25%, BB Position 15%.
Gradient Histogram Coloring
The histogram is colored on a gradient that transitions from full bear red near 0 to transparent near 50, then from transparent bull green near 50 to full bull green near 100. This produces an immediate visual sense of momentum intensity — a faint histogram near midline means indecision, a saturated histogram near the extremes means conviction.
Features
Four-component weighted composite oscillator: RSV + RSI Fast + RSI Slow + BB Position
RSV component double duty: used in composite and plotted as independent fast line
Gradient histogram — color intensity scales with momentum conviction
Overbought (default 75) and oversold (default 25) zones with gradient fills
RSV Opportunity label when RSV crosses above 20 — potential upswing signal
RSV Risk label when RSV crosses below 80 — potential downswing signal
Per-component weight controls — customize the blend to your trading style
Midline reference at 50 and dashed OB/OS lines
Dashboard showing composite, RSV, RSI Fast, RSI Slow, BB position, and last signal
Auto dark/light theme detection
Alerts for Opportunity, Risk, entering Overbought, and entering Oversold
Webhook JSON alert format for automation
Watermark
Input Parameters
Oscillator Settings
RSV Period — lookback for the stochastic range calculation (default 20)
RSV Smoothing — SMA length applied to raw RSV before use (default 3)
RSI Fast Period — short-cycle RSI length (default 14)
RSI Slow Period — long-cycle blackcat-style RSI length (default 24)
BB Period — Bollinger Band lookback (default 20)
BB Multiplier — standard deviation multiplier for BB width (default 2.0)
Composite Weights
RSV Weight — relative weight of the stochastic component (default 0.35)
RSI Fast Weight — relative weight of the fast RSI (default 0.25)
RSI Slow Weight — relative weight of the slow RSI (default 0.25)
BB Position Weight — relative weight of the BB position reading (default 0.15)
Visual Settings
Overbought Level — upper threshold for OB zone and gradient fill (default 75)
Oversold Level — lower threshold for OS zone and gradient fill (default 25)
Show RSV Signals — toggles Opportunity and Risk label markers
Theme — Auto, Dark, or Light
Show Dashboard — compact panel with live component readings
Dashboard Position — four corner options
Show Watermark
Colors
Bull / Opportunity — color for bullish histogram bars and signal labels
Bear / Risk — color for bearish histogram bars and signal labels
RSV Line — color for the fast RSV overlay line
RSI Fast — color for the RSI Fast overlay line
How to Use
Add TMO to your chart below price as a separate sub-pane oscillator.
Watch the composite histogram for directional bias: readings above 50 favor longs, below 50 favor shorts.
Use the OB zone (above 75) and OS zone (below 25) as caution areas — not automatic reversal signals, but places where momentum is stretched and a mean reversion or consolidation becomes more likely.
Use Opportunity labels (RSV crossing above 20) as early warning that the stochastic component is turning up from deeply oversold — look for price confirmation before acting.
Use Risk labels (RSV crossing below 80) as early warning of a potential momentum rollover from overbought.
Check the dashboard to see exactly which components are driving the composite reading. If RSV and RSI Fast are both high but BB Position is low, the composite may not tell the full story.
Adjust the component weights in settings to emphasize the momentum style that best suits your market. For crypto, increasing RSV weight can be effective. For equities, RSI Slow weight can provide a smoother signal.
Indicator Limitations
The composite is a weighted average and can only be as accurate as the components that feed it. In strongly trending markets with low volatility, RSV and BB Position can both hover near extremes for extended periods — the composite will look overbought even when trend continuation is the correct read.
RSV Opportunity and Risk signals are generated by a single component (RSV) and should not be used in isolation as trade entries. They are high-probability turning-point flags that require price action confirmation.
Warmup bars are required before the oscillator becomes reliable. The indicator suppresses output until sufficient history is available.
This is a momentum indicator, not a trend direction indicator. It works best in liquid, active markets and may generate false signals during low-volume chop.
Originality Statement
The Torque Momentum Oscillator is an original Pine Script v6 publication. The architecture of combining RSV (stochastic-range), dual RSI cycles at different periodicities, and normalized Bollinger Band position into a single dynamically-weighted composite is an original design. The blackcat-style SMA-based RSI slow construction is an adapted technique included for its distinct noise characteristics, with full attribution. The gradient histogram coloring, RSV crossover signal system, and dashboard layout are original implementations built specifically for this publication.
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. Momentum readings are not predictions of future price direction. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by jackofalltrades
Pine Script® indicator






















