The simplest oscillator there is: today's price minus the price N bars ago.
The Momentum indicator is the most elementary oscillator in technical analysis: it subtracts the price from N bars ago from the current price. If the result is positive, price is higher than it was N bars back; if negative, lower; the size of the number is how far it has moved over that window, in the instrument's own price units. It is plotted in a separate pane around a zero line (some older platforms center it at 100 by adding a constant — same information, shifted scale). Its close relative, Rate of Change (ROC), expresses the same comparison as a percentage: (price − price[N]) / price[N] × 100. Momentum answers 'how many points has this moved in N bars?' while ROC answers 'what percentage has this moved in N bars?' — that is the entire difference. Both are pure descriptions of what price already did over a fixed window; neither smooths, weights, or forecasts anything. As with every indicator on this site: descriptive, not predictive, educational only, and no tool removes the risk of loss in trading.
Choose a lookback N (10 is the common default). On each bar, the indicator computes source − source[N] — one subtraction, nothing else. Because there is no averaging, Momentum has a property worth understanding: every reading depends on exactly two prices, the newest bar and the bar N periods ago. That means the line can jump for two different reasons — because today's price moved, or because a large old bar just dropped out of the comparison window. This 'drop-off effect' is shared by all fixed-window calculations but is especially visible here since there is no smoothing to hide it. The relationship to ROC is direct arithmetic: ROC divides the same difference by the old price and multiplies by 100, converting points into percent. This makes ROC comparable across instruments and across long histories where the price level has changed a lot, while raw Momentum is only meaningful relative to the instrument's current price scale — a reading of 50 points means something entirely different on an index at 5,000 than on a forex pair at 1.10. Zero-line crossings in both versions mark the same bars, because dividing by a positive price does not change the sign.
Length 10 on the closing price is the near-universal default; 14 and 20 are also common. Shorter windows make the line jumpier and dominated by the drop-off effect; longer windows describe broader swings but respond slowly. Note the platform convention difference: some charting packages (including MetaTrader's built-in Momentum) scale around 100 as (price / price[N]) × 100 rather than around zero — check which definition a chart uses before comparing values, since the shapes match but the numbers do not.
//@version=6
indicator("Momentum vs ROC Example", overlay = false)
length = input.int(10, "Length", minval = 1)
src = input.source(close, "Source")
// Momentum: raw price difference over the window
mom = src - src[length]
// ROC: the same difference expressed as a percentage
roc = (src - src[length]) / src[length] * 100
plot(mom, "Momentum (points)", color = color.blue)
plot(roc, "ROC (%)", color = color.new(color.orange, 30))
hline(0, "Zero", color = color.gray)
// Confirmed-bar zero cross marker (non-repainting)
crossUp = ta.crossover(mom, 0) and barstate.isconfirmed
plotshape(crossUp, "Zero Cross Up", style = shape.triangleup, location = location.bottom, color = color.teal, size = size.tiny)Pro tip: When the momentum line lurches on a quiet bar, look N bars back before drawing any conclusion — odds are a large old bar just exited the window, and the 'signal' is arithmetic, not the market. And if you need to compare momentum across instruments or across years of history, switch to ROC: same information, normalized units. Educational only, not financial advice — this indicator describes past price changes and predicts nothing, and all trading carries risk of loss.
Educational only — not financial advice, not a recommendation to trade. No indicator is predictive; trading involves substantial risk of loss.