Faintry Backtester

Strategies

Logic and default parameters. Edit config/strategies.json to change defaults; the backtest form can override them per run.

EMA Pullback

enabled
Trend-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
Backtest this strategy

Donchian Breakout

enabled
Momentum 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
Backtest this strategy

Mean Reversion

enabled
Buys 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
Backtest this strategy
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.