Confluence

Mean-reversion (multi-indicator)
Combines four indicators and acts only when at least two agree.
It reads RSI, MACD, Bollinger Bands, and Volume on each candle. RSI below 30 signals oversold (a long bias) and above 70 overbought (a short bias); MACD crossing its signal line indicates momentum direction; Bollinger %B near the lower band is oversold and near the upper band overbought; a volume spike adds confirmation. When at least 2 of the 4 agree, it opens a position, and closes when RSI returns toward neutral (around 50) or a stop-loss is hit.
  • RSI(14)
  • MACD
  • Bollinger Bands
  • Volume
When it tends to work
Range-bound, choppy markets where price oscillates around an average.
When it tends to struggle
Strong sustained trends, where it repeatedly fades the move and gets stopped out.
Min votes to enter default: 3 1 – 4
RSI period default: 14 5 – 30
RSI overbought level default: 70 60 – 90
RSI oversold level default: 30 10 – 40

Trend Follow

Trend-following
Trades moving-average crossovers, but only in the direction of the longer-term trend.
When the fast EMA(21) crosses above the slow EMA(55) it's a long signal; crossing below is a short signal. A higher-timeframe filter only allows longs when price is above EMA(200) and shorts when below, so trades go with the broader trend. It exits on the opposite crossover.
  • EMA(21) — fast moving average
  • EMA(55) — slow moving average (crossover trigger)
  • EMA(200) — higher-timeframe trend filter
When it tends to work
Strong, sustained trends in one direction.
When it tends to struggle
Sideways or choppy markets, where crossovers flip back and forth (whipsaw) and produce repeated small losses.
No configurable parameters — values are fixed in the implementation.

Crowd Positioning (HYPE)

Signal-Driven — Backtest Only
Fades extreme crowd positioning on HYPE using the lsr_agg_long_frac signal (Aggregate Long %). Enters long when crowd is most short, short when crowd is most long. Exits when signal reverts to neutral or a max-hold cap is reached.
lsr_agg_long_frac (dirBearHigh) measures what fraction of CEX accounts are net long. When the crowd is positioned most short (signal below the 20th percentile), a structural bid from AF/staking tends to push HYPE up — the strategy goes long. When the crowd is most long (above the 80th percentile), that bid is absorbed and the strategy goes short. Position closes when the signal reverts through the neutral midpoint or after maxHoldBars bars.
  • lsr_agg_long_frac — Aggregate Long % (dirBearHigh, CEX crowd positioning)
When it tends to work
When crowd positioning reaches extremes and the structural bid remains active.
When it tends to struggle
When the crowd is right (trending markets where positioning and price align).
Entry long below (p20 approx) default: 0.45 0.3 – 0.5
Entry short above (p80 approx) default: 0.55 0.5 – 0.7
Exit neutral threshold default: 0.5 0.4 – 0.6
Max hold (bars) default: 48 4 – 240

Funding Extreme (HYPE)

Signal-Driven — Backtest Only
Fades extreme HYPE funding deviations from the protocol default. The distribution is a mass point at 1.25e-5; deviations are genuine outliers — enters against the crowded side when carry is at a multiple of the default; exits on normalisation.
No rolling window needed: thresholds are absolute, derived from params. Enter short when funding ≥ defaultRate × entryShortMultiple (longs overpaying carry). Enter long when funding ≤ −(defaultRate × entryLongMultiple) (longs paying shorts at k× default magnitude). The symmetric multiple design filters shallow-negative noise (e.g. −1e-6 ≈ 0.08× default) that any-negative-funding rules misfire on. Exit when |funding − defaultRate| < exitBand (normalised), or after maxHoldBars bars, or on the engine stop-loss. Because ≥80% of funding values sit at exactly the default, percentile-based entries are degenerate (p10 = p90); this strategy uses absolute deviation instead.
  • funding_rate — HYPE perpetual funding /h (hl-market, dirBearPos). Backfill available via scripts/backfill-funding-signals.ts.
When it tends to work
When funding spikes to several multiples of the default (longs overpaying) then reverts, or briefly goes negative (longs paying shorts). The deviation-from-default approach is robust precisely because the distribution is a mass point — outliers are structurally unusual.
When it tends to struggle
Persistent high-funding regimes where longs pay extreme carry for weeks without deleveraging (strong bull markets). Max-hold and stop-loss cap the damage but the strategy will underperform.
Default rate default: 0.0000125 0.000001 – 0.0001
Short entry multiple (k) default: 3 1.5 – 10
Long entry multiple (k_long) default: 1 0.5 – 5
Exit band (ε) default: 0.00000625 0.000001 – 0.00005
Max hold (bars) default: 72 4 – 240
Stop-loss (%) default: 6 1 – 20

Crowd Positioning

Contrarian / Positioning Signal-Driven Backtest Only
Trades against crowded retail positioning using long/short ratio data aggregated from major CEXs. When the crowd is extremely short, a structural bid on HYPE tends to push price up; when extremely long, the crowd gets faded. Edge is measured statistically — check the Signals tab for current IC scores before relying on this strategy.
⚡ Backtest-only strategy. Entries are driven by pre-computed Market signal data (lsr_agg_long_frac) that is only available during backtests — it is not attached to live or paper candles. This strategy appears in the Backtest dropdown but is excluded from the +Add Bot launcher. The Signals tab on the Market page shows its measured IC across 4h, 24h, 72h, and 168h horizons.
Each hour the strategy reads the aggregate long fraction (lsr_agg_long_frac) — the share of accounts at major CEXs that are net long HYPE. It computes the 20th and 80th percentiles from the available signal window. When the crowd is extremely short (signal below the 20th percentile), a structural bid from the Alligator Fund and staking rewards tends to push price up against the crowd: the strategy goes long. When the crowd is extremely long (above the 80th percentile), it shorts, fading the crowded side. The position exits when positioning reverts past the median (50th percentile), or unconditionally after a configurable max-hold cap to limit exposure in persistent positioning regimes.
  • lsr_agg_long_frac — Aggregate Long % (weighted average across Binance, OKX, Bybit). Primary entry/exit trigger. View IC →
  • lsr_okx_account — OKX account-level L/S ratio (crowd positioning on the second-largest venue). View IC →
  • lsr_binance_global — Binance global account L/S ratio (largest retail crowd). View IC →
When it tends to work
Ranging or squeeze-prone markets where extreme retail positioning precedes reversals. Most effective when the structural AF/staking bid is active and the crowd is systematically wrong about direction.
When it tends to struggle
Strong sustained trends where the crowd is correct and stays positioned in the trend direction for extended periods. Positioning extremes that don't revert before the max-hold cap fires.
Entry long below (p20 approx) Signal percentile threshold for long entry. A value of 0.45 means "enter long when fewer than 45% of accounts are long." default: 0.45 0.30 – 0.50
Entry short above (p80 approx) Signal percentile threshold for short entry. A value of 0.55 means "enter short when more than 55% of accounts are long." default: 0.55 0.50 – 0.70
Exit neutral threshold Signal level at which positioning is considered "back to neutral." Longs exit when signal rises above this; shorts exit when it falls below. default: 0.50 0.40 – 0.60
Max hold (bars) Maximum bars to hold before force-exiting, regardless of signal. At 1h candles, 48 bars = 2 days. Prevents being trapped in a persistent positioning regime. default: 48 4 – 240

Volatility Regime Switching

Adaptive (regime-aware) Planned — not yet implemented
Switches between mean-reversion and trend-following based on the current volatility regime.
It measures realised volatility on a rolling window and compares to a 30-day baseline. In low-vol periods (range-bound markets), it allocates more capital to mean-reversion logic; in high-vol periods (trending markets), it shifts to trend-following. Rather than a binary regime toggle, the allocation is weighted continuously by the volatility percentile, avoiding whipsaws at regime boundaries.
  • Realised volatility (rolling window vs 30-day baseline)
  • ATR (regime weighting)
  • Underlying mean-reversion signals
  • Underlying trend-following signals
When it tends to work
When the market clearly alternates between regimes over the holding window.
When it tends to struggle
In transitional regimes where vol is changing rapidly.
Vol lookback period
Regime weighting curve

Liquidation Cascade Fade

Microstructure (counter-trend) Planned — not yet implemented
Trades against forced-liquidation cascades after they begin to exhaust.
When Hyperliquid's liquidation volume spikes far above its rolling baseline, the strategy waits for the first candle close that prints opposite the cascade direction (a confirmation candle), then enters a counter-trend position with a tight stop. The confirmation filter sacrifices the first part of the bounce in exchange for not catching falling knives mid-cascade.
  • Liquidation USD volume vs rolling baseline
  • Candle direction (confirmation filter)
When it tends to work
During sharp cascade events that overshoot fair value and snap back.
When it tends to struggle
In extended grinding moves where no single cascade resolves cleanly.
Spike threshold (× baseline)
Baseline window
Stop distance

Funding Deviation (Predicted vs Actual)

Positioning flow (rare metric) Planned — not yet implemented
Trades against positioning shifts revealed when actual funding diverges from Hyperliquid's predicted rate.
Hyperliquid publishes both the current funding rate and a predicted next rate. Persistent positive deviation (actual exceeds predicted) signals fresh long crowding — historically a precursor to reversals. Negative deviation signals short crowding. The raw deviation is normalised as a 7-day z-score so the signal is scale-invariant across calm and volatile funding regimes.
  • Actual funding rate
  • Predicted funding rate (next period)
  • 7-day rolling mean and std of the gap (z-score)
When it tends to work
When positioning is shifting fast and the market hasn't priced it in.
When it tends to struggle
During sustained directional funding regimes where deviation is small but persistent.
Z-score window
Entry threshold (z-score)