Skip to main content

Chandem Strategy In-Depth Analysis

Strategy ID: 4th in Batch 81-90 Strategy Type: CMO Momentum Breakout + Bollinger Band Trend Confirmation Timeframe: 5 Minutes (5m)


I. Strategy Overview

Chandem is a momentum breakout strategy based on the Chande Momentum Oscillator (CMO), incorporating Bollinger Band breakout signals for sell decisions. The core logic is concise: use the CMO indicator to capture momentum turning points, buying when CMO crosses above zero from negative territory, and selling when price breaks above the Bollinger upper band.

Key Features

FeatureDescription
Buy ConditionsCMO crosses above zero from negative (today's CMO >= 0 AND yesterday's CMO < 0)
Sell ConditionsPrice breaks above Bollinger upper band (BB parameters: 25 periods, 3.5x standard deviation)
ProtectionTrailing stop (+1.013% activation, +10.858% trigger)
Timeframe5m
DependenciesTA-Lib, technical (qtpylib)

II. Strategy Configuration Analysis

2.1 Core Risk Parameters

# ROI Exit Table (Staged Profit-Taking)
minimal_roi = {
"0": 0.28396, # 0 minutes: 28.4% profit
"974": 0.09268, # ~16 hours later: 9.3% profit
"1740": 0.06554, # ~29 hours later: 6.6% profit
"3087": 0 # ~51 hours later: break-even exit
}

# Stop-Loss Setting
stoploss = -0.28031 # -28% hard stop-loss (relatively loose)

Design Philosophy:

  • High ROI Target: Initial ROI at 28.4%, indicating the strategy pursues substantial profits
  • Loose Stop-Loss: -28% stop-loss provides ample room for price fluctuation
  • Staged Exit: 4-tier ROI settings, progressively lowering profit targets as holding time extends

2.2 Trailing Stop Configuration

# Trailing Stop
trailing_stop = True
trailing_stop_positive = 0.01013 # Activates at 1.013% profit
trailing_stop_positive_offset = 0.10858 # Triggers at 10.858% profit
trailing_only_offset_is_reached = True

Logic:

  • Trailing stop activates when profit reaches 1.013%
  • Locks in 10.858% - 1.013% = 9.845% profit when reached
  • More flexible compared to the 28% hard stop-loss

2.3 Order Type Configuration

use_exit_signal = True
exit_profit_only = True # Exit only when profitable
ignore_roi_if_entry_signal = False # Do not ignore entry signal ROI

III. Entry Conditions Details

3.1 Complete Buy Logic Analysis

dataframe.loc[
(
# Condition 1: Today's CMO >= 0
(dataframe["CMO"] >= 0)
# Condition 2: Yesterday's CMO < 0 (crossed above zero)
& (qtpylib.crossed_above(dataframe["CMO"].shift(1), 0))
),
'buy'] = 1

Logic Analysis:

  1. CMO Indicator Crosses Above Zero:

    • CMO (Chande Momentum Oscillator) is a momentum indicator
    • When CMO turns from negative to positive, short-term momentum strengthens
    • This is a classic momentum reversal signal
  2. Timing Confirmation:

    • dataframe["CMO"].shift(1) retrieves yesterday's CMO value
    • crossed_above ensures it actually crossed rather than simply being above zero
    • Avoids false signals from oscillation near the zero line

3.2 Indicator Calculations

# CMO Calculation
dataframe['CMO'] = ta.CMO(dataframe, timeperiod=50)

# Bollinger Bands Calculation (qtpylib version)
bollinger = qtpylib.bollinger_bands(
qtpylib.typical_price(dataframe), # Typical Price = (H+L+C)/3
window=25,
stds=3.5 # 3.5x standard deviation
)
dataframe['bb_lowerband'] = bollinger['lower']
dataframe['bb_middleband'] = bollinger['mid']
dataframe['bb_upperband'] = bollinger['upper']

# Bollinger Bands Calculation (TA-Lib version, for reference only)
bollingerTA = ta.BBANDS(dataframe, timeperiod=25, nbdevup=3.2, nbdevdn=3.2)

IV. Exit Logic Details

4.1 Sell Conditions

dataframe.loc[
(
# Condition: Price crosses above Bollinger upper band
(qtpylib.crossed_above(dataframe['close'], dataframe['bb_upperband']))
),
'sell'] = 1

Logic Analysis:

  1. Bollinger Upper Band Breakout:

    • Price breaking above the Bollinger upper band typically indicates price is at an extreme high
    • This is a trend reversal warning signal
    • Combined with the high ROI target, the strategy locks in profits when price reaches extremes
  2. Coordination with Other Exit Mechanisms:

    • After sell signal triggers, must satisfy exit_profit_only = True
    • Must have profit to actually sell

4.2 ROI Exit Mechanism

Holding TimeMinimum Profit RateTriggers Exit
0 minutes28.4%Exit immediately when reached
974 minutes (~16 hours)9.3%Exit if exceeded
1740 minutes (~29 hours)6.6%Exit if exceeded
3087 minutes (~51 hours)0%Break-even exit

V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorParameterPurpose
Momentum IndicatorCMO50 periodsCaptures momentum turning points
Volatility IndicatorBollinger Bands25 periods, 3.5σIdentifies price extremes
Price TypeTypical Price(H+L+C)/3Bollinger Band calculation basis

5.2 Indicator Details

CMO (Chande Momentum Oscillator)

  • Calculation: Similar to RSI momentum indicator
  • Range: -100 to +100
  • Strategy Logic:
    • CMO < 0 → Recent downward momentum dominates
    • CMO > 0 → Recent upward momentum dominates
    • CMO turns from negative to positive → Momentum shifts from bearish to bullish; buy signal

Bollinger Bands

  • Parameters: 25 periods, 3.5x standard deviation (relatively wide)
  • Why wider?: Using 3.5σ instead of the conventional 2σ filters noise more effectively
  • Strategy Logic:
    • Price touching upper band → Overbought signal; triggers sell

VI. Risk Management Features

6.1 Hard Stop-Loss Mechanism

stoploss = -0.28031  # -28% hard stop-loss
  • 28% Stop-Loss: Very loose; provides ample room for price fluctuation
  • Design Purpose: Accommodates high ROI targets; allows short-term larger drawdowns
  • Risk Alert: Maximum single-trade loss can reach 28%

6.2 Trailing Stop Mechanism

  • Activation Condition: Profit ≥ 1.013%
  • Trigger Condition: Profit ≥ 10.858%
  • Locked Profit: 10.858% - 1.013% = 9.845%

6.3 ROI Exit Mechanism

  • Staged Exit: 4 tiers; targets decrease in sequence
  • Logic: Pursue high profit early; exit steadily later

6.4 Risk Alerts

  • No Volume Filtering: Buy signals don't verify volume; may produce false breakouts
  • Loose Stop-Loss: 28% stop-loss requires high win rate or high reward-to-risk ratio
  • Trading Frequency: 5m timeframe has moderate trading frequency

VII. Strategy Pros & Cons

Advantages

  1. Concise Signals: Buy and sell conditions each have only one criterion; clear and easy to understand
  2. Momentum Capture: CMO crossing above zero is a classic momentum strengthening signal
  3. Loose Stop-Loss: 28% stop-loss with 28% ROI; suitable for trending markets
  4. Bollinger Band Assist: 3.5σ wide Bollinger Bands filter false breakouts
  5. Trailing Stop Protection: Automatically locks in profits; prevents givebacks

Limitations

  1. Parameter Sensitive: CMO period (50) and Bollinger parameters (25, 3.5) significantly impact results
  2. Single Buy Signal: No other indicator confirmation; may produce false signals
  3. High Stop-Loss Risk: 28% stop-loss requires high win rate or high reward-to-risk ratio
  4. No Trend Filter: Strategy has no moving average trend confirmation; may trade counter-trend
  5. No Volume Verification: Volume is not used to filter signals

VIII. Applicable Scenarios

Market EnvironmentRecommended ConfigurationNotes
Trending UptrendDefault parametersCMO cross + Bollinger upper band; suitable for momentum moves in trends
Trending DowntrendUse with cautionMay generate counter-trend buy signals
Ranging MarketAdjust BB parametersWide BB reduces false signals
Extreme VolatilityAdjust CMO parametersCMO signals more reliable during high volatility

IX. Applicable Market Environment Details

9.1 Core Strategy Logic

Chandem is a momentum breakout strategy, with core logic at two levels:

  1. Momentum Layer: Uses CMO to identify price momentum turning points from bearish to bullish
  2. Breakout Layer: Uses Bollinger upper band to identify price extremes; triggers sell

9.2 Performance in Different Market Environments

Market TypeRatingAnalysis
UptrendFive StarsCMO cross occurs at early trend; Bollinger upper band breakout at late trend; fully captures
DowntrendTwo StarsCMO may frequently cross above producing false signals; lacks trend filtering
Ranging MarketThree StarsCMO oscillates near zero; may generate multiple signals
Extreme VolatilityFour StarsCMO is sensitive to extreme price movements; BB parameters need adjustment

9.3 Key Configuration Suggestions

ConfigurationSuggested ValueNotes
Trading PairsHigh-liquidity trending coinsBest results in trending markets
Trading Fees< 0.1%High ROI target requires low fees
ROI20%-30%Initial target; adjust per market
Stop-Loss-20% to -30%Match initial ROI

X. Important Notes: The Cost of Complexity

10.1 Learning Curve

  • Indicator Understanding: Need to understand CMO and Bollinger Band meanings and calculations
  • Parameter Sensitivity: 50-period CMO and 25-period 3.5σ Bollinger Bands need per-market adjustment
  • Signal Frequency: 5m framework has moderate signal frequency; requires continuous monitoring

10.2 Hardware Requirements

Number of PairsMinimum RAMRecommended RAM
5-10 pairs1 GB2 GB
20-30 pairs2 GB4 GB

10.3 Backtesting vs Live Trading Differences

  • Slippage Impact: 5m framework has moderate slippage sensitivity
  • Signal Delay: CMO calculation requires some historical data
  • Liquidity Risk: Using typical price for Bollinger Bands; slightly different from close price

10.4 Manual Trading Suggestions

  1. Monitor CMO crossing from negative to positive
  2. Confirm volume accompanies CMO cross
  3. Observe Bollinger Band position; prepare to sell when price approaches upper band
  4. Combine with trend MAs; avoid counter-trend trades

XI. Summary

Chandem is a momentum breakout trading strategy, with core value in:

  1. Concise Signal Logic: CMO cross above for buy; Bollinger upper band breakout for sell
  2. High ROI Target: Initial 28.4% profit target; pursues substantial gains
  3. Loose Stop-Loss: 28% stop-loss provides ample price fluctuation room
  4. Trailing Stop Protection: Automatically locks in profits; prevents givebacks

For quantitative traders, Chandem is suitable for those pursuing substantial profits in trending markets, but need to pay attention to:

  • Loose stop-loss带来的单笔较大亏损风险
  • No trend filter may produce counter-trend trades
  • Parameter sensitivity needs per-market adjustment

It is recommended to conduct sufficient testing on a paper trading account before live trading.