版主看过来,关于14点55分平仓不执行问题的证据(之前一直在出差,没法给)

同样的代码,只有螺纹钢上面在14点55的k线上不执行(信号实时不显示,夜盘开始后才显示),其他品种正常。

截图如下:

想请问,是设置的原因吗?(不记得对几个品种的设置有什么不同)。是代码的原因吗?按理说不应该,否则就不会事后信号还是出现。但值得注意的是,信号肯定没有实时出现,这个情况在国庆假期前就出现了,当时还以为是系统要留仓(当时看k线上没信号),可放假后开盘再看就发现9月30号的14点55分k线上面是有信号的。

信号滞后出现可能是引用了未来数据,但收盘这块是用的时间判断,按理说不该出现引用未来数据导致信号与时间不匹配。还有什么可能出现这种事后才出现信号的情况吗?还请解惑。

请问有人遇到过这种情况吗?如何解决?谢谢!

收盘平仓不执行
关于之前咨询的问题
请教版主关于判断语句异常执行的问题
实盘平仓函数不执行问题
收盘平仓不执行
程序编写的是给持仓全平仓,为什么执行每次只平仓1单
关于之前的a函数问题
收盘平仓不执行
onbarClose重复执行问题
关于之前的教学视频的问题

你不会是写在onbarclose事件域里的吧

还有你这个return实在是太扎眼....你确定模型逻辑顺序没问题?

return会直接停止本次驱动。


return只在14点55分这块有,其他模块并没有,就是担心在此模块后继续执行后面的语句,才用的return,应该和在这根k线上信号出不出现没有关系。

这个模块是写在onbar事件域的。

诚心请教,还望帮助解决,否则没法上实盘。

在没有引入未来数据的情况下,信号不在k线bar当时出现,而是在bar过去后才出现。这种情况目前只在螺纹钢一个品种上看到,是因为上期的品种平仓区分平今与平昨吗?还是有别的什么原因?其他时间的平仓目前看都正常执行,只有14点55分这个基于时间的平仓没有执行(而且每次都发生)。

这种代码典型的回溯、测试场景

即使问题解决了

能上实盘?


1、time和K线切割方式有关系

怎么着也得用tradingBeginDateTime这种不受干扰的函数吧,而且==是不是改成>=?

2、MK模式基于单向持仓,本质上是一种对冲机制;如果是单向,信号和账户应该处理机制不一样吧(我没测试过),如果是双向交易,MK就不准确

3、buy/sell映射发单,你应该用的映射,粗暴的扔到账户,然后靠监控同步?


简而言之

纯粹的虚拟回溯的编码方式……


为什么不能上实盘?

1.看上面图片,已经明示了是5分钟图。关于用==而不是>=是因为我记得time函数是精确到小数点后4位,如果用>=反而可能不一定合适,因为还需要框定到收盘时间,否则会错乱影响夜盘交易。

2.没看懂,MK模式指的是?

3.个人觉得映射模式挺好的,以前用这一模式帮人账户实现过几天暴利的操作,没发现有什么不合适的。

4.如果可以的话,希望能够提供些有用的解决方案,如上面说到的tradingbegindatetime,我会去试是否好使。诚心请教,上面说的也不是争论,只是个人感受。

谢谢!


TradingBeginDatetime >= TrueDate(0) + 0.1455

试试就试试

或者

TradingBeginDatetime > TrueDate(0) + 0.145

你这个问题必须直接调试代码才能处理

这两天一直在出差,下个交易日试试这个代码。谢谢!

谢谢!我准备如果代码找不出问题,重装下TB试试。

能行?


补充一句,这种情况在螺纹钢上面基本是每天出现,只有有仓要收盘平就出现。盘中开平信号与实际是匹配的。