Skip to main content

CombinedBinHAndClucV2 Strategy Analysis

Strategy #: #110 (110th of 465 strategies) Strategy Type: Multi-Timeframe Bollinger Band Combination Strategy + Three-Layer Signal Filtering Main Timeframe: 5 Minutes (5m) Auxiliary Timeframe: 1 Hour (1h)


I. Strategy Overview​

CombinedBinHAndClucV2 is an enhanced version of the classic dual-strategy combination CombinedBinHAndCluc, developed by iterativ. This strategy introduces multi-timeframe analysis and trend filtering mechanisms on top of the original version. It uses 1-hour SSL channels to judge the market's big trend and executes trades at the 5-minute level, with three-layer signal verification via MFI money flow and StochRSI momentum indicators, significantly improving signal reliability.

Core Features​

FeatureDescription
Buy Conditions3 layers: Big trend (SSL) + Momentum (MFI/StochRSI) + Pattern (BinHV45/ClucMay72018)
Sell Conditions1 basic sell signal + staged ROI take-profit
Protection MechanismStoplossGuard (max 2 trades per pair in 24 candles, 12-candle cooldown)
TimeframeMain 5m + Auxiliary 1h
Stop-Loss-5% (tighter than original -10%)
DependenciesTA-Lib, numpy, qtpylib, technical

II. Strategy Configuration Analysis​

2.1 Basic Risk Parameters​

# Staged ROI Take-Profit Table
minimal_roi = {
"0": 0.10, # Immediate exit: 10% profit
"30": 0.05, # After 30 minutes: 5% profit
"60": 0.02, # After 60 minutes: 2% profit
"120": 0.01, # After 120 minutes: 1% profit
}

# Stop-Loss Settings
stoploss = -0.05 # -5% hard stop-loss (tighter than original -10%)

# Trading Timeframe
timeframe = '5m' # Main timeframe: 5 Minutes
informative_timeframe = '1h' # Auxiliary timeframe: 1 Hour

# Sell Signal Configuration
use_exit_signal = True
exit_profit_only = True
ignore_roi_if_entry_signal = True # New buy signal can override ROI

Design Philosophy:

  • Aggressive ROI: 0% threshold means 10% take-profit immediately, 5% after 30 minutes — suitable for fast short-term profits.
  • Tight Stop-Loss: -5% stop-loss tighter than original -10%, reducing per-trade maximum loss risk.
  • Multi-Timeframe: 1h judges trends, 5m executes trades, filtering counter-trend signals.
  • Signal Priority: ignore_roi_if_entry_signal = True allows new buy signals to override ROI exits.

2.2 Trading Protection Mechanism​

protections = [
{
"method": "StoplossGuard",
"lookback_period_candles": 24, # Look back 24 candles
"trade_limit": 2, # Max 2 trades
"stop_duration_candles": 12, # Cool down 12 candles
"only_per_pair": True # Calculate per pair separately
}
]

Protection Logic:

  • Max 2 trades per pair within 24 candles (2 hours).
  • After triggering limits, must wait 12 candles (1 hour) cooldown.
  • Prevents frequent openings leading to fee erosion and overtrading.

2.3 Trading Pair Suggestions​

# Suggested trading pairs
# - Mainstream coins: BTC/USDT, ETH/USDT
# - High-volatility coins: SOL/USDT, ADA/USDT, AVAX/USDT
# - Avoid low-volatility coins

III. Entry Conditions Details​

V2's entry conditions use three-layer filtering — all must be satisfied to trigger a buy signal. This significantly improves signal quality but also reduces signal frequency.

3.1 Layer 1: Big Trend Filtering (1h SSL Channel)​

SSL Channel Indicator: Dynamic support/resistance band adjusted by ATR

# Calculate SSL Channel
ssl_down, ssl_up = SSLChannels(dataframe, length=25)
dataframe['ssl_high'] = (ssl_up > ssl_down).astype('int') * 3

# Trend Judgment Condition
(dataframe['ssl_high'] > 0) # SSL channel upward, indicating uptrend

Logic Interpretation:

  • SSL channel upward: Price in 1h-level uptrend.
  • Only consider buying under the premise of following the big trend.
  • Filters counter-trend trades, reducing being trapped risk.

3.2 Layer 2: Momentum Filtering (MFI + StochRSI)​

# MFI (Money Flow Indicator)
dataframe['mfi'] = ta.MFI(dataframe, timeperiod=30)

# StochRSI (Stochastic RSI)
stoch = ta.STOCHRSI(dataframe, 30, 35, 2, 2)
dataframe['srsi_fk'] = stoch['fastk'] # K value
dataframe['srsi_fd'] = stoch['fastd'] # D value

# Momentum Condition: Both MFI and K value rising
(dataframe['mfi'].shift().rolling(3).mean() > dataframe['mfi']) &
(dataframe['srsi_fk'].shift().rolling(3).mean() > dataframe['srsi_fk'])

Logic Interpretation:

  • MFI Rising: Capital inflow increasing, buying pressure strengthening.
  • StochRSI K Value Rising: Short-term momentum turning stronger.
  • 3-Period Moving Average Smoothing: Avoids single-period noise interference.

3.3 Layer 3: Pattern Filtering (BinHV45 OR ClucMay72018)​

Layer 3 uses "OR gate" logic — satisfying either pattern is sufficient.

3.3.1 BinHV45 Mode​

Volatility Breakout Pattern: Captures rebound opportunities after price rapidly breaks BB lower band

(
dataframe['lower'].shift().gt(0) & # BB exists
dataframe['bbdelta'].gt(dataframe['close'] * 0.008) & # Width > 0.8%
dataframe['closedelta'].gt(dataframe['close'] * 0.0175) & # Fluctuation > 1.75%
dataframe['tail'].lt(dataframe['bbdelta'] * 0.25) & # Wicking < 25%
dataframe['close'].lt(dataframe['lower'].shift()) & # Breaks lower band
dataframe['close'].le(dataframe['close'].shift()) # Close weakens
)
ConditionParameterDescription
BB existslower > 0Previous BB lower band valid
Width thresholdbbdelta > close × 0.8%BB opening sufficient
Fluctuation thresholdclosedelta > close × 1.75%Price fluctuation sufficient
Lower wick limittail < bbdelta × 25%Short lower wick, support after decline
Breaks lower bandclose < lower.shift()Price breaks BB lower band
Close weakensclose ≤ close.shift()Current close below previous candle

3.3.2 ClucMay72018 Mode​

Shrinking Volume Rebound Pattern: Buys on dips when volume shrinks

(
(dataframe['close'] < dataframe['ema_slow']) & # Below EMA50
(dataframe['close'] < 0.985 * dataframe['bb_lowerband']) & # Breaks lower band
(dataframe['volume'] < dataframe['volume_mean_slow'].shift(1) * 20) # Shrinking volume
)
ConditionParameterDescription
Below EMAclose < EMA50Price in weak position below long-term MA
Breaks lower bandclose < 98.5% × lowerPrice breaks BB lower band
Volume shrinksvolume < 20 × avgCurrent volume extremely low, selling pressure exhausted

3.4 Entry Conditions Summary​

Filter LayerCondition NameCore LogicTimeframe
Layer 1SSL ChannelUptrend confirmation1h
Layer 2MFICapital inflow confirmation5m
Layer 2StochRSIMomentum strengthening confirmation5m
Layer 3BinHV45Volatility breakout pattern5m
Layer 3ClucMay72018Shrinking volume rebound pattern5m

IV. Exit Conditions Details​

4.1 Technical Sell: BB Upper Band Breakdown​

Trigger Condition:

qtpylib.crossed_below(dataframe['close'], dataframe['bb_upperband'])

Logic Interpretation:

  • Triggers sell when price crosses below BB upper band.
  • Indicates price may transition from uptrend to pullback.
  • Symmetric with the lower band breakout at entry.

4.2 ROI Staged Take-Profit​

Holding TimeTake-Profit ThresholdDesign Logic
0 minutes (immediate)10%Capture instant large swings
30 minutes5%Mid-wave target
60 minutes2%Prevent profit retreat
120 minutes1%Prevent holding indefinitely

4.3 Stop-Loss Exit​

Trigger Condition: Forced liquidation when loss reaches 5%.

Logic Interpretation:

  • -5% stop-loss tighter than original -10%.
  • Paired with multi-timeframe filtering, wrong trades should be fewer.
  • Per-trade maximum loss controllable.

V. Technical Indicator System​

5.1 Auxiliary Timeframe Indicators (1h)​

IndicatorCalculation MethodPurpose
SSL ChannelATR-adjusted MA channel (period 25)Trend judgment
MFI30-period money flow indicatorCapital flow verification
StochRSIStochastic RSI (30, 35, 2, 2)Momentum conversion verification

5.2 Main Timeframe Indicators (5m)​

IndicatorCalculation MethodPurpose
BB (40,2)Bollinger BandsBinHV45 pattern judgment
BB (20,2)Bollinger BandsClucMay72018 pattern
EMA5050-period exponential moving averageTrend verification
Volume Average30-period average volumeShrinking volume verification

5.3 Custom Calculated Indicators​

IndicatorFormulaPurpose
bbdelta|middle - lower|BB width
closedelta|close - previous close|Price fluctuation magnitude
tail|close - low|Lower wick length
ssl_highSSL channel direction tagTrend state

VI. Risk Management Features​

6.1 Stop-Loss Strategy​

Stop-Loss TypeThresholdDescription
Hard Stop-Loss-5%Forced liquidation at 5% loss

Comparison with Original:

  • Original CombinedBinHAndCluc: -10%
  • V2 Version: -5%
  • Tightened by half, reflecting confidence in three-layer filtering signals.

6.2 Take-Profit Strategy​

Take-Profit TypeThresholdDescription
Instant Take-Profit10%Immediate exit
Staged ROI1%-5%Timed exit

Design Features:

  • Instant take-profit threshold higher (original 5% → V2 10%).
  • Staged take-profit balances fast profit capture with holding duration.

6.3 Trading Protection​

Protection MechanismParametersDescription
StoplossGuard24/2/12Trade frequency limit

Protection Effect:

  • Max 2 trades per pair within 2 hours.
  • 1-hour cooldown.
  • Effectively prevents overtrading and emotional operations.

VII. Strategy Pros & Cons​

Pros​

  1. Multi-Timeframe Analysis: 1h trend filtering + 5m signal execution, avoids counter-trend trades.
  2. Three-Layer Signal Filtering: Trend + momentum + pattern, significantly improves buy signal quality.
  3. Dynamic Trend Recognition: SSL channel automatically identifies market direction.
  4. Capital Flow Verification: MFI confirms capital inflow, avoids false breakouts.
  5. Trading Protection: Prevents overtrading and emotional decisions from fee erosion.
  6. Tight Stop-Loss: -5% stop-loss reduces per-trade risk.
  7. Staged Take-Profit: Multi-layer profit protection.

Cons​

  1. Scarce Signals: Three-layer filtering overlay may significantly reduce buy frequency.
  2. Timeframe Dependency: 1h trend judgment may lag.
  3. Parameter Coupling: Layers' parameters interact, making optimization difficult.
  4. Simple Exit Logic: Only relies on upper band breakout, lacks trailing stop.
  5. No Dynamic Stop-Loss: May miss trending opportunities.

VIII. Applicable Scenarios​

Market EnvironmentRecommended ConfigurationDescription
Trending Uptrendmax_open_trades=2-3SSL channel upward, high signal quality
Volatile MarketUse cautiouslySSL frequently flips, signal unstable
Mainstream CoinsBTC/ETH/SOLGood liquidity, controllable slippage
High-Volatility CoinsParticipate moderatelyBB opening wide, patterns clearer

IX. Applicable Market Environment Details​

CombinedBinHAndClucV2 is positioned as a trend pullback-type multi-timeframe combination strategy in the Freqtrade ecosystem. Based on its code architecture and three-layer filtering, it is best suited for clear uptrend pullback opportunities and may perform poorly in volatile or declining environments.

9.1 Core Strategy Logic​

  • Trend is King: SSL channel judges 1h-level big trend, only trades following the major direction.
  • Capital Verification: MFI confirms capital inflow, avoids non-fundamental rebounds.
  • Momentum Confirmation: StochRSI verifies short-term momentum, avoids chasing highs.
  • Pattern Entry: BinHV45 or ClucMay72018 pattern confirms entry point.

9.2 Performance in Different Market Environments​

Market TypeRatingAnalysis
Trending Uptrend⭐⭐⭐⭐⭐SSL channel upward, three-layer filtering highest signal quality
Volatile Market⭐⭐☆☆☆SSL frequently flips, signals unstable, may miss opportunities
Sustained Decline⭐☆☆☆☆SSL channel downward, buy signals completely filtered
Extreme Volatility⭐⭐⭐☆☆MFI and StochRSI may generate false signals

X. Summary​

CombinedBinHAndClucV2 is a multi-timeframe trend pullback strategy for moderately experienced traders. Its core value:

  1. Multi-Dimensional Signal Verification: Through 1h SSL trend + 5m MFI/StochRSI momentum + pattern three-layer filtering, significantly improves buy signal quality.
  2. Tight Risk Control: -5% stop-loss paired with staged ROI, balancing risk and return.
  3. Trading Protection: StoplossGuard prevents overtrading.

For quantitative traders, this strategy suits users who understand multi-timeframe analysis, can accept lower signal frequency, and pursue signal reliability. Not recommended for high-frequency traders or users who like frequent operations. Conduct sufficient backtesting and paper trading verification before live trading.