Skip to main content

CoreStrategy Strategy Analysis

Strategy ID: #131 (131st of 465 strategies)
Strategy Type: Multi-Condition Trend Following + Bollinger Band Mean Reversion + EWO Momentum
Timeframe: 5 minutes (5m) + 1-hour informational layer


I. Strategy Overview

CoreStrategy is a complex multi-condition entry strategy that integrates the core logic of several classic strategies (including SMAOffsetProtectOpt, CombinedBinHClucAndMADV6, CombinedBinHClucV8, CombinedBinHClucAndMADV9). It constructs a multi-layered entry filtering system through 21 independent buy conditions. The strategy uses a 5-minute primary timeframe paired with a 1-hour informational layer for trend confirmation.

Core Features

FeatureDescription
Buy Conditions21 independent buy conditions (individually enableable/disableable)
Sell Conditions4 basic exit signals + multi-layer dynamic take-profit logic
ProtectionCustom stop-loss logic, no independent entry protection parameters
Timeframe5 minutes + 1-hour informational layer
DependenciesTA-Lib, technical (qtpylib)

II. Strategy Configuration Analysis

2.1 Core Risk Parameters

# ROI Exit Table
minimal_roi = {
"0": 0.20, # 0-38 minutes: 20% profit
"38": 0.074, # 38-78 minutes: 7.4% profit
"78": 0.025, # 78-194 minutes: 2.5% profit
"194": 0 # After 194 minutes: free exit
}

# Stop-Loss Setting
stoploss = -0.228 # -22.8% hard stop-loss (actually managed by custom stop-loss logic)

# Trailing Stop
trailing_stop = True
trailing_only_offset_is_reached = True
trailing_stop_positive = 0.005
trailing_stop_positive_offset = 0.049

Design Philosophy:

  • Aggressive ROI: First target of 20% profit, suitable for high-volatility markets
  • Stepped Exit: Progressively lowered from 20% → 7.4% → 2.5%, balancing profit-taking with holding endurance
  • Loose Hard Stop-Loss: -22.8% is actually managed by custom logic, providing more flexible risk control

2.2 Order Type Configuration

# Order Type Configuration
order_types = {
"entry": "limit",
"exit": "limit",
"stoploss": "market",
"stoploss_on_exchange": False
}

# Exit Signal Configuration
use_exit_signal = True
exit_profit_only = True
exit_profit_offset = 0.001
ignore_roi_if_entry_signal = True

III. Entry Conditions Details

3.1 Condition Group Overview

The strategy contains 21 buy conditions, divided into 4 main series:

Condition GroupCondition NumbersCore LogicDefault Status
SMAOffsetsmaoffset_buy_condition_0/1EWO momentum + RSI filteringEnabled by default
V6 (CombinedBinHClucAndMADV6)v6_buy_condition_0~3Bollinger Band mean reversion + volume filteringPartially enabled
V8 (CombinedBinHClucV8)v8_buy_condition_0~4Multi-period EMA confirmation + Bollinger BandMostly enabled
V9 (CombinedBinHClucAndMADV9)v9_buy_condition_0~10RSI oversold + Bollinger Band bottom divergenceDisabled by default

3.2 Condition #1: smaoffset_buy_condition_0 (EWO High Rebound)

# Logic
- Price < MA buy line * low_offset
- EWO > ewo_high (default 5.499)
- RSI < rsi_buy (default 50)

Core Logic: Price is at a relatively low level after a pullback, while EWO shows strong upward momentum, forming a "rebound" pattern.

3.3 Condition #2: smaoffset_buy_condition_1 (EWO Bottom-Fishing)

# Logic
- Price < MA buy line * low_offset
- EWO < ewo_low (default -19.881)

Core Logic: Extremely negative EWO indicates potential bottom-fishing opportunities after a significant drop, filtered by price position.

3.4 Conditions #3-7: V8 Series (Multi-Period Trend Confirmation)

Common characteristics of V8 series conditions:

  • Requires 1-hour EMA to be in upward bullish alignment
  • Requires 5-minute price pullback to be within threshold
  • Uses Bollinger Band middle band breakout or price touching lower band as signals

v8_buy_condition_0

  • 1h EMA50 > 1h EMA200 AND 5m EMA50 > 5m EMA200
  • Bollinger Band contraction pattern (bbdelta, closedelta, tail comprehensive judgment)
  • Price breaks below Bollinger Band lower band

v8_buy_condition_1

  • Both 5m and 1h close prices above EMA200
  • 1h EMA50 > EMA100 > EMA200
  • Price touches Bollinger Band lower band + volume contraction

v8_buy_condition_2

  • SSL Channel 1h upward
  • 5m price above EMA50 and EMA200
  • RSI 1h-RSI spread > threshold

v8_buy_condition_3

  • 200-period SMA upward trend (5m and 1h)
  • RSI 1h > threshold, RSI 5m < threshold
  • MFI < threshold

v8_buy_condition_4

  • Price > 1h EMA100
  • EMA golden cross (EMA26 > EMA12)
  • Price touches Bollinger Band lower band + volume contraction

3.5 Conditions #8-17: V9 Series (Conservative Entry)

Most V9 series conditions are disabled by default, characterized by:

  • Emphasis on RSI oversold
  • Emphasis on volume contraction
  • Emphasis on price near Bollinger Band lower band

3.6 Conditions #18-21: V6 Series (Bollinger Band Mean Reversion)

v6_buy_condition_0

  • Close > EMA200 (5m and 1h)
  • Price < Bollinger Band lower band * 0.99
  • Volume contraction

v6_buy_condition_1

  • Price < EMA50
  • Price < Bollinger Band lower band * 0.975
  • RSI 1h < 15 (buy prohibited)

v6_buy_condition_2

  • Both 5m and 1h prices above EMA200
  • EMA26 > EMA12 (golden cross pattern)
  • Price touches Bollinger Band lower band

v6_buy_condition_3

  • EMA26 > EMA12
  • Volume contraction
  • Price touches Bollinger Band lower band

3.7 Minimum Condition Count

buy_minimum_conditions = 1  # Only 1 condition needs to be met to enter

IV. Exit Logic Details

4.1 Multi-Layer Dynamic Take-Profit System

The strategy uses the custom_exit function to implement 5-layer ROI exit:

Profit ZoneThresholdRSI ConditionSignal Name
High take-profit> 30%RSI < 58roi_target_4
Mid-high take-profit> 15%RSI < 56roi_target_3
Mid take-profit> 4%RSI < 50roi_target_2
Low take-profit> 1%RSI < 50roi_target_1
SMA death cross exit1-4%SMA200 downwardroi_target_5

4.2 Trailing Stop Exit

The strategy implements a two-phase trailing stop:

PhaseProfit ZoneDrawdown Trigger
Phase 110%-40%3% drawdown from high
Phase 22%-10%1.5% drawdown from high

4.3 Custom Stop-Loss Logic

The custom_stoploss function implements intelligent stop-loss:

def custom_stoploss(...):
if current_profit > 0:
return 0.99 # Don't actively stop-loss when in profit

# After 240 minutes of position open (~4 hours)
if current_time > trade_time_50:
# If SMA200 is downward (5m and 1h both confirmed)
if (sma_200_dec) & (sma_200_dec_1h):
return 0.01 # Force stop-loss

# RSI 1h < 30 indicates potential bottom
if rsi_1h < 30:
return 0.99 # Continue holding, wait for rebound

# Price breaks below open price by 2.5% AND above EMA200
if current_rate * 1.025 < candle["open"]:
if current_rate > ema_200:
return 0.01 # Stop-loss

# Price breaks below open price by 1.5%
if current_rate * 1.015 < candle["open"]:
return 0.01 # Stop-loss

4.4 Basic Exit Signals (4 signals)

Signal #ConditionSignal Name
1Price breaks below MA sell line (smaoffset)smaoffset_sell_condition_0
2Price breaks above Bollinger Band upper band for 3 consecutive candlesv8_sell_condition_0
3RSI 1h > 80v8_sell_condition_1
4Price breaks above Bollinger Band middle band by 1.01xv9_sell_condition_0

V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorsPurpose
Trend IndicatorsEMA 12/26/50/200, SMA 5/200Multi-period trend judgment
Momentum IndicatorsRSI (14), MFI (14), EWOOverbought/oversold judgment
Volatility IndicatorsBollinger Bands (20, 40), ATRVolatility and support/resistance
Volumevolume, volume_mean_slow (30)Volume contraction confirmation

5.2 Custom Indicators

Indicator NameCalculation MethodPurpose
EWO(EMA5 - EMA35) / close * 100Elliot Wave Oscillator, momentum strength
SSL ChannelATR-based price channel1h trend direction
Bollinger Band Variantbbdelta, closedelta, tailBollinger Band contraction pattern recognition

5.3 Informational Timeframe Indicators (1 Hour)

  • EMA50, EMA100, EMA200
  • SMA200 (used to judge 20-period trend decay)
  • RSI (14)
  • SSL Channels (20-period)

VI. Risk Management Highlights

6.1 Time-Based Hard Stop-Loss

The strategy implements tiered processing for losing positions held over 4 hours:

ConditionAction
SMA200 death cross simultaneouslyImmediate stop-loss (1% stop-loss line)
RSI 1h < 30Continue holding, wait for rebound
Price breaks below open price by 2.5% AND above EMA200Stop-loss
Price breaks below open price by 1.5%Stop-loss

6.2 Stepped ROI Exit

  • Early targets are aggressive (20%), suitable for high-volatility pairs
  • Later targets are conservative (2.5%), preventing profit retracement

6.3 Trailing Stop Protection

  • Only enabled after profit reaches a certain threshold
  • Two-phase drawdown control, balancing profit protection with holding endurance

VII. Strategy Pros & Cons

Pros

  1. Multi-Condition Filtering: 21 independent conditions provide abundant options; can enable/disable for different market environments
  2. Multi-Period Confirmation: 1-hour informational layer provides higher-perspective trend judgment
  3. Intelligent Stop-Loss: Dynamic stop-loss logic based on time, trend, and RSI
  4. Flexible Configuration: buy_minimum_conditions can adjust entry strictness
  5. Volume Filtering: Multiple conditions include volume contraction requirements, filtering false breakouts

Cons

  1. Numerous Parameters: 21 conditions × multiple parameters, high optimization difficulty
  2. Computationally Intensive: Multi-timeframe + multi-indicator, long backtest/live trading time
  3. Some Conditions Disabled: V9 series' 10 conditions are all disabled by default, potential overfitting risk
  4. Loose Hard Stop-Loss: -22.8% is actually managed by custom logic; full understanding required

VIII. Applicable Scenarios

Market EnvironmentRecommended ConfigurationNotes
High-volatility pairsEnable V8/V6 series20% aggressive target suitable for large swings
Mainstream coin stabilityEnable smaoffset seriesEWO filtering more suitable for clear trending markets
Ranging marketsAdjust ROI tableLower first target to 10-15%
Long-term holdingEnable V9 seriesRSI oversold conditions suitable for bottom-fishing

IX. Applicable Market Environment Analysis

CoreStrategy is one of the largest and most complex strategies in the Freqtrade ecosystem, integrating the core logic of 4 classic strategies. It performs best in high-volatility, strong-trend markets and averages in low-volatility, long-consolidation environments.

9.1 Core Strategy Logic

  • Multi-Condition Stacking: Only 1 condition needs to be met to enter, but buy_minimum_conditions can be increased for stricter entry
  • Trend Priority: Multiple conditions require 1h EMA bullish alignment, ensuring trend-following trades
  • Momentum Confirmation: EWO, RSI momentum indicators throughout multiple conditions
  • Pullback Entry: Emphasizes buying at support (Bollinger Band lower band) after price pullback

9.2 Performance in Different Market Environments

Market TypeRatingAnalysis
Strong Uptrend⭐⭐⭐⭐⭐Multi-period EMA confirmation + pullback entry logic
Wide-range oscillation⭐⭐⭐⭐Bollinger Band mean reversion conditions capture swings
Downtrend⭐⭐⭐Some bottom-fishing conditions effective, but overall bullish bias
Fast volatility⭐⭐⭐⭐20% aggressive target suitable for high volatility
Consolidation⭐⭐Multiple conditions hard to satisfy simultaneously

9.3 Key Configuration Recommendations

Configuration ItemRecommended ValueNotes
buy_minimum_conditions1Keep loose to capture more signals
minimal_roi."0"0.15-0.25Adjust based on volatility
trailing_stop_positive0.005Relatively tight trailing trigger threshold
ewo_high5-8Increase to reduce false signals

X. Summary

CoreStrategy is a highly complex multi-condition trend-following strategy that integrates the best of multiple classic strategies from the Freqtrade community. Its core value lies in:

  1. Flexibility: 21 independently configurable conditions, adapting to various market environments
  2. Multi-Period Perspective: 1-hour informational layer provides higher-dimensional trend confirmation
  3. Intelligent Risk Control: Custom stop-loss logic combines time, trend, and momentum dimensions
  4. Community Validated: Based on multiple live-validated strategies

For quantitative traders, CoreStrategy is suitable for investors with some Freqtrade experience. Start with default configuration, gradually understand and adjust each condition series' enable status, and find the configuration best suited to the current market environment.

Usage Recommendation: Start with default parameters for small-capital live trading tests, observe strategy performance across different market environments, then adjust the ROI table and condition enable status based on actual conditions.