← All indicator tools

Indicator Lab · CMO · Momentum

Chande Momentum Oscillator

Normalizes the difference between accumulated upward and downward moves by their sum.

BTCUSDC · 1h · latest 30 complete days · shared snapshot · no account required

CMO · MomentumBTCUSDC · 1h · 30 days

Do upward or downward price changes dominate within the window?

Normalizes the difference between accumulated upward and downward moves by their sum.

One dataset, the same parameters and the same candle for application and explanation.

BTCUSDC · confirmed hourly candles

Snapshot retrieved: 11 Oct 2026, 15:52 UTC · stored snapshot · background refresh scheduled · age when opened: 3,139.8 min

11 Sept 2026, 15:00 — 11 Oct 2026, 15:00 UTC · 720 evaluation candles · 3000 earlier candles for warm-up only. Your opened snapshot stays fixed. A visit can refresh a stale cache in the background for later visitors; fetching fresh is not a tick stream.

Parameters and precise application

Number of confirmed hourly candles. Warm-up history stays fixed; only this parameter changes.

Explicit formula parameter of the calculation convention described below.

Directional rule · long or cash

BUY on re-entry from ≤-50 to >-50; SELL from ≥50 to <50. Confirmed closes only; cash start, no shorts/pyramiding. Fills no earlier than the next open with fees and slippage. Thresholds are analysis conventions, not optimized recommendations. Quoted thresholds refer to scalar=100 and are rescaled by scalar/100.

Shared capital and cost model

Includes the buy fee; the remainder stays in cash.

One adverse markup/markdown. Do not add spread a second time.

1 = next open. No retroactive trade at the signal close.

Preparing the calculation module. The shared market snapshot is already available.

Calculation and interpretation of the same candle

Zero shows balanced movement sums; the sign shows which direction dominates.

CMO=scalar·(smoothed gains−smoothed losses)/(smoothed gains+smoothed losses)

TA-Lib C standard; null during warm-up. No claim of parity with a deployed unCoded engine.

Strong momentum can persist. With no movement the denominator degenerates; thresholds are not reversal probabilities.

Checked sources and reproducibility

  • TA-Lib · CMO · v0.6.4

    Original C reference implementation. Custom scaling and additional lines are described separately. · checked 2026-10-11

  • pandas-ta 0.4.71b0 · pandas_ta/momentum/cmo.py

    Verified original file from the versioned library; the implemented convention and deliberate differences accompany the formula. · checked 2026-10-11

  • The Probability of Backtest Overfitting

    Why selection across many historical trials can produce misleading results. This tool does not estimate PBO or claim out-of-sample profitability. · checked 2026-10-11

Data source, versions and hash
Market data source
https://data-api.binance.vision/api/v3/klines?symbol=BTCUSDC&interval=1h&startTime=1778338800000&endTime=1791730799999
Specification
indicator-library-1.0.0
Execution model
signal-simulation-1.0.0
Data hash
42ac75e03e017bcac023d319dabb0928e0562fda0e51f4bfa5549ac50e3e8be4
Disclosed candles including warm-up
3720

The sources support definitions and methodological limits. They do not establish profit for this specific BTCUSDC rule. This analysis is descriptive; parameter trials on the same history are not independent out-of-sample evidence. Parity with a deployed unCoded engine is not claimed.

    Chande Momentum Oscillator · Interactive trading tool | unCoded