Skip to main content
On this page

Rahul Mohindar Oscillator: Calculation, Settings, and Signal Limits

· 5 min read
Pineify Team
Pine Script and AI trading workflow research team

The Rahul Mohindar Oscillator (RMO) combines a smoothed, range-normalized price measure with trend and crossover outputs. This guide describes Pineify's implementation so you can identify its inputs and test a clearly defined rule. It does not report personal trades or a verified win rate.

RMO Indicator on TradingView

What the implementation calculates​

Pineify first computes ten successive two-period simple moving averages of the selected source. It averages those ten values, subtracts that average from the current source, and normalizes the difference by the highest-minus-lowest source range over the Swing Length window, multiplying by 100.

That normalized series is Swing Trend 1. Two successive exponential moving averages produce Swing Trend 2 and Swing Trend 3. A separate EMA of Swing Trend 1 produces the RMO series. This is more specific than describing the indicator as a simple price change followed by an EMA.

The default configuration is:

InputDefaultRole
SourceCloseSeries used for the calculation
Swing Length10Window for the source range normalization
Swing EMA Length 130Smoothing from Swing Trend 1 to Swing Trend 2
Swing EMA Length 230Smoothing from Swing Trend 2 to Swing Trend 3
RMO Length81Separate smoothing of Swing Trend 1

These are implementation defaults, not settings proven best for a ticker or timeframe. The calculation requires enough history for its moving averages. A flat source window also makes the normalization denominator zero, so inspect unavailable values rather than treating them as a valid neutral signal.

Read the outputs separately​

The implementation marks a buy crossover when Swing Trend 2 crosses above Swing Trend 3, and a sell crossover when it crosses below. RMO above zero sets the bullish trend condition; below zero sets the bearish condition. A crossover and a zero-line trend condition are distinct outputs.

The chart can show an RMO histogram, swing lines, and a background ribbon. Confirm the enabled drawing settings and color mapping before using a screenshot as an explanation of the logic. A green background is a display of a condition, not an independent confirmation from another source.

The separate impulse outputs also need inspection: the current implementation tests Swing Trend 2 above zero for impulse-up, but RMO below zero for impulse-down. They are not symmetric tests of the same series. This guide documents that behavior without changing the underlying indicator.

Add and inspect the indicator​

Open Pineify's Visual Editor, find RMO, and review the source and four length controls. Generate the script, inspect it, and load it in TradingView's Pine Editor. Resolve compiler messages and confirm that the displayed values match the configuration you selected.

Adding RMO in Pineify

RMO is configured for a separate pane. Inspect a few bars around a crossover and compare the swing lines with the RMO sign. On an open realtime bar, values can change as the source changes; decide whether your rule requires bar-close confirmation. TradingView's execution model explains the difference between historical and realtime calculations.

Turn a signal into a testable rule​

A crossover alone is not a complete strategy. Define the entry timestamp, any RMO-sign filter, exit rule, position size, and transaction costs. If you combine RMO with RSI or another price-derived indicator, their agreement does not automatically provide independent evidence.

Keep a baseline configuration and vary one part of the rule deliberately. Record the symbol, session, timeframe, date range, settings, and strategy version. Compare trade count, average win and loss, costs, and drawdown, then evaluate fixed rules on a period not used for selection. Win rate alone can conceal large losses.

Shorter smoothing generally responds to recent changes more quickly; longer smoothing changes the lag and sensitivity. Neither guarantees fewer losing trades. Repeatedly retuning after every unfavorable period can fit noise rather than improve the strategy.

Divergence and alerts​

Price and oscillator divergence is a disagreement between two series. It can persist while price continues in the same direction. If you use pivots to identify divergence, record when the pivot became knowable rather than treating its plotted historical location as an earlier signal.

An alert requires an explicit condition and frequency. Confirm its behavior on closed and open bars. Alert delivery and any broker execution integration are separate from the RMO calculation; an indicator does not automatically place live orders.

What are the default RMO settings in Pineify?

Close source, Swing Length 10, Swing EMA Length 1 of 30, Swing EMA Length 2 of 30, and RMO Length 81. These describe the implementation, not an optimized trading recommendation.

Is an RMO crossover guaranteed to predict a reversal?

No. It records a relationship between smoothed series. Specify and test the complete rule, including exits and costs, before interpreting it as a trading method.

Does this guide contain a tested win rate?

No. The prior personal-trade and percentage claims had no reproducible dataset. This guide supplies calculation details and an evaluation procedure instead.

The Best Pine Script Generator