Skip to content

ROC Overview

Rate of Change (ROC) measures the percentage change in price over n periods — the simplest momentum indicator. ROC = ((Close - Close[n]) / Close[n]) × 100. Positive = price rising, Negative = price falling.

ROC’s strength is its simplicity and directness — it answers “how much has price changed?” without any smoothing or transformation.


  1. Calculate ROC value from the input price/volume data
  2. Apply smoothing if applicable
  3. Compare to threshold or signal line for signal generation
  4. Interpret: Signals indicate momentum direction or extremes

Key Characteristics:

  • Momentum Indicator = Measures momentum direction and strength
  • Signal Line Available = Yes
  • Bounded = No (unbounded)

ROC Behavior:

  • Bullish momentum
  • Bearish momentum
  • Signal line crossovers provide timing signals

These are the signal names you select when configuring ROC in the algorithm builder or via the MCP agent:

SignalTriggers WhenTypical Use
roc_positiveROC value is positive (price higher than n bars ago)Bullish momentum
roc_negativeROC value is negative (price lower than n bars ago)Bearish momentum
roc_above_signalLineROC crosses above its signal lineMomentum accelerating
roc_below_signalLineROC crosses below its signal lineMomentum decelerating

Display: Separate pane

Category: Momentum

Threshold range: Unbounded (centered on zero, percentage-based)


What Rate of Change Does Well:

  • Clear Directional Signals
  • Combines well with trend filters
  • Signal line crossovers signals for entry timing