Skip to main content

Roth01 Strategy In-Depth Analysis

Strategy Number: #351 (351st of 465 strategies)
Strategy Type: Bollinger Band Mean Reversion + Oversold Reversal Capture
Time Frame: 5 minutes (5m)


I. Strategy Overview

Roth01 is an oversold bounce strategy based on Bollinger Band lower band breakouts, combining MFI (Money Flow Index) and CCI (Commodity Channel Index) to identify entry opportunities in extreme oversold zones. The core logic is "be greedy when others are fearful" — when price breaks below the Bollinger Band lower band and capital is heavily flowing out, the strategy captures the opportunity for price mean reversion.

Core Features

FeatureDescription
Buy Condition1 buy signal, based on Bollinger Band lower band breakout + MFI oversold + CCI oversold
Sell Condition1 sell signal, based on SAR reversal + RSI overbought + Bollinger Band upper band breakout
Protection MechanismTiered ROI take-profit + Fixed stop-loss
Time Frame5 minutes
Dependenciestalib, qtpylib

II. Strategy Configuration Analysis

2.1 Basic Risk Parameters

# ROI Exit Table
minimal_roi = {
"0": 0.14696, # Immediate: 14.696%
"29": 0.06698, # After 29 minutes: 6.698%
"75": 0.02449, # After 75 minutes: 2.449%
"181": 0 # After 181 minutes: No limit
}

# Stop-loss Setting
stoploss = -0.29585 # -29.585%

Design Rationale:

  • Initial ROI target is relatively high (14.696%), giving the strategy ample room to capture significant rebounds
  • The time-decaying ROI design encourages profitable exits within shorter timeframes
  • Stop-loss is set quite loosely (-29.585%), suitable for capturing larger price swings

2.2 Order Type Configuration

The strategy uses default order type configuration, suitable for most exchanges.


III. Buy Condition Analysis

3.1 Buy Condition Breakdown

Roth01 employs a single-path buy logic where all conditions must be satisfied simultaneously:

# Single Buy Condition
dataframe.loc[
(
(dataframe['mfi'] < 24) & # MFI below 24, extreme capital outflow
(dataframe['close'] < dataframe['bb_low']) & # Price breaks below Bollinger lower band
(dataframe['cci'] <= -57.0) # CCI below -57, oversold confirmation
),
'buy'] = 1

3.2 Buy Condition Interpretation

ConditionIndicatorThresholdMeaning
Capital OutflowMFI< 24Money flow extremely contracted, market panic
Price BreakoutClose< BB_LowPrice breaks below Bollinger lower band, deviation from mean
Oversold ConfirmationCCI<= -57Commodity Channel Index confirms oversold state

Logic Analysis:

  1. MFI < 24: Money Flow Index below 24 indicates significant capital outflow, extremely pessimistic market sentiment
  2. Close < BB_Low: Price breaking below the Bollinger lower band represents a statistically extreme deviation
  3. CCI <= -57: Commodity Channel Index below -57 confirms the price is in oversold territory

These three conditions form a "triple confirmation" mechanism to avoid entering on false breakouts.


IV. Sell Logic Analysis

4.1 Multi-Tier Take-Profit System

The strategy employs a tiered ROI take-profit mechanism:

Time (minutes)    Target Profit    Description
─────────────────────────────────────────────
0 14.696% Highest target set at position open
29 6.698% Lower expectation after 29 minutes
75 2.449% Conservative target after 75 minutes
181 0% Any profit acceptable after 3 hours

4.2 Sell Signal

# Single Sell Condition
dataframe.loc[
(
(dataframe['sar'] > dataframe['close']) & # SAR reverses downward
(dataframe['rsi'] > 75) & # RSI overbought
(dataframe['close'] > dataframe['bb_upper']) & # Price breaks above Bollinger upper band
(dataframe['cci'] >= 83.0) & # CCI overbought confirmation
(dataframe['mfi'] < 92) & # MFI not at extreme
(dataframe['sar']) # SAR valid value check
),
'sell'] = 1

4.3 Sell Condition Interpretation

ConditionIndicatorThreshold/LogicMeaning
Trend ReversalSAR> CloseParabolic SAR reverses above price
Overbought StateRSI> 75Relative Strength Index enters overbought zone
Price BreakoutClose> BB_UpperPrice breaks above Bollinger upper band
Overbought ConfirmationCCI>= 83Commodity Channel Index confirms overbought
Capital StatusMFI< 92Money flow has not yet peaked

Design Features:

  • Sell conditions form a mirror image of buy conditions (overbought vs oversold)
  • SAR acts as the primary trend reversal signal
  • Multiple indicator confirmations avoid false breakouts

V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorsPurpose
Trend IndicatorsMACD, SARTrend direction judgment
Volatility IndicatorsBollinger Bands (BB)Price channel and overbought/oversold
Momentum IndicatorsRSI, CCI, MFIOverbought/oversold determination
Trend StrengthADXTrend strength (not actively used)
OscillatorStoch FastFast stochastic indicator

5.2 Technical Indicator Calculations

# MACD
macd = ta.MACD(dataframe)
dataframe['macd'] = macd['macd']
dataframe['macdsignal'] = macd['macdsignal']
dataframe['macdhist'] = macd['macdhist']

# Bollinger Bands
bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2)
dataframe['bb_low'] = bollinger['lower']
dataframe['bb_mid'] = bollinger['mid']
dataframe['bb_upper'] = bollinger['upper']
dataframe['bb_perc'] = (dataframe['close'] - dataframe['bb_low']) / (
dataframe['bb_upper'] - dataframe['bb_low'])

# RSI, CCI, MFI, SAR, ADX, Stoch Fast
dataframe['rsi'] = ta.RSI(dataframe)
dataframe['cci'] = ta.CCI(dataframe)
dataframe['mfi'] = ta.MFI(dataframe)
dataframe['sar'] = ta.SAR(dataframe)
dataframe['adx'] = ta.ADX(dataframe)
stoch_fast = ta.STOCHF(dataframe)
dataframe['fastd'] = stoch_fast['fastd']
dataframe['fastk'] = stoch_fast['fastk']

VI. Risk Management Features

6.1 Tiered Take-Profit Mechanism

The strategy uses time-decaying ROI targets with different take-profit points at various holding times:

Holding TimeTarget ProfitRisk Characteristics
0-29 minutes14.696%High target, capturing significant rebounds
29-75 minutes6.698%Moderate target, reasonable profit
75-181 minutes2.449%Conservative target, securing small gains
>181 minutes0%Any profit acceptable for exit

6.2 Fixed Stop-Loss Protection

  • Stop-Loss Level: -29.585%
  • Design Philosophy: Relatively wide stop-loss allows for significant price fluctuation before the rebound

6.3 Technical Signal Confirmation

Both buy and sell employ multi-indicator confirmation mechanisms to reduce false signal risk:

  • Buy: MFI + Bollinger Band + CCI triple confirmation
  • Sell: SAR + RSI + Bollinger Band + CCI + MFI five-fold confirmation

VII. Strategy Advantages and Limitations

✅ Advantages

  1. Clear Logic: Buy and sell conditions are symmetrical — buy at oversold, sell at overbought, consistent with mean reversion logic
  2. Multiple Confirmations: Each signal has multiple technical indicator confirmations, reducing false signal probability
  3. Transparent Parameters: All thresholds are clearly defined in the code, easy to understand and adjust
  4. Time-Friendly: Tiered ROI design encourages shorter holding periods

⚠️ Limitations

  1. One-Sided Market Risk: The strategy primarily captures rebounds and may trigger frequent stop-losses in sustained downtrends
  2. Wide Stop-Loss: -29.585% stop-loss means single-trade losses can be significant
  3. Range-Bound Market Issues: May result in frequent entries and exits, increasing trading costs
  4. Dependence on Extreme Conditions: Requires price to genuinely break below the Bollinger lower band to trigger buys

VIII. Suitable Market Scenarios

Market EnvironmentRecommended ConfigurationDescription
Post-Decline ReboundDefault configurationSuitable for capturing mean reversion after sharp drops
Oscillating DeclineAdjust stop-lossConsider tightening stop-loss to reduce losses
Sustained DowntrendDisableStrategy is not adapted for continuous declining markets
Strong UptrendDisableCannot capture upward trends

IX. Applicable Market Environment Details

Roth01 is a classic mean reversion strategy, suitable for capturing rebounds when the market experiences extreme oversold conditions. Based on its code architecture, it is best suited for sharp decline rebound scenarios, while performing poorly in sustained downtrends or one-sided uptrends.

9.1 Strategy Core Logic

  • Oversold Capture: When MFI < 24 and price breaks below the Bollinger lower band, the market is considered to be in extreme panic
  • Mean Reversion: Based on statistical principles, extreme deviations tend to revert to the mean
  • Mirror Exit: Profit-taking when in overbought conditions (Bollinger upper band breakout)

9.2 Performance in Different Market Environments

Market TypePerformance RatingReason Analysis
📈 Sharp Decline Rebound⭐⭐⭐⭐⭐Core design scenario, capturing oversold reversals
🔄 Range-Bound Market⭐⭐⭐☆☆May result in frequent entries/exits, fees eroding profits
📉 Sustained Downtrend⭐⭐☆☆☆Frequent stop-loss triggers, accumulating losses
⚡️ One-Sided Uptrend⭐☆☆☆☆Cannot trigger buy conditions

9.3 Key Configuration Recommendations

Configuration ItemRecommended ValueDescription
Stop-Loss-0.25 ~ -0.30Adjust based on risk tolerance
Time Frame5mDefault setting, not recommended to modify
ROI Initial Target0.10 ~ 0.15Can be adjusted based on market volatility

X. Important Note: The Cost of Complexity

10.1 Learning Curve

Roth01's strategy logic is relatively simple, suitable for traders with some technical analysis foundation. Requires understanding of common technical indicators such as Bollinger Bands, MFI, CCI, RSI, and SAR.

10.2 Hardware Requirements

Number of Trading PairsMinimum MemoryRecommended Memory
1-10 pairs2GB4GB
10-50 pairs4GB8GB

Strategy computation is moderate, with modest hardware requirements.

10.3 Backtesting vs Live Trading Differences

Backtesting may show excellent performance, but in live trading be aware of:

  • Slippage Impact: Liquidity may be insufficient during extreme market conditions
  • False Breakout Risk: Bollinger Band breakouts may be false signals
  • Stop-Loss Execution: Wide stop-losses may face execution difficulties during extreme volatility

10.4 Manual Trader Recommendations

Manual traders can reference strategy signals:

  1. Watch for assets with MFI < 24 and price below Bollinger lower band
  2. Confirm oversold state with CCI
  3. Set reasonable stop-loss to control per-trade risk

XI. Summary

Roth01 is a simple yet focused mean reversion strategy. Its core value lies in:

  1. Triple Confirmation Mechanism: MFI, Bollinger Band, and CCI triple confirmation reduces false signal risk
  2. Mirror-Symmetric Logic: Buy and sell conditions form a symmetrical pattern, logically consistent
  3. Tiered Take-Profit: Tiered ROI design balances profit expectations with holding time

For quantitative traders, Roth01 serves as a suitable template for a base strategy, with parameters that can be optimized based on actual market conditions. Its simple design makes it easy to understand and debug, suitable for beginners learning mean reversion strategy design principles.