Strategies
Logic and default parameters. Edit config/strategies.json to change defaults; the backtest form can override them per run.
EMA Pullback
enabledTrend-following long entries on pullbacks toward the fast EMA inside a higher-timeframe uptrend.
Timeframes
4H regime → 1H setup → 15M entry
Rules
- Regime (4H): EMA fast > EMA slow AND close > EMA slow
- Setup (1H): lowest low of the last `pullback_lookback` bars touched EMA fast (± tolerance), close > EMA slow
- Setup (1H): RSI within [rsi_min, rsi_max]
- Setup (1H): relative volume >= volume_recovery_ratio
- Entry (15M): close breaks the highest high of the previous `breakout_lookback` bars
- SL/TP: entry ∓ 1H ATR × stop_loss_atr / take_profit_atr
Parameters
regime_timeframe4h
setup_timeframe1h
entry_timeframe15m
ema_fast20
ema_slow50
rsi_period14
rsi_min40
rsi_max55
pullback_lookback3
pullback_tolerance0.005
volume_sma_period20
volume_recovery_ratio1.0
breakout_lookback1
atr_period14
stop_loss_atr1.5
take_profit_atr3.0
cooldown_bars4
max_holding_bars0
Donchian Breakout
enabledMomentum breakout of the prior N-bar high, confirmed by volume and expanding volatility.
Timeframes
4H regime → 1H entry
Rules
- Regime (4H): EMA fast > EMA slow
- Entry (1H): close > highest high of the previous `donchian_period` bars
- Entry (1H): relative volume > volume_multiplier
- Entry (1H): ATR > SMA(ATR, atr_expansion_period) (ATR expanding)
- Exit signal (1H): close < lowest low of the previous `exit_period` bars (0 = disabled)
- SL/TP: entry ∓ 1H ATR × stop_loss_atr / take_profit_atr
Parameters
regime_timeframe4h
entry_timeframe1h
ema_fast20
ema_slow50
donchian_period20
volume_sma_period20
volume_multiplier1.5
atr_period14
atr_expansion_period20
stop_loss_atr2.0
take_profit_atr4.0
exit_period10
cooldown_bars0
max_holding_bars0
Mean Reversion
enabledBuys oversold dips below the lower Bollinger Band when momentum turns up and BTC is not bearish.
Timeframes
1H entry → 4H btc
Rules
- Entry (1H): close <= lower Bollinger Band within the last `signal_window` bars
- Entry (1H): RSI < rsi_threshold within the last `signal_window` bars
- Entry (1H): Stoch RSI %K crosses above %D from below stoch_oversold
- BTC regime (4H): not bearish (bearish = EMA fast < EMA slow AND close < EMA slow)
- Exit signal (1H): close >= Bollinger middle band (if exit_at_middle_band)
- SL/TP: entry ∓ 1H ATR × stop_loss_atr / take_profit_atr; optional max_holding_bars
Parameters
entry_timeframe1h
btc_regime_symbolBTCUSDT
btc_regime_timeframe4h
btc_ema_fast20
btc_ema_slow50
bb_period20
bb_std2.0
rsi_period14
rsi_threshold35
stoch_rsi_period14
stoch_k3
stoch_d3
stoch_oversold30
signal_window3
atr_period14
stop_loss_atr1.5
take_profit_atr2.5
exit_at_middle_bandTrue
cooldown_bars3
max_holding_bars48
All strategies are long-only spot strategies. SL/TP are ATR-based; when a candle touches both, the default conservative model assumes the stop was hit first.