第三步 加入模组全自动运行

通过历史回测和参数优化,模型的执行效果得到了大幅提升。但是仅有模型是不能自动交易的,还需要借助量化运行平台运行,自动下单。

对于需要使用运行优化函数对模型运行过程进行微调和效果优化,如,在K线没有走完时就发出信号,赚取点差利润、一根K线执行多次信号避免行情极速扭转等思路,或者策略中含有资金头寸管理、风险控制相关函数语句等需求,模组中都可以实现。

方法一:主图回测后,点击鼠标右键【装入到模组自动交易】将模型带入到模组中运行。

方法二:在模组平台直接新建运行单元,步骤如下:

第一步:新建运行单元,定义数据区

软件右上角【量化】->【策略运行模组】中打开模组界面,如下图所示进行新建。

第二步:选择模型

第三步:设置模型参数

第四步:指定交易合约和下单手数

注:
(1)模型中写入交易合约的此处会自动抓取模型中编写的交易合约
模型中没有写入交易合约的,可在此处手动设置。
(2)数据合约为指定交易合约(如IF1801):
A 模型中写入TRADE_OTHER函数的,按照TRADE_OTHER函数指定的合约作为交易合约。
B 模型中未写入TRADE_OTHER函数的,默认交易合约与数据合约一致。
(3)数据合约为加权合约:
A 按照模型中TRADE_OTHER函数指定的合约作为交易合约。
B TRADE_OTHER函数写为TRADE_OTHER('AUTO')时,可实现自动换月移仓。

第五步:设置资金分配量、保证金、手续费等参数(若模型中没有资金管理相关函数,此步骤自动省略)

第六步:选择分区,设置信号计算开始时间

运行单元加载之后的效果如下图,不同的页面区域分别显示分区、信号、监控K线图和运行日志信息。

相关常见问题解答

1、模组单元状态列表中各项代表的含义?

下单信号:最后确认、下单的信号(包括信号消失),不显示没有确认的可能变化的信号。
信号手数:下单信号用户设置或模型写入的手数。
下单手数:模组当前单元运行过程中实际的下单手数。
单元持仓:模组当前单元实际持仓。
理论持仓:BKVOL = 根据信号下单手数计算的理论持仓,完全根据信号计算。
平仓盈亏:模组当前单元本次打开后产生的累计的平仓盈亏,根据单元持仓的实际成交价格计算。
浮动盈亏:模组当前单元持仓的浮盈,根据单元持仓持仓价格计算。

2、模组分区的使用技巧

模组分区像文件夹一样,用户可按品种、按策略、按周期等思路划分,建立不同的分区管理运行单元。

设置该分区各单元为闲置状态:将当前分区下的运行单元设置为退出运行状态,可一次退出分区内所有单元。设置为闲置状态的单元不占用单元运行数量。

设置该分区各单元为运行状态:将当前分区下所有闲置状态的单元恢复为运行状态,可一次打开分区内所有单元。

3、如果我不在电脑前,但想知道模型的运行情况怎么办?

答:可以使用【设置模组日志邮件】功能,该功能可以帮助您接收到模组中模型运行动态的邮件,人不在电脑前一样可以监控自己的程序。在软件右上方【系统工具】->【个性化设置】中按下图的操作步骤勾选启用后,模组的交易动态会直接发送至绑定的邮箱中。

4、复核状态为什么显示为 --?

答:显示为--,表示最后信号不需要复核。

注:K线走完确认信号下单/不进行信号复核的信号执行方式,为不需要复核的信号。

5、模组新建运行单元,数据起始时间、信号计算起始时间怎么设?

答:数据起始时间根据你模型里对历史k线数据的统计参数来定,例如你的模型用到了20日均线,那么数据起始时间就需要指定为1个月以前的日期(一个月22个交易日)即可。不适合把回测用到的很多年的k线数据都加载到模组的,那会影响模组运行速度。
信号计算起始时间,一般指定下一个交易日,因为你从下一个交易日开始做实盘交易,以前的历史信号对你没有用处的。