Skip to main content

Strategy005 In-Depth Analysis

Strategy ID: #396 (396th of 465 strategies)
Strategy Type: Multi-Indicator Combination Strategy + Hyperopt Parameter Optimization
Timeframe: 5 minutes (5m)


I. Strategy Overview

Strategy005 is a multi-indicator combination strategy with parameter optimization support. It integrates multiple technical analysis tools including MACD, RSI, Fisher Transform, Stochastic, Parabolic SAR, etc., and provides optimizable buy and sell parameters through the Hyperopt framework, allowing strategy parameter adjustment according to different market environments.

Core Characteristics

FeatureDescription
Buy Conditions1 combined buy signal with 7 optimizable parameters
Sell Conditions2 sell triggers (selectable) with 4 optimizable parameters
Protection MechanismTrailing stop + Fixed stop loss -10%
Timeframe5-minute primary timeframe
Dependenciestalib, qtpylib, numpy
Optimization SupportHyperopt parameter optimization framework

II. Strategy Configuration Analysis

2.1 Basic Risk Parameters

# ROI exit table
minimal_roi = {
"1440": 0.01, # Take profit 1% after 24 hours
"80": 0.02, # Take profit 2% after 80 minutes
"40": 0.03, # Take profit 3% after 40 minutes
"20": 0.04, # Take profit 4% after 20 minutes
"0": 0.05 # Take profit 5% immediately
}

# Stop loss setting
stoploss = -0.10 # Fixed 10% stop loss

# Trailing stop
trailing_stop = True
trailing_stop_positive = 0.01 # Activate trailing after 1% profit
trailing_stop_positive_offset = 0.02 # Trailing drawdown tolerance 2%

Design Philosophy:

  • Tiered ROI design, longer holding time means lower take-profit target
  • Added 24-hour 1% take-profit compared to Strategy004, more conservative
  • Trailing stop protects profits, suitable for trending markets
  • 10% fixed stop loss provides larger error tolerance

2.2 Order Type Configuration

order_types = {
'buy': 'limit', # Limit buy
'sell': 'limit', # Limit sell
'stoploss': 'market', # Market stop loss execution
'stoploss_on_exchange': False
}

2.3 Hyperopt Optimizable Parameters

Buy Parameters

Parameter NameTypeRangeDefaultOptimization Space
buy_volumeAVGIntParameter50-300150buy
buy_rsiIntParameter1-10026buy
buy_fastdIntParameter1-1001buy
buy_fishRsiNormaIntParameter1-1005buy

Sell Parameters

Parameter NameTypeRangeDefaultOptimization Space
sell_rsiIntParameter1-10074sell
sell_minusDIIntParameter1-1004sell
sell_fishRsiNormaIntParameter1-10030sell
sell_triggerCategoricalParameter["rsi-macd-minusdi", "sar-fisherRsi"]"rsi-macd-minusdi"sell

III. Buy Conditions Detailed Analysis

3.1 Buy Signal Core Logic

# Complete buy signal logic
(
# Condition 1: Price filter
(dataframe['close'] > 0.00000200) &
# Condition 2: Volume surge (4x average volume)
(dataframe['volume'] > dataframe['volume'].rolling(buy_volumeAVG).mean() * 4) &
# Condition 3: Price below SMA40
(dataframe['close'] < dataframe['sma']) &
# Condition 4: Stochastic golden cross
(dataframe['fastd'] > dataframe['fastk']) &
# Condition 5: RSI confirmation
(dataframe['rsi'] > buy_rsi) &
# Condition 6: FastD threshold
(dataframe['fastd'] > buy_fastd) &
# Condition 7: Fisher RSI normalized threshold
(dataframe['fisher_rsi_norma'] < buy_fishRsiNorma)
)

3.2 Condition Classification Analysis

Condition GroupCondition ContentDefault ParameterLogic Explanation
Price FilterClose price > 0.00000200-Filters extremely low-priced coins
Volume SurgeVolume > 4x average volume150-period averageConfirms market activity
Price PositionClose price < SMA4040-period SMAConfirms being at low position
Stochastic Golden CrossFastD > FastK-Wait for golden cross confirmation
RSI ConfirmationRSI > thresholdDefault 26Confirms rebound momentum exists
FastD ThresholdFastD > thresholdDefault 1Oversold confirmation
Fisher RSIFisher normalized < thresholdDefault 5Oversold confirmation

3.3 Buy Logic Design Philosophy

Differences from Other Strategies:

  • Price Below SMA40: Wait for price to pull back below moving average, seeking undervalued points
  • 4x Volume Surge: Must have significant volume breakout, confirming market participation
  • Multi-indicator Confirmation: RSI + FastD + Fisher triple confirmation, reducing false signals
  • Optimizable Parameters: All thresholds can be adjusted through Hyperopt

IV. Sell Logic Detailed Analysis

4.1 Dual-Trigger Sell System

The strategy provides two sell triggers, selected via the sell_trigger parameter:

Trigger 1: RSI-MACD-MinusDI Combination (Default)

# Sell trigger conditions
(
qtpylib.crossed_above(dataframe['rsi'], sell_rsi) & # RSI crosses above threshold
(dataframe['macd'] < 0) & # MACD negative
(dataframe['minus_di'] > sell_minusDI) # Negative DI exceeds threshold
)

Trigger Logic:

  • RSI breaks above overbought threshold (default 74)
  • MACD in negative territory (insufficient upside momentum)
  • Negative directional indicator exceeds threshold (increasing downside momentum)

Trigger 2: SAR-FisherRsi Combination

# Sell trigger conditions
(
(dataframe['sar'] > dataframe['close']) & # SAR above price
(dataframe['fisher_rsi'] > sell_fishRsiNorma) # Fisher RSI exceeds threshold
)

Trigger Logic:

  • Parabolic SAR turns bearish (SAR above price)
  • Fisher RSI enters overbought territory

4.2 Sell Trigger Comparison

TriggerTrigger ConditionsApplicable ScenarioCharacteristics
rsi-macd-minusdiRSI cross above + MACD negative + MinusDI highTrend weakening confirmationMore conservative, triple confirmation
sar-fisherRsiSAR reversal + Fisher overboughtQuick reversal identificationMore aggressive, faster response

4.3 Tiered ROI Take-Profit

Holding Time       Take-Profit Target
─────────────────────────────────────────
24+ hours 1%
80-1440 minutes 2%
40-80 minutes 3%
20-40 minutes 4%
0-20 minutes 5%

V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorsPurpose
Trend IndicatorMACD (12,26,9)Judge trend direction and momentum
Momentum IndicatorRSI (14)Overbought/oversold judgment
Transform IndicatorFisher RSIRSI Fisher transform, smoothing signals
Stochastic IndicatorStochastic FastOverbought/oversold confirmation
Trend FollowingParabolic SARTrend reversal identification
Moving AverageSMA40Medium-term trend reference
Directional IndicatorMinus DIDowntrend strength

5.2 Special Indicator: Fisher RSI Transform

# Fisher transform calculation
rsi = 0.1 * (dataframe['rsi'] - 50)
dataframe['fisher_rsi'] = (numpy.exp(2 * rsi) - 1) / (numpy.exp(2 * rsi) + 1)
# Fisher RSI normalized (0-100 range)
dataframe['fisher_rsi_norma'] = 50 * (dataframe['fisher_rsi'] + 1)

Purpose of Fisher Transform:

  • Converts RSI to -1 to +1 range
  • Makes extreme values more obvious, reducing middle-range noise
  • Normalized version easier to set thresholds

5.3 Indicator Calculation Details

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

# Minus DI (Directional Indicator)
dataframe['minus_di'] = ta.MINUS_DI(dataframe)

# RSI
dataframe['rsi'] = ta.RSI(dataframe)

# Stochastic
stoch_fast = ta.STOCHF(dataframe)
dataframe['fastd'] = stoch_fast['fastd']
dataframe['fastk'] = stoch_fast['fastk']

# Parabolic SAR
dataframe['sar'] = ta.SAR(dataframe)

# SMA
dataframe['sma'] = ta.SMA(dataframe, timeperiod=40)

VI. Risk Management Features

6.1 Parameter Optimization Framework

The strategy supports Hyperopt parameter optimization, allowing adjustment based on historical data:

Buy Parameter Optimization:

  • buy_volumeAVG: Volume moving average period, adjusts volume judgment sensitivity
  • buy_rsi: RSI buy threshold, adjusts oversold judgment standard
  • buy_fastd: FastD buy threshold
  • buy_fishRsiNorma: Fisher RSI normalized threshold

Sell Parameter Optimization:

  • sell_rsi: RSI sell threshold
  • sell_minusDI: Minus DI sell threshold
  • sell_fishRsiNorma: Fisher RSI sell threshold
  • sell_trigger: Sell trigger selection

6.2 Trailing Stop Mechanism

trailing_stop = True
trailing_stop_positive = 0.01
trailing_stop_positive_offset = 0.02

Mechanism Explanation:

  • Trailing stop activates when profit reaches 2%
  • Trailing distance is 1%
  • Dynamically protects profits, suitable for trending markets

6.3 Volume Filter Mechanism

dataframe['volume'] > dataframe['volume'].rolling(buy_volumeAVG).mean() * 4

Characteristics:

  • Requires current volume to be 4x average volume
  • Uses 150-period average by default
  • Ensures entry only during active market periods

VII. Strategy Advantages and Limitations

✅ Advantages

  1. Optimizable Parameters: Supports Hyperopt framework, can adjust parameters according to different market environments
  2. Dual-Trigger Design: Two sell logic options, adapting to different trading styles
  3. Multi-indicator Confirmation: RSI + FastD + Fisher triple confirmation, reducing false signals
  4. Volume Surge Requirement: 4x average volume filter, ensures market participation
  5. Fisher Transform Enhancement: RSI processed through Fisher transform, signals are smoother

⚠️ Limitations

  1. Parameter Overfitting Risk: Hyperopt optimization may cause parameters to overfit historical data
  2. Strict Conditions: Multiple buy conditions may miss some opportunities
  3. MACD Lag: MACD as confirmation indicator has lag
  4. SAR Poor Performance in Ranging Markets: Parabolic SAR frequently reverses during sideways
  5. Variable Volume Average Period: Needs adjustment for different coins

VIII. Applicable Scenario Recommendations

Market EnvironmentRecommended ConfigurationNotes
Trend PullbackDefault parametersLook for opportunities when price below SMA40
High VolatilityUse sar-fisherRsi triggerSAR responds faster
Conservative OperationUse rsi-macd-minusdi triggerTriple confirmation more conservative
Ranging MarketNot recommendedSAR and volume surge both fail

IX. Applicable Market Environment Details

Strategy005 is a parameterized multi-indicator combination strategy. Based on its code architecture and optimizable parameter design, it is best suited for parameter-optimized trend pullback scenarios, while performance in unoptimized general markets may be average.

9.1 Strategy Core Logic

  • Low Position Buying: Wait for price below SMA40
  • Volume Confirmation: Must have 4x average volume breakout
  • Multi-indicator Resonance: RSI + FastD + Fisher triple confirmation
  • Flexible Selling: Two triggers selectable

9.2 Performance in Different Market Environments

Market TypePerformance RatingAnalysis
📈 Trend Pullback⭐⭐⭐⭐⭐Buy when price below SMA40, profit after pullback ends
🔄 Ranging Market⭐⭐☆☆☆SAR frequently reverses, volume surge hard to trigger
📉 Continuous Decline⭐⭐☆☆☆Price continuously below SMA, but no rebound
⚡ High Volatility⭐⭐⭐⭐☆Volume surge easily triggered, but stop loss may be hit

9.3 Key Configuration Recommendations

Configuration ItemRecommended ValueNotes
Hyperopt OptimizationRequiredParameter optimization for trading pairs
Sell TriggerChoose based on backtestHigh volatility choose sar-fisherRsi, conservative choose rsi-macd-minusdi
Volume Period100-200Adjust based on coin characteristics
Backtest PeriodAt least 3 monthsEnsure parameter stability

X. Important Reminder: The Cost of Complexity

10.1 Learning Curve

The strategy involves multiple technical indicators:

  • MACD indicator calculation and interpretation
  • RSI indicator overbought/oversold judgment
  • Fisher transform mathematical principles
  • Parabolic SAR reversal signals
  • Directional Indicator (DI) meaning

10.2 Hardware Requirements

Trading PairsMinimum MemoryRecommended Memory
1-10 pairs2GB4GB
10-30 pairs4GB8GB
30+ pairs8GB16GB

Note: Hyperopt optimization requires additional computational resources.

10.3 Backtest vs Live Trading Differences

  • Hyperopt optimized parameters may overfit historical data
  • Volume surge condition performance varies significantly across different periods
  • Fisher RSI transform may produce anomalous values in extreme markets
  • Limit orders may have difficulty filling in fast markets

10.4 Manual Trading Recommendations

Manually executing this strategy requires:

  1. Wait for price below 40-period SMA
  2. Confirm volume surge to 4x average volume
  3. Check if RSI, FastD, Fisher RSI meet conditions
  4. Select sell trigger and set alerts

XI. Summary

Strategy005 is a flexible, optimizable multi-indicator combination strategy. Its core value lies in:

  1. Parameterized Design: All key thresholds can be optimized through Hyperopt
  2. Dual-Trigger System: Two sell logic options, adapting to different trading styles
  3. Multi-indicator Confirmation: RSI + FastD + Fisher triple confirmation, reducing false signals
  4. Volume Filter: 4x average volume requirement ensures market participation

For quantitative traders, this is a strategy that requires parameter optimization to achieve best results. It is recommended to conduct thorough Hyperopt optimization and backtest verification before deploying to live trading.