先读代码单位,不凭参数名字猜
点差通常是 Ask 与 Bid 的价格差;若代码除以品种 point,就转成 point 数量。SYMBOL_SPREAD 也是 point 口径。pip 是市场惯用单位,不能跨外汇、黄金与不同报价精度固定换算;tick size 是允许的价格步长,也不必等于 point。
以假设 point=0.01 的品种为例,价格差 0.30 对应 30 point;这只是算术示例,不是当前券商规格、推荐阈值或已验证测试结果。先核对实际品种属性,再解释参数。
用绑定日志确认是否被点差过滤
日志出现 Spread too high 或 spread filter blocked 时,先确认日志属于当前测试、源码和品种。静态代码存在点差判断不代表该判断在本次运行中触发;缺少运行证据时只能列为候选原因。
本仓库零成交诊断区分 spread_blocked 与 filling_retcode_10030。点差过滤属于风控门槛,10030 属于请求成交模式,两者不能混为同一个修复。
按实际品种复核
- 记录准确 symbol、后缀、digits、point 与 tick size,不把 EURUSD 的经验值套给 XAUUSD。
- 确认代码用实时 Ask/Bid、SYMBOL_SPREAD 还是输入常量,读清是否进行了第二次单位转换。
- 记录阻止开仓时的点差、阈值与时段,检查交易时段、行情缺口和其他过滤。
- 固定测试区间、模型与其他参数,只调整有证据支持的单位错误;保留原结果。
恢复成交不是降低成本或获得盈利
删除点差过滤会改变风险规则;提高阈值也会改变可成交样本与交易成本。确需修改时保留原版和新版源码哈希;仅改参数时保留独立配置及参数版本,不把旧报告沿用到新阈值。复测后同时比较成交数量、净收益与回撤,不选择性隐藏亏损。