在模组运行中,我们建议大家24小时连续运行
如果使用不规范,可能会出现:盘中关闭软件、盘中才启动软件、夜盘不开机等行为,这些都会导致模组盘中连续运行中断
当模组运行中断时,这两种运行方式在‘信号显示’和‘持仓带入’也存在不同的影响
很多客户因为操作不规范,第二天开机发现模组没有历史信号了,持仓没被带入了,就是这个原因。建议仔细阅读
————————————————————————————————————————————————————————————————
1.延续回测信号:模组运行中断的情况下,不会清空历史信号,缺失的信号会用回测信号填补
(1)如果本次启动与前一次退出之间没有产生新数据,则不会影响历史信号的显示,加载后可以看到历史信号并延续运行
(2)如果本次启动与前一次退出之间产生新数据,由于历史信号已经发生改变,则会清空所有的历史信号,加载成功之后,相当于重新开始运行。
1.延续回测信号:如果是选择延续回测信号,只要没有出现新信号,就会自动带入持仓
2.忽略回测信号:只要是选择忽略回测信号,K线数据必须连接上,否则不会带入持仓
————————————————————————————————————————————————————————————————
例: 我选择延续回测信号的方式
(1) 昨天15点闭市后退出,21点夜盘没开机,模组中断运行,直到今早9点开盘后才开启模组,此时模组中还会显示历史信号
如果夜盘期间我的模型一直没出新信号,虽然模组中断,但子账户持仓还在模组中,不需要手动处理持仓
如果夜盘期间我的模型出了新的信号,原来的模组信号持仓就无法被模组识别了,需要手动处理持仓
例: 我选择忽略历史信号的方式
(1)昨天15点闭市后退出,在21点开盘前打开,由于关机期间没缺失数据,所以模组运行不会有影响。
(2)昨天15点闭市后退出,在22点才打开软件,由于关机期间合约已经产生新数据,所以会影响模组
启动后就看不到历史信号了,也不会带入原子账户持仓,需要手动处理持仓
指标数值是根据历史K线数据来计算的,不会从开始运行之后再去累计重新计算。
忽略历史信号仅仅是不显示历史信号,但是不影响指标数值的计算,可以放心使用
2.回测初始资金分配了10万,装入模组之后,模组期初权益变成15万,为什么?
新建模组的时候,如何使得模组权益和回测参数中设置的资金分配量一样?
如果装入模组方式是延续历史信号,也就是历史信号都参与资金计算,所以当前的权益数值其实是包含历史信号表现的
如果历史回测这段,模型一直盈利额,那在加载模组时,模组的权益也会比初始值大
想要装入就按照设置的10万来计算,在K线图右键》装入模组后台运行的时候,选择忽略历史信号的方式来装入就可以了
这种情况应该是大家没有在模型中编写指定交易合约,而是在加载模组时才去控件里选择交易哪个合约
因为想要模组显示历史的回测信号,必须保证回测信号和模组运行的信号完全一致才行
如果主图回测没指定交易合约,就相当于主图只回测数据合约,没考虑交易合约。
那主图看到的信号和实际模组运行交易信号是存在差异,这种情况不适合把历史信号带入到模组中,因此会默认忽略回测信号的方式。
如果是指数,可以在模型最后加入TRADE_OTHER('AUTO');语句,实现自动交易主力合约并自动换月(如果是指令价可以配合使用CHECKSIG_MIN函数一起用)
这样在回测的时候可以取到对应的交易合约,回测的信号和实际真实交易信号一致,这样就可以选择延续回测信号的方式了
除此之外,还有一些有模型的特殊写法,计算不了历史信号,系统只能默认忽略历史信号
例如:模型中含有GETPRICE函数,或者含有STOP函数手动指定了交易合约