运行机制的疑问
感谢老师们的指导!!!订单流测试基本完成,还有小疑问:在ONBAR域A函数下单并打印下单信息,然后在订单域触发并操作。实际测试结果是:下单成功并触发订单域运行,可是没有打印下单信息。是否存在这种可能:A函数下单之时立即触发订单域,没有来得及打印下单信息就跳至订单域运行。如果是此原因,后期会补充打印吗?还是就被忽略了、不再打印之前的下单信息?请老师指导!!!
感谢老师们的指导!!!订单流测试基本完成,还有小疑问:在ONBAR域A函数下单并打印下单信息,然后在订单域触发并操作。实际测试结果是:下单成功并触发订单域运行,可是没有打印下单信息。是否存在这种可能:A函数下单之时立即触发订单域,没有来得及打印下单信息就跳至订单域运行。如果是此原因,后期会补充打印吗?还是就被忽略了、不再打印之前的下单信息?请老师指导!!!
你说的打印是print?这不可能的。事件域的执行,是必须完全执行完成,才会开始执行下一个事件域。不可能这个事件域执行到一半跑去执行另外一个事件域
回复:👍
回复:谢谢老师!!!打印是print,语句如下:IF (开空条件成立){ IF (A_SendOrderEx(Enum_Sell,Enum_Entry,Lots,Q_Last,Sid )) { Print("开空单"); } }事件域的上述运行机制,您在视频中也讲过的,我再仔细找找其他的原因。
回复:如果Print放在条件语句中,有可能是A_SendOrderEx函数返回的结果不是真,导致没有输出。
回复:这个我是知道的(A_SendOrderEx返回BOOL值),但是已有下单记录且触发订单域,我推定返回TRUE。仍然不打印,我才很疑惑???
回复:这是不可能发生的事情。按照你这个结构,只要没有print,那就意味着if里的sendorder返回的就是false
回复:您 说的有道理。应该是我水平不够,所以看不到问题所在
回复:他如果非实时行情测试,都会返回False而且上个帖子跟他说了一大堆一句没听进去
回复:你对这个结果应该是由误会的。要么你是把代码发出来复现一下要么是你自己再检查一下这里面哪里有疏漏的细节
回复:IF (开空条件成立) { IF (A_SendOrderEx(Enum_Sell,Enum_Entry,Lots,Q_Last,Sid )) { JS=JS+1 } Print("计数"+TEXT(JS));//结果是(计数+1) }我修正了测试语句,如上语句则显示正常【输出(JS+1)】,确定IF(A函数)下打印不正常
回复:我之前给你的代码中是先检测是否交易状态再发单这样不需要检测发单是否成功而且建议你换个账户发单函数有的逻辑比较通畅你的写法逻辑非常之拧巴为啥你就如此决绝坚定自己的写法😭