Price Momentum Oscillator: Formula, Settings, and Signal Timing
The Price Momentum Oscillator smooths percentage price changes to show their direction and persistence. Smoothing reduces short-term variation but also delays the response; it does not let the indicator observe future prices. Before comparing PMO charts, check the smoothing formula as well as the three displayed lengths.

Pineify and DecisionPoint use different smoothing coefficients
The original DecisionPoint PMO description uses one-period percentage rate of change, two custom smoothing stages, a factor of 10, and a conventional EMA signal line. Its first two smoothing coefficients are 2 divided by the length, rather than the usual EMA coefficient of 2 divided by length plus one.
Pineify's current PMO component uses ordinary EMAs for both initial stages. It first multiplies one-bar percentage ROC by 10, applies the first EMA, applies the second EMA, and then computes an EMA signal line. Its default lengths are 35, 20, and 10, with close as the default source.
| Stage | DecisionPoint definition | Pineify implementation |
|---|---|---|
| First smoothing, length 35 | Coefficient 2/35 | Coefficient 2/36 |
| Second smoothing, length 20 | Coefficient 2/20 | Coefficient 2/21 |
| Signal, length 10 | Conventional EMA | Conventional EMA |
Consequently, equal length labels do not guarantee identical values or crossover bars. Treat Pineify's output as an EMA-based PMO variant when matching a DecisionPoint chart. This difference is a calculation distinction, not evidence that either method produces better trades.
Interpret the lines without adding a prediction
The PMO line represents smoothed percentage momentum. The signal line is a smoother reference derived from PMO. Pineify plots these in a separate pane with a zero reference, using configurable line colors and widths.
| Observation | What it establishes | What it does not establish |
|---|---|---|
| PMO above zero | The smoothed input is positive | Every recent bar rose, or price must rise next |
| PMO below zero | The smoothed input is negative | A short trade will succeed |
| PMO crosses above signal | PMO has moved above its smoothed reference | Positive absolute momentum or a confirmed price reversal |
| PMO crosses below signal | PMO has moved below its smoothed reference | An immediate price decline |
For example, a hypothetical move from PMO -2.0 to -1.8 can cross a signal line at -1.9 while PMO remains negative. That is consistent with negative momentum becoming less negative. A bullish crossover label should not be read as proof that price has entered an uptrend.
Settings change the response, not a guaranteed edge
Shorter smoothing lengths generally respond more quickly and retain more short-term variation. Longer lengths generally respond more slowly. The same lengths on daily and hourly bars cover different time spans. No universal best parameter set for crypto, scalping, or swing trading is established here.
PMO is not confined to RSI's 0-to-100 scale. Avoid transferring an arbitrary value such as +25 or a five-point band between instruments and timeframes without checking the observed distribution. A fixed threshold can select very different conditions in each dataset.
Percentage-based input also differs from conventional MACD's price-unit moving-average difference. That distinction does not establish that PMO always signals earlier than MACD or RSI. Timing depends on the formula, settings, and price path.
Reconcile chart values step by step
Use the same symbol, source, timeframe, session, adjustment settings, and sufficient warm-up history. Compare the one-bar percentage change first, then each smoothing stage, then the signal line. If price moves from 100 to 101, the one-bar ROC is 1%, and Pineify's first smoothing input is 10. That input is not itself the final PMO value.
The current Pineify calculation replaces unavailable ROC values with zero before smoothing. Initialization and missing-data handling can therefore affect early values. Compare a settled portion of history and preserve the exact starting data when reproducing calculations elsewhere.
For a live bar, the current source can change and so can the crossover. A rule requiring closed-bar signals should enforce that condition explicitly. If a higher timeframe is requested, check whether its value is developing or confirmed; the TradingView repainting guide explains the timing distinction.
Add the component and test one observation
Search for Price Momentum Oscillator in the Pineify Visual Editor, check plan availability, and select the source and lengths. Generate the source, open it in TradingView's Pine Editor, compile, and add it to the chart. The indicator output alone does not define orders or a performance report.
Pick one crossover and verify the previous and current relationship between PMO and signal. If using divergence, define how the two price swings and corresponding oscillator values are selected. Later-confirmed swing points must not be treated as known earlier. To evaluate trading rules, add explicit entries, exits, sizing, and costs, then keep tuning and evaluation data separate.
Will Pineify PMO exactly match DecisionPoint PMO at 35, 20, 10?
Not necessarily. Pineify uses ordinary EMA smoothing for the first two stages; the DecisionPoint definition uses custom coefficients. Initialization and data can also differ.
Can PMO cross above its signal while remaining below zero?
Yes. Relative improvement versus its signal line and positive absolute momentum are separate conditions.
Does double smoothing eliminate false signals?
No. It changes the response to historical price changes. Crossovers can reverse, and divergence can persist without a price reversal.


