PTrade 的运行状态显示绿色,也可能没在干活
发布时间:31分钟前阅读:6
状态灯是绿色的,日志却不再更新,这种矛盾在 PTrade 里并不少见,原因通常是进程还在、逻辑已经停了。
第一种可能是策略进入了空转。进程活着,但主循环里的条件不满足,比如时间窗口判断写错,策略认为现在不是交易时段,于是每个周期都直接返回。你看状态是运行中,实际什么也没做。
第二种可能是异常被吞掉了。代码里有捕获异常的写法,出错之后被捕获,没有抛出,也没有写日志,循环继续跑,但每次都在同一个地方失败。这种静默失败最难查,因为表面上一切正常。
第三种是数据源断了。状态检测的是策略进程,不检测行情连接。行情断了,策略收不到新数据,循环照转但拿不到值,也就不会产生任何动作。
排查的办法是看日志的最后更新时间,而不是看状态灯。日志超过几分钟没有新行,就该警惕了。再进一步,在策略里加一段心跳输出,每个周期打印一次时间和关键变量的值,日志停在哪一步一目了然。
另外一个习惯很有用:每天收盘后对一次账,把策略记录的持仓和实际持仓比一遍。数字一致说明这一天它确实在干活,不一致就说明中间出了问题,只是没报错而已。
再补一个判断技巧:把日志按时间排序,看两条记录之间的间隔。正常情况下间隔是均匀的,某个周期突然拉长,说明那一步卡住了,卡在哪里往往就是问题所在。这个办法不需要看代码,光看时间间隔就能圈定范围,排查效率很高。
再补一个细节:策略长时间运行之后,内存占用会缓慢上升。如果日志里每次循环都创建新对象而不释放,跑上几天就会明显变慢,最后卡死。每周重启一次策略,是简单有效的缓解办法,虽然治不了根,但能保证它稳定工作。
股票/量化开户找我!股票佣金万0.854(满足条件)!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!ETF申赎一折!优惠多多!免费量化使用量化软件QMT+ptrade!资金靓号:888、999、等定制!
温馨提示:投资有风险,选择需谨慎。



问一问
从业认证

+微信
分享该文章
