vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 154
声望: 0

1:原版example下的no_ui_run.py,在策略停止的时候都没有调用stop_all_strategy,这样就不会把结束时候的状态保存下来,这样就不是无人值守啊,example下的no_ui_run.py中是否有必要同步持仓和止盈止损的数据,把结束时候的状态保存下来,防止run.py的重启?

2:如何在策略on_bar函数内调用sync_data函数来同步数据?是直接在on_bar的最后面添加一句 self.sync_data就可以了吗?

        self.sync_data

        self.put_event()

2.1:如果在on_tick 、on_bar、on_xmin_bar都有交易,是否需要在on_tick 、on_bar、on_xmin_bar都添加self.sync_data这句代码呢?

3:是否可以在no_ui_run.py中,实现类似vntrader界面版一样,点击全部停止后,就自动同步持仓和止盈止损的variables列表数据到硬盘中? 望指导,万分感激

Member
avatar
加入于:
帖子: 145
声望: 22

策略的on_tick 、on_bar、on_xmin_bar是行情的推送函数,和成交没有关系。
1)只要接口上收到成交数据,策略就会通过on_trade推送函数得到交易结果,CTA引擎就会自动执行sync_strategy_data(),把交易策略的veriables中变量存入磁盘文件。
2)另外一个执行策略数据同步的时机是策略被停止的时候,CTA引擎就会自动执行sync_strategy_data()对当前合约的veriables中变量存入磁盘文件。
因此无需再调用sync_data()。当然如果你一定要调用,那就在策略里你认为的需要的时刻self.sync_data()执行一下就可以了,其实也是执行了CTA引擎的sync_strategy_data()。

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

手动停止no_ui不会保存变量啊

Member
avatar
加入于:
帖子: 154
声望: 0

hxxjava wrote:

策略的on_tick 、on_bar、on_xmin_bar是行情的推送函数,和成交没有关系。
1)只要接口上收到成交数据,策略就会通过on_trade推送函数得到交易结果,CTA引擎就会自动执行sync_strategy_data(),把交易策略的veriables中变量存入磁盘文件。
2)另外一个执行策略数据同步的时机是策略被停止的时候,CTA引擎就会自动执行sync_strategy_data()对当前合约的veriables中变量存入磁盘文件。
因此无需再调用sync_data()。当然如果你一定要调用,那就在策略里你认为的需要的时刻self.sync_data()执行一下就可以了,其实也是执行了CTA引擎的sync_strategy_data()。

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

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

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

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