OnExit()函数,为什么在停止策略后没有触发?

在实盘交易中遇到OnExit不触发的问题。 在公式中实现了OnExit()函数。在策略交易工作区中,先后结束了“全自动交易”和“停止策略”,但是OnExit 函数未被触发。请问是什么原因?

OnExit()触发场景问题
用Stop函数停止一个策略单元后无法触发公式的OnExit
策略停止后重启问题
onexit为何无法使用Print2Quote
如何实现连续两笔亏损后,策略停止运行。
为什么重新登陆后原来的交易策略没有了
为什么开没有触发下轨就开仓了
实盘交易停止自动交易和策略后,应用仍然在写日志文件
为什么我设置了止盈止损却没有触发?
为什么策略交易工作区会失效?

测试了一下是有效果的

 

请问一下,OnExit函数是在手动结束策略后触发的吧。 那要看到控制台的输出,手动结束后就能看到吗,还是需要重新进入图标和控制台? 麻烦告知一下详细的测试步骤,谢谢

这里的备注你看过么

如果是图表 必须卸载公式才会触发onexit

图片中的内容显示不出来。 我是实盘交易,在策略交易工作区中,全自动交易后, 打开图标和控制台。 然后选择“停止全自动交易”,然后再点“停止策略单元”。然后回到图标中的控制台,这时看不到控制台上由onExit的print内容。 不知道到您说的卸载策略单元是不是停止策略单元。

你说的卸载公式指的是删除公式吧。如果那个时候才触发,但是在你们的帮助文档上给onExit的备注写的是“当策略单元停止运行的时候驱动。注意是,停止运行,不是停止自动交易。20201127 by刘风”。 字面意思是停止策略单元时,而不是删除公式时。我的理解对吗?

 

确定不是代码问题?

我只是在OnExit()中用了print函数,但是在控制台上看不到打印内容

 

   //策略退出时触发,不是自动交易停止时触发
   OnExit()
   {
          //取消所有未成交委托                             
       Bool ret = A_DeleteAccountOrder(Symbol, myRealAccountIndex);

       Print("OnExit: 取消所有未成交委托:" + IIFString(ret, "True", "False")+",Time="+Text(SystemDateTime));
  }