8
Follow
1364
Followers
如何使用代码精确调整“回测系统默认设置”
部分内容已经调整,最新参看API 文档。
在策略的参数测试,不同时间段回测,多个标的物回测等,回测策略时由于参数需要反复调整,而且不能记录,下次回测时又要重新设置。平台为了方便参数调整,新增加功能 -- 使用代码精确调整“回测系统默认设置”。
-
1、没有使用该功能的时候
可以看到这是一个测试 策略,代码如下:
function main(){ while(true){ LogStatus("测试默认参数!"); Sleep(); } }策略参数是这样的:
此时的【回测界面】中参数是如下图的默认设置
-
2、使用代码 调整回测默认设置
-
回测系统参数部分:
/*backtest start: 2017-03-01 end: 2017-03-02 period: 15 mode: 1 */注意:
-
period : 15 15指的是15分钟, 平台支持的周期为 1分钟、5分钟、15分钟、30分钟、 1小时、1天
那么1小时怎么表示? 1小时 = 60分钟, 写成period : 60就可以了。
那么1天怎么表示? 1天 = 24 * 60 分钟, 写成period : 1440就可以了。 -
mode: 1 mode 指的是 回测的模式, 回测系统支持
模拟级别回测,实盘级别回测。 这里1代表的是下拉框的索引, 0 为模拟级别回测, 1为实盘级别回测。
-
-
回测策略参数部分:
/*defaults number : 0 bool: false string: Hello BotVS! comboBox : 2 */注意:
- comboBox : 2 这个2 指的是 下拉框的索引, 下拉框第一个选项的索引是0, 第二个选项的索引是1,第三个选项的索引是2。
- 加密串 类型参数 和 字符串类型 相同操作设置。
-
完整的测试代码
-
Javascript
/*backtest
start: 2017-03-01
end: 2017-03-02
period: 15
mode: 1
*/
/*defaults
number : 0
bool: false
string: Hello BotVS!
comboBox : 2
*/
function main(){
while(true){
LogStatus("测试默认参数!");
Sleep();
}
}
Python
'''
/*backtest
start: 2017-03-01
end: 2017-03-02
period: 15
mode: 1
*/
/*defaults
number : 0
bool: false
string: Hello BotVS!
comboBox : 2
*/
'''
def main():
Log("OK")
刷新一下,然后看看回测页面 与 之前有没有变化。(注意: 代码修改的默认参数设置在第一次进入页面时生效,中途修改不生效,保存后刷新即生效)。
可以看到,不论是 “回测系统的默认参数” ,还是 “策略的默认参数” ,都根据代码做出了相应的修改。
保存需要的设置,再也不用点来点去设置回测参数了。
-
3、使用 MATE 按钮 将回测页面设置的参数 以代码形式 插入到策略代码中:
这样在第一次 以代码形式 设置 默认回测参数 时就不用手写了, 可以在回测页面设置好,直接插入到代码中。
-
测试策略地址:
注: 改动 args 调整为 defaults
Related Recommendations
Comment
All comments (17)
倒不是刷新的问题,原来是我在语句后面还加了注释,BotVS 无法正确解析的原因。比如:
javascript
/*backtest
mode: 1 // 实盘级 tick
*/
带了注释,mode 始终被设置为 0(模拟级)。
8 years ago
- 1














