Time Filters
Time Filters
What are time filters?
Time filters are specialized indicators that restrict trading to specific time periods. They allow you to limit when your strategy generates signals — by session, day of week, time of day, month, or market-specific trading hours.
Time filters are essential for avoiding low-liquidity periods, focusing on the most active trading sessions, and implementing session-based strategies.
How they work
Each time filter is a binary indicator that outputs:
- 1.0 — the current candle falls within the specified time window
- 0.0 — the current candle is outside the time window
You use them in conditions like any other indicator:
{ left: "TIME_WEEKDAYS", operator: "greater_than", right: "0" }
This means "only trade on weekdays (Monday through Friday)."
Available time filter groups
StratBase includes 35 time filter indicators organized into 8 preset groups:
Sessions (5 filters)
Major global trading sessions (UTC times):
- TIME_ASIAN_SESSION — Asian session (00:00–09:00 UTC)
- TIME_EUROPEAN_SESSION — European session (07:00–16:00 UTC)
- TIME_AMERICAN_SESSION — American session (13:00–22:00 UTC)
- TIME_LONDON_NY_OVERLAP — London/New York overlap (13:00–16:00 UTC) — highest forex liquidity
- TIME_ASIAN_EUROPEAN_OVERLAP — Asian/European overlap (07:00–09:00 UTC)
Kill Zones (4 filters)
High-volatility periods favored by institutional traders:
- TIME_LONDON_KILLZONE — London open kill zone (07:00–09:00 UTC)
- TIME_NY_KILLZONE — New York open kill zone (13:00–15:00 UTC)
- TIME_ASIAN_KILLZONE — Asian open kill zone (00:00–02:00 UTC)
- TIME_LONDON_CLOSE_KILLZONE — London close kill zone (15:00–16:00 UTC)
Day of Week (7 filters)
Filter by specific days:
- TIME_MONDAY through TIME_FRIDAY — individual weekday filters
- TIME_WEEKDAYS — Monday through Friday
- TIME_WEEKEND — Saturday and Sunday
Day of Month (5 filters)
Filter by position within the month:
- TIME_FIRST_WEEK — 1st through 7th day of month
- TIME_LAST_WEEK — last 7 days of month
- TIME_MONTH_START — first 3 days of month
- TIME_MONTH_END — last 3 days of month
- TIME_MID_MONTH — 13th through 17th day
Market-Specific: Stocks (2 filters)
- TIME_US_MARKET_HOURS — US stock market (13:30–20:00 UTC)
- TIME_US_PREMARKET — US pre-market (09:00–13:30 UTC)
Market-Specific: Forex (1 filter)
- TIME_FOREX_ACTIVE — Main forex hours (07:00–21:00 UTC)
Market-Specific: Crypto (3 filters)
- TIME_CRYPTO_VOLATILITY — High crypto volatility hours (12:00–20:00 UTC)
- TIME_CRYPTO_LOW_VOLUME — Low volume period (02:00–06:00 UTC)
- TIME_CRYPTO_WEEKEND — Weekend crypto trading (Saturday + Sunday)
Seasonal (8 filters)
Longer-period time filters:
- TIME_Q1 through TIME_Q4 — quarterly filters
- TIME_JANUARY — January (January effect)
- TIME_SUMMER — June through August (summer doldrums)
- TIME_WINTER — December through February
- TIME_QUARTER_START — first month of each quarter
Example conditions
| Condition | Meaning |
|-----------|---------|
| TIME_WEEKDAYS > 0 | Only trade on weekdays |
| TIME_LONDON_NY_OVERLAP > 0 | Only trade during London/NY overlap |
| TIME_NY_KILLZONE > 0 | Only trade during NY kill zone |
| TIME_JANUARY > 0 | Only trade in January |
Tips
- Use session filters to focus on the most liquid trading hours for your instrument
- Kill zones are the most volatile periods — ideal for breakout strategies, risky for mean reversion
- Combine multiple time filters to create precise trading windows
- The London/New York overlap (13:00–16:00 UTC) has the highest forex liquidity
- Avoid trading crypto during TIME_CRYPTO_LOW_VOLUME unless you specifically want low-volatility conditions
- Seasonal filters like TIME_JANUARY can capture calendar anomalies (January effect)
- Market-specific filters only appear for relevant instruments (crypto, forex, stocks)

