Skip to main content

Saturn5 Strategy In-Depth Analysis

Strategy ID: #373 (373rd of 465 strategies) Strategy Type: Multi-Condition Trend Following + Multiple Protection Mechanisms Timeframe: 15 Minutes (15m)


I. Strategy Overview

Saturn5 is a multi-condition trend following strategy developed by Shane Jones, integrating EMA multi-period analysis, Bollinger Bands channels, Fibonacci ATR, and Volume-Weighted MACD among various technical indicators. The strategy employs a three-signal parallel design where each buy signal can be independently enabled or disabled, while being equipped with five layers of protection mechanisms to strictly control risk while pursuing profits.

Core Characteristics

FeatureDescription
Buy Conditions3 independent buy signals, can be enabled/disabled independently
Sell ConditionsUses only ROI take-profit, no active sell signals
Protection Mechanisms5 protection parameter groups (cooldown, max drawdown, stop loss protection, low profit lock)
Timeframe15-minute main timeframe
Dependenciestalib, qtpylib, pandas
Startup Candles480 candles (approximately 5 days of data)

II. Strategy Configuration Analysis

2.1 Basic Risk Parameters

# ROI Exit Table
minimal_roi = {
"0": 0.05, # Take profit at 5% profit
}

# Stop Loss Setting
stoploss = -0.20 # 20% hard stop loss

# Trailing Stop
trailing_stop = False

# Custom Stop Loss
use_custom_stoploss = False

# Sell Signal
use_sell_signal = False # Completely rely on ROI take-profit

Design Rationale:

  • Single ROI target of 5%, a moderate profit target strategy
  • 20% stop loss is relatively loose, leaving room for trend pullbacks
  • No trailing stop used to avoid being shaken out during frequent oscillations
  • Completely relies on ROI for exits, simplifying exit logic

2.2 Order Type Configuration

The strategy does not explicitly define order_types and will use Freqtrade's default configuration.


III. Buy Conditions Explained

3.1 Protection Mechanisms (5 Groups)

Each buy signal shares global protection mechanisms, including:

Protection TypeParameter DescriptionDefault Value
CooldownPeriodPost-sell cooldown period0 minutes (no cooldown)
MaxDrawdownMaximum drawdown protection12-hour lookback, 20 trades, drawdown >20% stops for 1 hour
StoplossGuardStop loss frequency protection4 stop losses within 3 hours, pause trading for 6 hours
LowProfitPairs #1Low profit lock2 trades within 1.5 hours, profit <2%, lock for 15 minutes
LowProfitPairs #2Low profit lock4 trades within 6 hours, profit <1%, lock for 30 minutes

3.2 Three Buy Conditions Explained

Condition #1: EMA Multi-Period Confluence + VWMACD Confirmation (buy_signal_1)

# Logic
- VWMACD below signal line (waiting for golden cross opportunity)
- Low price below 240 EMA (pullback to long-period moving average)
- Close price above 240 EMA (support valid)
- 5 EMA crosses above 10 EMA (short-term trend strengthening)
- 3 EMA below 50 EMA (ensure not chasing highs)
- Volume greater than 0

Signal Switch: buy_signal_1 = True

Core Logic: Look for opportunities where short-term trends strengthen near long-term moving averages, combined with volume-weighted MACD to confirm momentum.

Condition #2: Fibonacci + Bollinger Bands Dual Channel Breakout (buy_signal_2)

# Logic
- Fibonacci lower band (SMA 50 - ATR * 4.236) crosses above Bollinger lower band
- Close price below 50 EMA (still at relatively low position)
- Volume greater than 0

Signal Switch: buy_signal_2 = True

Core Logic: Use the crossover signal between Fibonacci extension levels and Bollinger Bands to capture rebound opportunities after extreme oversold conditions.

Condition #3: Bollinger Lower Band Bounce + Volume Confirmation (buy_signal_3)

# Logic
- Low price below Bollinger lower band (20 period, 3 standard deviations)
- High price above volume-weighted slow MA
- High price below 50 EMA (ensure not too high)
- Volume greater than 0

Signal Switch: buy_signal_3 = True

Core Logic: Look for bounce opportunities with volume support near the Bollinger lower band, while limiting entries below the 50 EMA.

3.3 Three Buy Condition Categories

Condition GroupCondition IDCore Logic
Trend Followingbuy_signal_1EMA multi-period confluence + VWMACD confirmation
Extreme Reversalbuy_signal_2Fibonacci/Bollinger dual channel breakout
Oversold Bouncebuy_signal_3Bollinger lower band bounce + volume confirmation

IV. Sell Logic Explained

4.1 Pure ROI Take-Profit Mechanism

The strategy uses single ROI take-profit without active sell signals:

Profit Threshold    Take Profit Ratio
─────────────────────────────────────────
≥ 5% Immediate take profit

Design Philosophy:

  • Simplified exit logic, avoiding frequent stop-outs in oscillating markets
  • 5% target is moderate to conservative, suitable for trending markets
  • Relies on 20% stop loss as the final risk defense line

4.2 No Sell Signals

use_sell_signal = False

def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[(), "sell"] = 0
return dataframe

The strategy completely relies on ROI and stop loss for exits, without using technical indicator sell signals.


V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorsPurpose
EMA Series3, 5, 10, 50, 200, 240 EMAMulti-period trend determination
Bollinger Bands20 period, 3 standard deviationsOversold/overbought determination
Fibonacci ATRSMA 50 - ATR(14) * 4.236Extreme price level identification
VWMACDVolume-weighted MACDMomentum confirmation
Volume MAVolume-weighted fast/slow MAVolume-price coordination verification

5.2 Signal 1 Specific Indicators

# Signal 1 Parameters
s1_ema_xs = 3 # Ultra-short period EMA
s1_ema_sm = 5 # Short period EMA
s1_ema_md = 10 # Medium period EMA
s1_ema_xl = 50 # Long period EMA
s1_ema_xxl = 240 # Ultra-long period EMA

5.3 Signal 2 Specific Indicators

# Signal 2 Parameters
s2_ema_input = 50 # EMA base period
s2_ema_offset_input = -1 # EMA offset
s2_bb_sma_length = 49 # Bollinger SMA period
s2_bb_std_dev_length = 64 # Standard deviation period
s2_bb_lower_offset = 3 # Bollinger lower band offset
s2_fib_sma_len = 50 # Fibonacci SMA period
s2_fib_atr_len = 14 # ATR period
s2_fib_lower_value = 4.236 # Fibonacci extension coefficient

5.4 Signal 3 Specific Indicators

# Signal 3 Parameters
s3_ema_long = 50 # Long period EMA
s3_ema_short = 20 # Short period EMA
s3_ma_fast = 10 # Volume-weighted fast MA
s3_ma_slow = 20 # Volume-weighted slow MA

VI. Risk Management Features

6.1 Five-Layer Protection Mechanism

LayerProtection TypeTrigger ConditionProtection Effect
1Cooldown PeriodAfter sell0 minutes (no cooldown)
2Max Drawdown20 trades within 12 hours with drawdown >20%Pause trading for 1 hour
3Stop Loss Protection4 stop losses within 3 hoursPause trading for 6 hours
4Low Profit Lock #12 trades within 1.5 hours with profit <2%Lock for 15 minutes
5Low Profit Lock #24 trades within 6 hours with profit <1%Lock for 30 minutes

6.2 Stop Loss Strategy

  • Hard Stop Loss: 20%, a relatively loose stop loss range
  • No Trailing Stop: Avoid being frequently shaken out during oscillating markets
  • Stop Loss Protection Mechanism: Pause trading after consecutive stop losses

6.3 Position Management Recommendations

The strategy does not have built-in position management logic. It is recommended to configure with Freqtrade's stake_amount:

  • Recommended single position: 2%-5% of total capital
  • Maximum simultaneous positions: Adjust based on VPS performance

VII. Strategy Advantages and Limitations

✅ Advantages

  1. Signal Flexibility: Three buy signals can be independently toggled, easy to adjust based on market conditions
  2. Complete Protection Mechanisms: Five layers of protection effectively control consecutive losses and abnormal drawdowns
  3. Multi-Period Verification: From 3 EMA to 240 EMA, multi-period trend confirmation
  4. Volume Weighting: VWMACD considers volume factors for more reliable signals
  5. Simple Exit Logic: Pure ROI take-profit, avoiding conflicts from complex sell conditions

⚠️ Limitations

  1. Loose Stop Loss: 20% stop loss causes significant account volatility
  2. No Trailing Stop: May miss more profits in trending markets
  3. No Sell Signals: Completely relies on ROI, cannot take profit early
  4. Many Parameters: Numerous indicator parameters offer large optimization space but also high overfitting risk
  5. Large Startup Data: Requires 480 candles, approximately 5 days of 15-minute data

VIII. Applicable Scenario Recommendations

Market EnvironmentRecommended ConfigurationExplanation
UptrendEnable all signalsCapture pullback buy opportunities in trending markets
Oscillating MarketOnly enable signal_2Extreme oversold bounce opportunities are more suitable for oscillation
DowntrendPause tradingStrategy design is biased towards long positions, high risk in downtrend
High VolatilityReduce position size20% stop loss may be frequently triggered during high volatility

IX. Applicable Market Environment Details

Saturn5 is a multi-condition trend following strategy suitable for markets with clear trend direction. Based on its code architecture and multiple protection mechanisms, it is best suited for slow bullish oscillating uptrends, while performing poorly in one-sided downtrends or violent oscillations.

9.1 Strategy Core Logic

  • Trend Confirmation Priority: Confirm trend direction through multi-period EMA
  • Pullback Entry: Enter at pullback positions within the trend, not chasing highs
  • Volume Verification: VWMACD ensures momentum is real and effective
  • Protection Mechanism Safety Net: Five layers of protection control extreme risks

9.2 Performance in Different Market Environments

Market TypePerformance RatingReason Analysis
📈 Slow Bull Trend⭐⭐⭐⭐⭐Multi-period EMA confirms trend, pullback entries work well
🔄 Wide Oscillation⭐⭐⭐☆☆signal_2 can capture extreme oversold bounces, but higher stop loss risk
📉 One-sided Downtrend⭐⭐☆☆☆Long strategy easily stops out in downtrend
⚡️ Violent Volatility⭐☆☆☆☆20% stop loss may trigger frequently, protection mechanisms frequently activate

9.3 Key Configuration Recommendations

Configuration ItemRecommended ValueExplanation
Timeframe15mStrategy default, not recommended to modify
Stop Loss-0.15 ~ -0.20Can adjust based on risk preference
ROI0.03 ~ 0.05Can appropriately lower take-profit target to increase win rate
Simultaneous Positions10-30Adjust based on capital and VPS performance

X. Important Reminder: The Cost of Complexity

10.1 Learning Curve

  • Three independent buy signals require understanding different technical logic
  • Multiple indicator parameters require some technical analysis foundation
  • Protection mechanism parameters are numerous, need to understand each layer's function

10.2 Hardware Requirements

Number of PairsMinimum MemoryRecommended Memory
1-10 pairs2GB4GB
10-30 pairs4GB8GB
30+ pairs8GB16GB

10.3 Backtesting vs Live Trading Differences

  • In backtesting, all three signals may perform excellently, but in live trading note:
    • Slippage impact: Relatively small slippage impact at 15-minute timeframe
    • Data delay: Real-time data may differ from backtesting data
    • Liquidity: Large capital may affect execution prices

10.4 Recommendations for Manual Traders

If manually trading with this strategy as reference, focus on:

  1. EMA multi-period alignment relationships
  2. VWMACD golden cross signals
  3. Extreme oversold positions at Bollinger lower band
  4. Whether volume effectively increases

XI. Summary

Saturn5 is an exquisitely designed multi-condition trend following strategy. Its core value lies in:

  1. Signal Flexibility: Three independent buy signals can be combined for different market environments
  2. Complete Protection: Five layers of protection mechanisms effectively control risk and avoid consecutive losses
  3. Clear Logic: Each signal has clear technical logic support

For quantitative traders, this is a strategy suitable for moderate risk appetite, willing to invest time in parameter optimization. It is recommended to first backtest with historical data for verification, then test with small positions in live trading, and finally gradually increase position size.