很多自动交易系统从一个很自然的问题开始:
下一场是 Up 还是 Down?
这个问题没有错。
但做得越久,我越觉得真正重要的问题其实是另一个:
这一场到底值不值得交易?
这两个问题只差一句话,却会把一个交易机器人变成完全不同的系统。
从二选一,变成三选一
最简单的 BTC 5分钟方向系统可能只有:
UP
DOWN
也就是说,每个窗口都必须给答案。
这种设计的隐含假设是:
市场里永远存在一个值得下注的方向。
我不认为这个假设成立。
在我们的系统里,一个候选信号形成以后,还会经过行情环境、内部状态、冲突和后置判断。
最终结果可以高层理解为:
KEEP
ADJUST
STOP
也就是:
交易原方向
调整当前候选
不交易
公开回测快照里,18,633 个历史信号中有 348 次最终 STOP,约占 1.87%。
这 348 次不是异常。
它们是系统正常输出的一部分。
为什么“有信号”不等于“有交易”
假设一个信号在过去通常有效。
到了某一个具体时刻,仍然可能出现:
- 当前市场环境与这个信号历史上更适合的环境不同;
- 局部结构在信号产生后发生了变化;
- 多个候选方向发生冲突;
- 数据完整性不足;
- 同一类触发在短时间内过度集中;
- 风险或执行条件不满足。
如果策略层只会说:
“我刚才看到 Up,所以现在仍然买 Up。”
那它其实没有重新回答:
“这个 Up 现在还值得相信吗?”
这也是我理解的 Signal ≠ Trade。
信号是一个候选。
订单是通过完整约束之后的最终行为。
NO TRADE 不是“胆小”
很多人会自然担心:
如果 STOP 掉的交易最后本来会赢,不就亏了吗?
是的。
任何过滤器都会产生两类错误:
- 拦住原本会亏的交易;
- 也拦住原本会赢的交易。
所以 STOP 的目标从来不是:
把所有亏损都删除。
如果一个规则在回测中神奇地只删除亏损,从来不误伤盈利交易,我反而会非常警惕。
因为真实研究更常见的是权衡:
少做一些交易
↓
损失一部分正确机会
↓
但希望减少更糟糕的风险暴露
真正需要验证的是:
这个过滤在更长时间、不同市场阶段和完整策略里,是否仍然值得存在?
一个危险的思路:最近亏了,所以加一个 STOP
这件事在研究中非常常见。
你看到最近一段时间表现变差。
然后打开亏损样本。
很快就能发现某个共同特征。
于是写一个规则:
以后出现这种情况就不交易。
重新跑最近的数据:
结果变好了。
这一步极其诱人。
因为你已经知道哪些交易亏了,再去解释它们,几乎总能找到一个“看起来合理”的共同点。
但这不等于你发现了一个可以推广到未来的规律。
我们内部研究里就有过类似候选:它针对近期弱势设计,从局部窗口看有改善,但在完整策略的回撤、连续亏损和历史选择验收中没有达到上线标准。
最后的决定不是继续调参数,而是:
不进入生产版本。
对我来说,这种被否定的规则和最终留下来的规则一样重要。
为什么我们不会公开 STOP 的精确条件
可以公开的是:
- 为什么需要 STOP;
- STOP 在整个决策流程中的角色;
- 它不是软件错误;
- 如何评估一个过滤思路是否值得留下;
- 历史总体 STOP 数量和比例。
不会公开的是:
- 精确特征;
- 指标组合;
- 历史窗口;
- 阈值;
- 内部分支映射;
- 动作边界;
- 规则优先级。
原因很简单:
公开研究方法,不等于公开策略配方。
真正值得讨论的是“为什么要这样研究”,而不是把可复现条件完整贴出来。
STOP 的价值可能不体现在总胜率里
一个后置过滤是否有价值,不一定会让总胜率发生巨大变化。
因为它可能只命中非常少的一部分事件。
这类小规则的价值有时会体现在:
- 最差周有没有改善;
- 某些极端路径有没有收敛;
- 连续亏损是否减少;
- 某类明显异常的市场环境是否被排除;
- 策略在不同年份是否更一致。
这也是量化研究里一个很重要的视角:
不要只看总收益变没变。
一条规则可能让总分略好,却把最大回撤变得更差。
也可能总分只改善一点,但极端路径更稳定。
它们不是同一种升级。
为什么“每场都交易”听起来反而让我不安
BTC 5 分钟市场每天会不断产生新窗口。
如果一个系统被设计成每个窗口都必须下注,它实际上是在假设:
无论市场状态如何,我永远有 edge。
这是一个非常强的假设。
我更愿意接受另一种系统行为:
没有足够确定的候选
→ 跳过
候选冲突
→ 跳过
状态没准备好
→ 跳过
风险条件不满足
→ 跳过
执行条件不满足
→ 跳过
少交易不是目的。
选择性才是目的。
一个好 Bot 的目标不是“更多预测”
自动化很容易给人一种错觉:
既然程序可以 24/7 跑,那就应该尽量多做交易。
但计算机最有价值的地方恰恰是它可以机械执行“什么都不做”。
人盯着行情时很容易因为无聊、FOMO、连续亏损后想追回,或者连续盈利后过度自信,而降低入场标准。
程序不需要这样。
如果我们把“不交易”定义成合法输出,它就可以严格执行同一套约束。
这比“24 小时不停下注”更接近我理解的自动交易价值。
公开回测里的 STOP
在 2026-09-01 的公开历史快照里:
Historical signals 18,633
Executed orders 18,285
STOP 348
STOP rate 1.87%
完整报告:
如果你只看 18,285 笔已经执行的结果,很容易忽略前面还有一层:
并不是每个信号都应该变成订单。
这层差异,对我来说比再加一个指标更重要。
相关阅读:
一个规则最近表现很好,我为什么没有把它放进 Polymarket Bot?
项目:
本文仅用于技术研究、教育和信息记录,不构成投资、交易或财务建议。STOP、风控和过滤机制只能限制风险,不能消除亏损。