PTrade的策略里有个时间设置,踩过坑的人最多
发布时间:2小时前阅读:6
策略代码里最不起眼的一行,往往是时间判断。写错一个条件,策略可能整天不动,也可能在收盘后还在下单。
先分清三个时间。系统时间是你的机器时间,行情时间是数据自带的时间戳,交易时间是交易所规定的可申报时段。这三者不一致的情况非常常见:机器时间差几分钟、行情延迟几秒、午休和集合竞价算不算交易时段,各平台的定义还不完全一样。
最常见的坑是把时间判断写成区间包含。比如设定九点半到十五点之间允许下单,这个条件在午休时段也是成立的,策略会尝试发单,然后被市场拒。正确的做法是显式排除午休,或者干脆用交易所的时段状态来判断。
第二个坑是收盘前的最后几分钟。很多策略的平仓逻辑写在十四点五十七分,实盘里这个时间点往往已经很难成交,价格也不理想。前面留够时间,比卡点操作稳。
第三个坑是隔夜和节假日的处理。策略如果按自然日计算持仓天数,长假会把天数算多;按交易日计算就没这个问题。这个细节在回测里看不出差别,实盘遇上长假就会暴露。
建议在策略开头把时间相关的常量集中定义,交易日历、时段边界、时间基准,全部写在一处,改的时候不会漏。时间这种东西,分散在十处必然出错。
最后一句,任何和时间有关的判断,都要在日志里打印出来。看不见的时间,就是没验证过的时间。
还有一个非常实际的场景:策略跨交易日运行。周五收盘之后策略还在跑,周末没有行情,循环仍然在转。如果代码里没有判断交易日,它可能在周末积累一堆无效状态,周一开盘时行为就乱了。
建议在周期处理的第一行加一句:今天是不是交易日,不是就直接返回。这一行代码能挡掉很多莫名其妙的周一异常。
时间这件事,本质上是在问自己:我的策略在什么时刻、基于什么信息、做了什么决定。三个问题都答得清楚,时间设置就不会错。
股票/量化开户欢迎找我!满足条件股票佣金万0.854、etf 可转债佣金万0.5、国债逆回购一折(百万分之一)!期权1.8元一张全包价!量化软件QMT+ptrade免费使用!还有888、999资金靓号等你选!
温馨提示:投资有风险,选择需谨慎。



问一问
从业认证

+微信
分享该文章
