如题,如果是在非交易时间段,程序会调用main_engine.close()来执行stop_strategy,从而实现数据同步,非交易时间段,想要关闭的话,数据怎么同步呢?直接杀进程肯定是不行的了
如题,如果是在非交易时间段,程序会调用main_engine.close()来执行stop_strategy,从而实现数据同步,非交易时间段,想要关闭的话,数据怎么同步呢?直接杀进程肯定是不行的了
请问具体的需求是什么?是在某个固定的交易时间点关闭,还是就关闭一次呢?
就关闭一次,因为手动+自动交易结合,程序给信号,手动下单,下单后需要手动维护cta_strategy_data
可以尝试一下:
不太清楚是怎么操作关闭的,cmd窗口中是无法输入任何指令的,直接关闭cmd窗口的话,相当于进程直接关掉了,改这个代码还有意义么
这样改动后,手动下单后会走到 if not strategy 的判断里,然后调用stop_all_strategies()里面的sync_strategy_data()来保存数据。保存成功后,你看到了日志提醒再关闭cmd窗口,即使进程关掉了,数据应该已经保存成功了。