Entry Filters: Underlying, VIX, and Custom Conditions
Entry filters let a bot check market conditions before it opens a trade. If any active filter says no, the bot stands down for that attempt and tries again later in its entry window.
Where filters live: the Trade Conditions section
The Trade Conditions section of the bot form is the bot's rulebook for when trading is allowed at all. The master Entry Filters toggle reveals the underlying, VIX, and custom filter panels described below. Around it sit standalone gates that work whether or not filters are on: Max Concurrent Trades (caps how many of the bot's trades can be open at once with staggered or Multi-Entry setups), Max Trades Per Day, Max Profit Targets Per Day, Max Stops Per Day, minimum and maximum trade value bounds, and more. Every gate in the section is documented field by field in Bot Settings: Trade Conditions and Entry Filters.
Event Day Filter: the days you select are the exception
The Event Day Filter has its own Enabled toggle in Trade Conditions, separate from the Entry Filters toggle. Enable it, pick a Filter Behavior, then select the event days that behavior applies to. Whichever behavior you pick, the days you select are the exception to it:
- Do Not Trade Selected Days (the default): the bot trades as usual and skips only the event days you select.
- Only Trade Selected Days: the bot trades only on the event days you select and skips every other day, ordinary days included.
For each of these events, you can select the Day Before, Day Of, and Day After:
- FOMC Press Conferences
- Monthly CPI Report
- Monthly OPEX
- Monthly Jobs Report
- GDP Release
There are also selections for the Last Trading Day of the Non-Quarter-End Month and the Quarter. These two never overlap: a month that ends a quarter counts only as the Quarter, so selecting only Non-Quarter-End Month leaves March, June, September and December alone. Under Other Market Days there are two more single selections: First Trading Day of Month and Early Close Day, a day the market closes early. Filter Behavior determines what happens on every day outside your selections; there is no separate All Other Days toggle.
A day with multiple events counts as selected if any one of its events is selected. If CPI and OPEX coincide and you select only CPI Day Of, that day is selected: Do Not Trade Selected Days skips it, and Only Trade Selected Days allows it through this filter. Other entry gates must still pass.
For example, to skip the day of an FOMC press conference or CPI release, leave Filter Behavior on Do Not Trade Selected Days and select only those two Day Of boxes. To trade only on CPI release days, choose Only Trade Selected Days and select only Monthly CPI Report: Day Of.
Only the days you select are colored in the panel, because they are the exception the rule acts on: red with an x under Do Not Trade Selected Days (the days the bot skips) and green with a check under Only Trade Selected Days (the only days it trades). Every other day stays unhighlighted. The Filter Behavior button carries that same mark and color, so the behavior you pick and the days it acts on read as one rule. The key above the event boxes spells out both halves, and the live summary below them describes the finished rule in a sentence.
With no events selected, Do Not Trade Selected Days does not restrict trading at all. Only Trade Selected Days needs at least one event day selected, since with none the bot would never open a trade; the form asks you to pick one before saving. Selecting every event under Only Trade Selected Days still skips ordinary days. Turning the Event Day Filter off removes its restriction. Check the Event Days and Market Holidays calendar to confirm which dates your rule covers.
The Event Day Filter can also be set from a bot import file, through the entry_filter_special_days parameter. Its digit order and both Filter Behaviors are documented in the Bot Import Format Reference.
Underlying Entry Filters
These eight filters read the bot's own underlying before entry. Most use a shared pattern: a greater than bound and a less than bound, each with its own on switch, entered as the change from the first time to the second time, positive if up and negative if down. Turn on one bound or both.
- Intraday Change: how far the underlying has moved since today's open, in percent. Example: enter only if the market is down less than 1 percent on the day.
- One-Day Change: the move from yesterday's close to the current price, in percent.
- Overnight Gap: the gap from yesterday's close to today's open, in percent. Example: stand down after a large gap in either direction by requiring the gap to sit between -0.5 and +0.5 percent.
- Market Value Between: the underlying's price itself must fall inside a range you set.
- Moving Average Range: the price must sit a chosen percent above or below a moving average you define: Simple or Exponential, measured Daily at Close, Daily at Current Time, Hourly, or by Minute, with your period count.
- Moving Average Crossover: one moving average must be above or below another, a classic trend check built from the same period controls.
- RSI: the Relative Strength Index over your chosen periods must be above or below your bounds, a common overbought or oversold gate.
- Opening Range Breakout: the bot tracks the underlying's high and low over an Opening Time Period you set (60 means the first hour) and will not enter until that period has elapsed. Then the Breakout Direction (Higher, Lower, Either, or Both) and Breakout Condition decide whether entries require the price to be outside the range right now, to have crossed it at any point since the range formed, or, for fade styles, to have stayed inside it. The ORB percentage range widens or tightens the breakout threshold.
Each filter has its own enable switch, so you can combine checks: an overnight gap limit plus a moving average trend check plus an RSI bound all have to agree before the bot enters.
Volatility Index (VIX) Entry Filters
Six of the same filter types are available against the VIX rather than the bot's underlying, so a bot can require calm or elevated volatility before it trades: Intraday Change, One-Day Change, Overnight Gap, a Range Between bound on the VIX level itself, a Moving Average Range, and a Moving Average Crossover. There is no RSI or Opening Range Breakout filter for the VIX. VIX filters are popular for keeping premium-selling bots out of fast markets, for example by requiring the VIX to be below a level you choose before entering.
Filter the Day
Filter the Day decides what happens after an entry filter says no. With it off, the bot keeps checking on every attempt through its entry window and enters as soon as conditions come back into bounds. With it on, the first failed filter ends the bot's automated entry attempts for the rest of the day.
- What counts: any underlying or VIX filter that reads the market and fails, and a User-Hosted Entry Filter that answers with a filterStatus of false.
- What does not count: a check that could not run. If market data is not available yet, a moving average or RSI cannot be calculated, or your endpoint cannot be reached or sends back an invalid response, the bot tries again on its next attempt.
- Overnight Gap filters always end the day's attempts when they fail, whether or not Filter the Day is on, because the gap is set at the open and cannot change.
Use it when a single "no" should mean "not today." A bot that should only enter if the market is calm at 10:00 AM, and never later, is a good fit: turn on Filter the Day and the bot will not chase an entry once conditions drift back into range in the afternoon. The flag resets before the next trading day, and Launch Now still opens a trade for that bot whenever you choose.
Custom Entry Filters
User-Hosted Entry Filters hand the final entry decision to you. The bot calls a web address you host, and your endpoint answers with a simple yes or no trade decision in a JSON response with a filterStatus value of true or false. You can compute anything you like behind that endpoint before answering.
How filters fit the entry flow
Filters run at entry time, after the bot's schedule says go and before any order is sent. They never close an open trade; exits remain the job of your profit target, timed exit, and stop settings. If a filter blocks an attempt and the entry window is still open, the bot simply re-checks on its next attempt. To see the exact live numbers your filters are evaluating right now, open the Bot Filter Values page, covered in its own guide. For the scheduling side of entries, see Entry Timing: Windows, Days, Speed, and Staggering; for exits, start with Profit Targets and Timed Exits.