在实盘交易中遇到OnExit不触发的问题。 在公式中实现了OnExit()函数。在策略交易工作区中,先后结束了“全自动交易”和“停止策略”,但是OnExit 函数未被触发。请问是什么原因?
测试了一下是有效果的
请问一下,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));
}