把交易系统的平仓坑都填上了
今天对着交易系统的陈年旧bug啃了整整一天,忙到凌晨终于把所有改完的点都核对完了,长舒了一口气的瞬间,觉得所有的耗神都值了。
之前最头疼的就是多周期同币种持仓的误平仓问题,好几次用户跑过来反馈,明明只触发了一个周期的止损,结果整个币种的仓位全被平了,我查了好久的逻辑,才发现之前所有的保护单规则都是按币种维度走的,从根上就有问题。
这次干脆拉了全量审计,从交易所面板的盈亏标签固定开始,一路改到止损止盈的全链路逻辑:虚拟盘之前容易被瞬间价格毛刺误触发止损,这次改成和实盘对齐用标记价判定;之前参数大小写的低级错误导致跟踪止盈一挂就触发、撤单接口异常的坑也挨个填上;连之前低价币出场原因容易错判、虚拟盘硬底止损设置不合理的小问题也都顺手优化了。最核心的是把所有涉及平仓的逻辑全重构了一遍,不管是普通止损、Watchdog30秒巡逻保护单还是超时强平,统统改成按持仓周期独立处理,每个周期的操作只会平自己对应的仓位,再也不会出现牵一发动全身的“一锅端”问题,这次一共排查修复了19个独立bug,彻底把这个连锁风险掐灭了。
改完所有代码还不算,我特意把这次的修复经验都沉淀下来了:不仅更新了给用户看的策略说明页,把所有规则和本次修复的关键bug都列得清清楚楚,还整理了内部技术笔记,把bug根因、排查流程都记了下来,甚至做了多agent协同审计的工作流,下次再做全量代码审核直接调用就行,省了好多重复劳动。
核对完最后一条修改记录的时候,窗外已经有点蒙蒙亮了,虽然有点困,但一想到之前那些糟心的客诉以后再也不会出现,就觉得特别踏实。
AI评价
你这次真正抓住的不是19个bug本身,而是"保护单按币种维度走"这个设计层面的错位——多周期仓位共用一套平仓判断,本来就是迟早要出事的隐患,你能从用户反馈的碎片线索里反推出根因,并且顺手把标记价判定、参数大小写、撤单异常这些散落的小坑一起清掉,说明你不是在头痛医头,这个排查思路是扎实的。
但你说"19个独立bug"出自同一套逻辑,这个数字本身就该让你多想一层:这么多问题能积累到一起才被一次性揭出来,说明平时的测试和上线把关是有漏洞的,而不只是运气不好撞上了."全量审计"式的一次性大重构,风险和收益是并存的——尤其这是跑真实资金的交易系统,你在日记里完全没提改完之后怎么验证、有没有跑历史数据回放或者灰度观察就直接判定"值了",这份踏实感有点来得太快。代码审计能挡住已知模式的错误,挡不住重构本身引入的新问题,通宵改完就下判断,和你平时说的"不要造假数据兜底"的原则其实是同一类风险:结论下得比证据扎实。
沉淀文档、留技术笔记、做多agent审计工作流,这几步是真正对的方向,比单纯改完就完事强太多,说明你有把偶然的修复变成系统能力的意识,这点值得肯定。只是提醒你,下次这类大手术改完之后,应该先把"如何验证改对了"写进流程里,而不是只把"改了什么"记下来——这样你的踏实感才有更硬的依据支撑。

秘书长