RegimeTrader
← Dashboard

The Bot

Filters

All filters that gate every trade before execution.

Session Filter

Only trades during high-liquidity sessions. Blocks all trading on weekends and after Friday 20:00 UTC (closes all open positions before the weekend).

text
London:   07:00 – 12:00 UTC
New York: 12:00 – 17:00 UTC
Overlap:  12:00 – 15:00 UTC  ← highest liquidity, best signals

News Filter

Fetches high-impact events from the ForexFactory calendar every 60 minutes. The filter works in two phases — a fixed pre-event block and an adaptive post-event check:

PhaseWindowLogic
Pre-event15 min beforeAlways blocked — prevents entering into a news spike
Post-eventUp to 60 min afterBlocked until ATR returns to normal — resumes automatically once the spike settles

After the event, the bot checks the live ATR every cycle. As soon as the last 3 candles show ATR within 2× the baseline (candles 4–24), trading resumes automatically. This means the bot can catch post-news continuation moves — the clean directional trend that often follows big events like NFP and FOMC — without entering during the chaotic initial spike.

json
{
  "filters": {
    "use_news_filter": true,
    "news_pre_buffer_minutes": 15,
    "news_post_max_minutes": 60,
    "news_atr_spike_multiplier": 2.0
  }
}

Market Regime Filter

Classifies the H4 market state using ADX and Bollinger Band width. Ranging markets are skipped entirely — no edge exists in choppy conditions.

RegimeConditionAction
TrendingH4 ADX > 25Use SMC + Trend Pullback
BreakoutH4 ADX 15–25, BB expandingUse Breakout strategy
RangingH4 ADX < 20Skip pair this cycle

Correlation Filter

Prevents opening two highly correlated pairs at the same time, which would double exposure to the same underlying risk.

text
Blocked groups (if one is open, others in the group are skipped):
  EURUSD · GBPUSD · AUDUSD · NZDUSD
  USDCAD · USDJPY · USDCHF
  GBPUSD · GBPJPY · GBPAUD
  XAUUSD · XAGUSD

Volatility Filter

Checks the 14-period ATR on H1. If the ATR is below the minimum threshold, the pair is too quiet to trade. The AI volatility predictor adds an additional GARCH-based layer on top of this.

json
{
  "filters": {
    "min_atr_multiplier": 0.5
  }
}

Spread Filter

Checks the live spread before placing any order. If the spread exceeds max_spread_pips, the trade is skipped.

json
{
  "risk": {
    "max_spread_pips": 3.0
  }
}

Tip: During major news events spreads can spike to 10–50 pips. The spread filter catches this even if the ATR check passes early — so you have triple protection: pre-event block → ATR spike gate → spread filter.

Note: All filters are logged — check logs/bot.log to see exactly why a pair was skipped in any given cycle.