移仓助手

如需使用自动移仓助手,请在完成策略初始化之后,对要执行移仓的策略先点击【移仓助手】按钮,则会弹出移仓助手对话框,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/cta_strategy/76.png

首先请在在左侧区域配置要执行的移仓任务,其中:

  • 移仓合约:该下拉框中,显示当前CTA策略模块下所有策略实例所交易的合约本地代码,选择要平仓掉的老合约;

  • 目标合约:要将老的仓位和策略,移仓过去的的合约本地代码(vt_symbol),输入要开仓的新合约;

  • 委托超价:执行移仓交易时,委托价格相对于当时盘口对价超出的pricetick。

完成配置确认无误后,点击【移仓】按钮开始执行,移仓过程中会有如下图所示的日志输出,完成后该对话框会被设为锁死(变灰无法再点击):

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/cta_strategy/77.png

可以看到几乎1秒内就完成了移仓合约对应的全部仓位和策略的移仓操作,同时CTA策略模块界面上的策略交易代码已经变为目标合约。

移仓过程中具体执行的任务步骤如下:

  • 仓位移仓:

    • 对当前账户内,移仓合约的【所有仓位】进行平仓(注意这里不会区分策略持仓还是手动交易持仓),并记录对应的仓位(多空分别记录);

    • 对目标合约执行开仓交易,开仓的价格为当时的盘口对价加上超价pricetick,数量为上一步中记录的原有移仓合约持仓量。

  • 策略移仓:

    • 记录当前CTA策略模块中,所有交易对象为移仓合约的策略的【逻辑持仓】(注意这里的逻辑持仓和账户实际持仓不一定完全对应);

    • 将上述交易对象为移仓合约的老策略实例删除,并创建以目标合约为交易标的同名新策略实例;

    • 初始化新策略实例,并将之前记录的老策略实例的【逻辑持仓】,更新到新策略的状态上。

回到VN Trader主界面,也可以查看到详细的移仓委托和成交记录。如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/cta_strategy/78.png https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/cta_strategy/79.png