vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 52
声望: 1

如题,如果是在非交易时间段,程序会调用main_engine.close()来执行stop_strategy,从而实现数据同步,非交易时间段,想要关闭的话,数据怎么同步呢?直接杀进程肯定是不行的了

Member
avatar
加入于:
帖子: 470
声望: 25

请问具体的需求是什么?是在某个固定的交易时间点关闭,还是就关闭一次呢?

Member
avatar
加入于:
帖子: 52
声望: 1

就关闭一次,因为手动+自动交易结合,程序给信号,手动下单,下单后需要手动维护cta_strategy_data

Member
avatar
加入于:
帖子: 470
声望: 25

可以尝试一下:

  1. 在process_trade_event函数里 if not strategy 的判断下调用stop_all_strategies(),再输出日志以作提醒,然后再return。
  2. 此时就可关闭脚本了。
Member
avatar
加入于:
帖子: 52
声望: 1

不太清楚是怎么操作关闭的,cmd窗口中是无法输入任何指令的,直接关闭cmd窗口的话,相当于进程直接关掉了,改这个代码还有意义么

Member
avatar
加入于:
帖子: 470
声望: 25

这样改动后,手动下单后会走到 if not strategy 的判断里,然后调用stop_all_strategies()里面的sync_strategy_data()来保存数据。保存成功后,你看到了日志提醒再关闭cmd窗口,即使进程关掉了,数据应该已经保存成功了。

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号