Skip to content
All library documents

CMI-Regime Switching Between Range and Trend Futures Systems

Article Strategy library · Author: 醉里挑灯看剑

Summary

This futures system switches between separate range and trend modules using a Choppiness Measurement Index (CMI). The code calculates CMI over 30 observations: below 20 it enables the range module and blocks new trend entries; at or above 20 it enables the trend module and blocks new range entries. The range module uses recent highs and lows, while the trend module uses a longer high-low breakout. Both modules include ATR-based position adjustments, stops, and configurable add-or-reduce modes, with limits on adjustment steps and optional extra contracts.

The published test uses ETH/USD OKCoin futures with 15-minute base data and a one-hour period from January 1 to February 13, 2021, and lists selected parameter overrides. The author remarks that reducing positions seemed to work better than adding under comparable parameters, but provides no supporting metrics. The extensive options make behavior configuration-dependent; leverage and contract settings also expose the strategy to substantial risk. The source excerpt is incomplete, so not every execution detail can be assessed.

Key ideas

  • A 30-observation CMI threshold of 20 switches new entries between range and trend modules.
  • The range module uses recent price extremes, while the trend module uses a longer breakout window.
  • ATR-based steps govern position adjustments and stops in both modules.
  • Users can configure add-or-reduce behavior, adjustment limits, leverage, and extra contract sizing.
  • A short ETH/USD futures test is listed, but no quantitative performance evidence is provided.

Tags

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.