投资者咨询:【常见问题】:wh8如何提高加载速度,以及_min函数不能用于小周期等问题的解答 (文华财经)
来源:文华财经 日期:2016-1-6 12:12
修改的原因:老版本的_min,回测用1分基础数据计算一分钟算一次信号,实盘是用tick一笔算一次信号,这种方式回测和实盘不一致,被太多的客户吐槽。
1、新版的_min,回测和实盘统一,改为都是一分钟算一次信号。
1)如果模型里没有写trade_other,以前小周期使用_min只是为了提高加载速度。或者以前大周期用_sec只是为了计算精度。
建议改用checksig、multsig这二个函数。
这二个函数有一个INTERVAL参数,可以调整计算的时间间隔,可以用0秒逐笔,3秒、5秒、10秒算一次信号,速度提高6倍/10倍/20倍,精度比逐笔计算低,但是比_min高。通过调整参数,在速度和精度之间寻找一个平衡。
2) 模型里有trade_other
新版,你如果把模型加载到比15分更小的周期,一分钟算一次会漏掉太多的信息的,所以禁止使用。
使用建议:_min的的模型,请加载到15分、30分、1小时、日线等中长周期k线上使用。
特殊情况1:如果就是要用短周期并且指定其他合约交易,改用checksig,并且模型里删除trader_other,加载模组的时候手动指定交易合约,就可以实现了。
特殊情况2:模型了写了trade_other('auto'),因为 auto的基础数据是1分钟k线,那只能使用在15分钟以上的大周期了,请谅解!
3)模型有#call跨合约的语句。因为#call的基础数据是1分钟k线,那只能使用在15分钟以上的大周期了,请谅解!
4)新的有时间间隔的计算方式,如何做到实时止损
止损用stop、stop1函数写,就实现实时止损了。请研究一下这二个函数。
2、bklow1、bkhigh1、sklow1、skhigh1 不再支持。
这几个函数当时是为了模型里写止损增加的,新版有专门的止损函数:stop、stop1函数。以前的这个几个函数已经没有必要。
请大家研究一下stop函数和stop1函数。
技术人员回复
日期:2016-1-6 12:19
关于checksig、multsig这二个函数的模型加载速度。
以前的连续运行方式,再次打开模组的时候需要补充缺失的数据,并且对补充的这段数据做信号计算,会导致有的模型加载很慢。
新版提供 忽略回测信号 的模组加载方式,可以极大提高加载速度。
如何启动这个新的加载方式:
重新建立一下模组,在新建模组的最后一步,选择模组运行方式:忽略回测信号
这么设置后,模组不装入回测出的信号,加载速度就快了
技术人员回复
日期:2016-1-6 17:54
请不要在此跟帖