VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 256
声望: 3

1:在vnpy中只要接口上收到成交数据,策略就会通过on_trade推送函数得到交易结果,CTA引擎就会自动执行sync_strategy_data(),把交易策略的variables中变量存入磁盘文件。

2:在vnpy中,人工关闭vntrader界面或者点击CTA策略的 “全部停止” 按钮,CTA引擎就会自动执行sync_strategy_data(),把交易策略的variables中变量存入磁盘文件。

3:老师您好,我想使用no_ui无人值守模式,在子进程定时关闭时,执行sync_strategy_data(),把交易策略的variables中变量存入磁盘文件如何实现呢?望指导,万分感激!

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

显式调用cta_engine.close()

Member
avatar
加入于:
帖子: 256
声望: 3

一心量化 wrote:

显式调用cta_engine.close()

这个我试过的, 显式调用cta_engine.close(),好像没有反应,老师您好,我使用的是vnpy中的no_ui无人值守脚本模式,向您请教一下,您说的显式调用cta_engine.close()是写在子进程中还是守护进程中呢?具体写法方便指点一下吗?万分感激

Member
avatar
加入于:
帖子: 21
声望: 2

1、新版veighNa 3.0在关闭子进程时,会关闭主引擎(调用main_engine.close());
2、而在main_engine.close()中会将主引擎中的所有引擎self.engines关闭,即调用每个引擎的close函数来关闭;
3、cta_engine也是self.engines中的一员,所以也会调用cta_engine.close来关闭
4、cta_engine.close调用时,会将所有的策略实例的变量通过self.sync_strategy_data来保存到本地文件"cta_strategy_data.json"

我的微信849322520,欢迎交流

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

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】