为什么你的通达信策略回测很美,实盘却亏成狗
很多人用通达信写程序化交易,回测曲线漂亮得像艺术品,年化收益动辄百分之几百。一上实盘,账户就像被扎了洞的气球。问题不在你的代码写得不够复杂,而在于你根本没搞懂通达信这类工具在真实交易环境里埋了哪些雷。
信号闪烁——最隐蔽的收割机
通达信里写公式,用C代表收盘价。回测时系统默认你就在收盘那一刻成交。实盘中,收盘前最后一秒价格还在跳。你的策略在14:59:57发出买入信号,等14:59:59价格已经变了。更致命的是,很多常用函数如REF(C,1)在盘中会随着最新价变动而不断重算。你看到信号出现了,一秒钟后它又消失了。你手动追进去,结果发现那是个假信号。
这种闪烁带来的直接后果是:回测里的成交价是理想化的,实盘你根本拿不到。你以为在突破点买入,实际成交价可能高出好几个价位。

滑点比你想象的要贵得多
通达信本身不提供撮合,你通过它发出的信号要人工或者用外挂程序送到券商。期货市场尤其明显。假设你做螺纹钢,回测时每次开仓滑点设为1跳。真实情况是,行情快速波动时,你的单子可能滑3到5跳。一天交易10次,一次滑点损失20元,一年250个交易日,光滑点就吃掉你5万块。本金20万的话,年化25%的收益被滑点削掉一大半。
股票市场看起来滑点小,但别忘了印花税和佣金。高频交易下,这些摩擦成本会像蚂蚁搬家一样搬空你的利润。
数据质量——你用的K线可能是假的
通达信默认的日线数据,对于程序化交易远远不够。你需要tick级或者至少分钟级数据。免费版通达信的历史分钟数据只保留最近几个月。你想回测三年前的策略,数据缺失严重。更坑的是,不同券商提供的通达信版本,数据复权方式可能不同。前复权还是后复权?除权除息怎么处理?这些细节不搞清楚,回测出来的买卖点全是错的。
期货主力合约切换更是个大坑。通达信的连续合约是拼接出来的,换月那天的价格跳空会制造虚假信号。你的策略在回测里赚了钱,实盘时因为换月跳空,直接反向开仓。
过度拟合——你在拟合历史噪音
通达信公式系统允许你随便加参数。均线周期从5改到6,收益从30%跳到80%。你兴奋地以为找到了圣杯,其实只是让策略去记住历史数据里那些随机波动。参数越多,拟合越严重。实盘中市场结构一变,策略立刻失效。
一个简单的检验办法:把你的策略放到不同品种上跑。只做螺纹钢的策略,拿到铁矿石上还能赚钱吗?如果换个品种就亏,说明你的策略没有捕捉到普适规律,只是在拟合螺纹钢过去几年的特定走势。
外挂下单的延迟与故障
通达信本身不带自动交易功能,你需要用第三方插件或者自己写按键精灵。这种外挂模式极其脆弱。电脑卡顿一下,信号就错过了。网络抖动一次,单子重复发了。更危险的是,外挂程序崩溃时,你的持仓可能完全失控。期货带杠杆,几秒钟的延迟就能让亏损扩大好几倍。
有些人用通达信的预警功能手动下单。盘中预警弹出来十几个,你手忙脚乱点错方向。程序化交易最忌讳的就是人工干预,但通达信这套半自动流程逼着你不得不介入。
策略容量与市场冲击
你的策略在回测时假设自己的单子不会影响市场。实盘中,哪怕你只做几手期货,在流动性差的时段(比如夜盘刚开盘或午盘收盘前),你的单子也会吃掉好几档挂单。通达信不会告诉你这些,因为它根本没有订单簿模拟。
股票更明显。小盘股日成交额几千万,你一个几十万的策略进去,买卖价差立刻拉大。你以为按当前价成交了,实际成交均价偏离一大截。
缺乏风控模块——爆仓的直通车
通达信公式系统能写条件,但无法实现真正的实时风控。比如你要在亏损达到2%时强制平仓,公式可以算出来,但谁来执行?靠外挂?外挂可能正好在那个时刻卡死。靠手动?你正在开会没看盘。
期货交易中,没有硬止损的程序化策略就是一颗定时炸弹。极端行情下,比如2020年原油负价格,你的策略可能算出负值导致系统报错,无法发出平仓指令。等人工发现时,账户已经穿仓。
心理陷阱——回测曲线让你过度自信
通达信的回测报告只给你看总收益、胜率、最大回撤。它不告诉你这些回撤发生在什么时间。你看到最大回撤20%,觉得能承受。实盘时连续三个月阴跌,每天亏一点,你的心态早就崩了。然后你手动干预,把策略关掉。刚关掉,策略就创了新高。这种心理折磨比技术风险更致命。
程序化交易的核心不是写公式,而是理解市场微观结构、交易成本和自身行为偏差。通达信是个好工具,但它只是工具。把它当成印钞机的人,最终都会变成市场的印钞机。