For the Geeks
This page is for anyone who has looked at the oscillator and thought, "this does not behave like the RSI I know." It does not. Three mechanics make it different from textbook RSI: the bipolar scale, the double-smoothi...
Written By Axiom Admin
Last updated About 1 month ago
For the Geeks
This page is for anyone who has looked at the oscillator and thought, "this does not behave like the RSI I know." It does not. Three mechanics make it different from textbook RSI: the bipolar scale, the double-smoothing chain, and the weight-normalized blending. Each one is a deliberate design choice with a clear tradeoff. Understanding them will not change what the oscillator shows, but it will change how much sense the display makes to you.
Nothing here is implementation detail. This page explains what each mechanic does to your experience and how to verify it, not how to reproduce the code.
The bipolar scale
Standard RSI runs from 0 to 100. The midpoint is 50 β above it is considered bullish momentum, below it is bearish. This oscillator converts the standard RSI into a bipolar range: -100 to +100, with zero as the midpoint.
The conversion is straightforward in concept: the old midpoint (RSI 50) becomes zero. Everything above RSI 50 maps to positive values. Everything below maps to negative values. The full range (0-100) maps to the full bipolar range (-100 to +100).
Conversion reference
This table is the key to the most common confusion with this oscillator. When you see +70 on the display, you are not looking at RSI 70. You are looking at something equivalent to RSI 85 β a genuinely extreme reading that occurs much less frequently than traditional overbought. The default overbought and oversold thresholds on this oscillator are already deep into territory that standard RSI analysis would consider rare.
Why use a bipolar scale?
Three practical reasons:
Zero becomes meaningful. On standard RSI, 50 is the midpoint, but the visual center of the 0-100 range does not feel like a midpoint β the chart's axis still extends from 0 to 100. On the bipolar scale, zero is both the mathematical and visual center. Above zero is positive momentum. Below zero is negative. The zero line becomes an immediate visual reference.
Symmetry around center. The overbought and oversold thresholds are equidistant from zero (+70 and -70 by default), which makes the visual display symmetric. On standard RSI, the overbought (70) and oversold (30) levels are each 20 points from the midpoint, but the visual range is 0-100 with the midpoint at 50 β not inherently symmetric on the display.
Cross-indicator consistency. Other bipolar oscillators (like MACD-based oscillators) also use a zero-centered range. Having RSI on the same kind of scale makes visual comparison across different oscillators more natural.
How to verify
Set a slot to the same timeframe as your chart. Set RSI Smoothing to 1 with SMA (effectively passing raw RSI through). Compare the slot's reading to a standard RSI indicator with the same length on the same chart. If the standard RSI shows 65, this oscillator should show approximately +30. If the standard RSI shows 50, this oscillator should show approximately 0.
With matching timeframe and RSI Smoothing set to 1, the conversion should be direct: the slot plot is the raw RSI recentered around zero and doubled. Signal settings do not move that slot plot; they only affect the internal Signal path and the regime logic built on top of it.
The double-smoothing chain
When you look at the settings, you see "RSI Type" and "RSI Smoothing" alongside "Signal Type" and "Signal Length." These are two separate smoothing passes applied in sequence.
What actually happens
Raw RSI is calculated using the standard RSI algorithm with the RSI Length you set. This is the same ta.rsi() that any RSI indicator uses. Nothing unusual here.
First smoothing pass: RSI Smoothing. The raw RSI is passed through a moving average β the type selected by "RSI Type" with the period set by "RSI Smoothing." The result is the slot's RSI line (the one that is plotted). The bipolar conversion happens after this step.
Second smoothing pass: Signal. The already-smoothed RSI series is passed through another moving average β the type selected by "Signal Type" with the period set by "Signal Length." The result is the slot's Signal line. Both the slot RSI and the slot Signal are converted to the bipolar scale after their smoothing passes are done. The Signal is not plotted individually, but it determines the slot's regime (bullish when RSI > Signal, bearish when RSI < Signal) and feeds into the blended Signal.
This is analogous to how MACD works with its fast line and signal line. The RSI line is the faster, more responsive one. The Signal line is the slower reference. The crossover between them defines regime.
The naming trap
"RSI Type" sounds like it selects a different kind of RSI β maybe an exponential RSI or a weighted RSI. It does not. It selects the post-RSI smoothing MA. The RSI calculation itself is always the same standard algorithm. "RSI Type: EMA" means "smooth the raw RSI with an EMA," not "calculate an EMA-based RSI."
This is the most predictable naming confusion in the indicator. If you have been changing RSI Type and wondering why the raw RSI behavior does not change β only the smoothing β that is why.
How the smoothing stacks
Each smoothing pass introduces its own lag. RSI Smoothing delays the slot's reaction to new price data. Signal Length delays the regime detection further. If Master Smoothing is enabled (see below), a third pass delays the blend on top of everything else.
The lag from each layer compounds, not just additively but in a way that depends on the MA type and length. Here is the general picture:
The stable, confident appearance of a heavily smoothed line is exactly what makes over-smoothing dangerous. The line looks like it knows what it is doing. What it is actually doing is reporting old news slowly. And the more smoothing you add, the harder it is to tell the difference between genuine trend conviction and a line that simply has not caught up to a reversal yet. If you find yourself adding smoothing because the display is "too noisy," consider whether the noise is the indicator being honest about choppy conditions rather than a problem to solve with another MA pass.
How to verify
Set RSI Smoothing to 1 with SMA and keep the slot timeframe the same as the chart. The slot plot should now behave like a direct bipolar remap of standard RSI. Then raise Signal Length to 9. The slot plot itself will stay where it was, but the bright/dim regime changes will happen later because the internal Signal line is slower. That lag is what Signal Length adds to the signal path.
Weight-normalized blending
When multiple slots are enabled, the indicator blends their RSI values and their Signal values into a single composite pair: the blended RSI and blended Signal.
How weights work
Each slot has a Blended Weight setting. The weights are relative, not absolute. They do not need to sum to 100 or any specific number. The indicator normalizes automatically by dividing each slot's weighted contribution by the total weight of all contributing slots.
This means:
Weights of 33.3 / 33.3 / 33.3 give approximately equal influence (one-third each)
Weights of 10 / 20 / 30 give the same ratios as 16.7% / 33.3% / 50%
Weights of 1 / 1 / 1 are identical to 33.3 / 33.3 / 33.3
The normalization is automatic and invisible. You never see a "total weight" or a percentage breakdown. You just set the relative numbers and the indicator does the division.
Weight 0 versus disabled
This distinction matters and is easy to miss:
A slot at weight 0 still exists as an independent RSI reading. It still plots its line on the chart and still fires its alerts. The only thing weight 0 removes is the slot's contribution to the blended composite. This is useful when you want to see a slot's data alongside the blend without letting it influence the blend.
If all enabled slots have weight 0 (or all produce no valid RSI data), the blended lines show nothing β the blend requires at least one contributing slot.
Consensus bias
Because the blend is a weighted average, it inherently smooths out disagreement. Two strongly bullish slots and one strongly bearish slot produce a moderately bullish blend. The bearish slot's contribution is diluted by the averaging, not amplified.
This is not a flaw β it is how weighted averages work. But it has a practical consequence: the blend will always understate extremes and always mute minority opinions. If one slot is at -60 while the other two are at +40, the blend sits near +7 β a reading that suggests mild bullishness and hides the fact that one timeframe is deeply bearish. The most important slot at any given moment might be the dissenting one, and the blend is the last place its dissent will show clearly. The individual slot lines are where you see disagreement; the blend is where disagreement gets averaged away.
How to verify
Enable only one slot (disable the other two). The blend should exactly match that slot's RSI and Signal. Now enable a second slot with equal weight. The blend should sit at the midpoint between the two. Set one slot's weight to 0. The blend should ignore it β it should match the other contributing slot(s) exactly.
A note on the MTF safety pattern
This oscillator uses a well-known technique for fetching higher-timeframe data safely. When On Bar Close is on, the indicator fetches the previous HTF bar's finalized values, which eliminates repainting. When Off, it fetches the current building bar's values, which provides responsiveness at the cost of retroactive display changes.
This page is not the right place for the full explanation β see MTF and Repainting for that. The relevant point here is that the anti-repaint pattern is intentional. It is not an accident of implementation. The On Bar Close toggle exists because the tradeoff between stability and freshness is a real one, and hiding it from the user would make the tool less honest, not more convenient.