dogabot dogabot

strategy

Strategy Filters

How per-reason filters work on dogabot: gate filters (UTC time window, volume) vs directional filters, and blocked trading windows.

strategyfiltersbacktest

Filters run after signal rules in a section produce a pending buy or sell. They can block that signal before an order is placed. Filters are configured per reason: entry, increase, reversal, or exit.

Two filter types

Gate filters (pass / fail)

These do not pick a direction—they only allow or deny the pending signal:

RuleWhat it checks
UTC Time WindowCurrent UTC time vs allowed start and blocked intervals
Volume ThresholdCandle volume vs minimums

If any enabled gate filter fails, the signal is dropped.

Directional filters (must agree)

These evaluate like normal indicator rules but act as filters: they must agree with the pending signal side (buy or sell). Examples: RSI, ADX, MA crossover, incremental scaling.

Use directional filters to require extra confirmation—for example, only enter long when ADX shows a strong uptrend.

UTC time window (new)

Control when trading is allowed in UTC:

Each blocked window has startUtc, endUtc, and enabled. Overnight windows are supported (e.g. 22:0006:00 blocks evening through early morning).

Invalid time strings are treated conservatively: malformed “allowed after” times fail open; malformed window boundaries may block incorrectly—use HH:MM in 24-hour UTC format.

Volume threshold

Require minimum liquidity before firing:

If volume data is missing, the rule fails open (allows the signal) so thin feeds do not silently block everything.

Legacy filter shapes

Older payloads used top-level filters.time or filters.volume. dogabot migrates these to utcTimeWindow and volumeThreshold rule instances automatically.

Rules that cannot be filters

Stop loss, take profit, and day trade close are exit signal rules only—they are not available in filter sections.

Example

You get a pending buy from entry rules at 14:05 UTC, but filters.entry includes a blocked window 00:00–08:00 (disabled) and 22:00–06:00 (enabled). At 14:05 the gate passes. At 23:30 UTC the same rules might fire, but the overnight block rejects the signal before an order is placed.

Related in the app

Ready to put this into practice?

Create a free account and explore dogabot with paper trading.

Try Backtest