实战踩坑总结二
坑 1:跨周期调用的 init / Calc 顺序搞错 现象:很多人写"日线判方向 + 15 分钟进场",结果回测里日线指标全是 0,策略全部不开仓。 正解:在子公式里要把 K 线对齐、用 BarStatus 判断,确保 OnBar 之后再调用子公式。坑 2:手续费 + 滑点一行没设置,回测全是虚高 现象:默认参数跑螺纹,1 个月手续费吃掉盈利的 30%,甚至把盈利做成了亏损。 正解:A_TotalFee、Slippage 一定要写,且要明确"按笔"还是"按手数"。具体怎么设滑点,下一篇单独讲。 坑 3:开仓语句里没判"已持仓",导致重复开仓 现象:信号闪烁的品种尤其严重,等到账户报警才发现已经多开了 5 手。 正解:Buy / SellShort 前用 MarketPosition 判断当前仓位状态。 坑 4:参数优化全段 in-sample,回测漂亮,实盘大亏 现象:参数优化的永恒陷阱,一上实盘就亏,是大家最常说的"过拟合"。 正解:必须留 out-of-sample,比例至少 7:3 切分;并对优化后的参数做"参数高原"检验。 坑 5:把"回测盈利"等同于"实盘能力",忽略流动性 现象:用 5 分钟 K 线回测,结果发现在 1 分钟级别上根本进不了场——回测 +50%,实盘 -20%。 正解:回测里加滑点参数 + 模拟盘至少跑 1 个月再上实盘。