过滤器 在部分内信号规则产生待定买入或卖出之后运行,可在下单前 阻止 该信号。过滤器按 reason 配置:entry、increase、reversal 或 exit。
两类过滤器
门槛过滤器(通过/失败)
不选择方向——仅允许或拒绝待定信号:
| 规则 | 检查内容 |
|---|---|
| UTC 时间窗口 | 当前 UTC 时间与允许开始及禁止区间 |
| 成交量阈值 | K 线成交量与最低要求 |
任一启用的门槛过滤器失败,信号即被丢弃。
方向性过滤器(须一致)
像普通指标规则一样评估,但作为过滤器:必须与待定信号侧(买入或卖出)一致。例如:RSI、ADX、均线交叉、分批加仓。
用方向性过滤器要求额外确认——例如仅在 ADX 显示强上升趋势时做多。
UTC 时间窗口(新)
用 UTC 控制 何时 允许交易:
- allowedAfterUtc — 每日此时间之前不交易(如
09:30)。 - blockedWindows — 一个或多个每日禁止交易区间。
每个禁止窗口有 startUtc、endUtc 与 enabled。支持跨夜窗口(如 22:00 → 06:00 禁止晚间至清晨)。
无效时间字符串处理保守:格式错误的“允许之后”时间可能放行;格式错误的窗口边界可能错误阻止——请使用 24 小时 UTC 的 HH:MM。
成交量阈值
触发前要求最低流动性:
- minVolume — 当前 K 线成交量须达到此值
- minAvgVolume — lookbackBars(默认 20)内平均值须达到此值
- volumeType —
base或quote资产成交量
若缺少成交量数据,规则 放行(允许信号),避免稀薄数据源静默阻止所有交易。
旧版过滤器结构
旧载荷使用顶层 filters.time 或 filters.volume。dogabot 会自动迁移为 utcTimeWindow 与 volumeThreshold 规则实例。
不能作过滤器的规则
止损、止盈 与 日交易平仓 仅为出场信号规则——不可用于过滤器部分。
示例
示例
入场规则在 14:05 UTC 产生待处理买入,但 filters.entry 含屏蔽窗口 00:00–08:00(已禁用)与 22:00–06:00(已启用)。14:05 时闸门通过。23:30 UTC 时相同规则可能触发,但隔夜屏蔽会在下单前拒绝信号。
延伸阅读
- 策略规则概览
- UTC 时间窗口规则
- 成交量阈值规则
- ADX 规则 — 趋势中常用的方向性过滤器