前面我们讲到了QMT最重要的两个函数:init()和handlebar() ,在这两个函数里面,有一个贯穿全局的重要对象,就是ContextInfo:
ContextInfo 是策略运行环境对象,是 init() 和 handlebar() 这两个基本方法必传参数,里面包括了终端自带的属性和方法,还可以添加自定义属性。
*注:除特殊标明外,以下函数均支持回测和实盘/模拟运行模式。
(1)设定股票池ContextInfo.set_universe()
用法:ContextInfo.set_universe(stocklist)
释义:设定股票池
参数:list
返回:无
示例:
(2)设定交易账号ContextInfo.set_account()
用法:ContextInfo.set_account(account)
释义:设定交易账号,并将该账号用于之后的交易主推订阅。
*注:
一、可多次调用以设置多个账号,应在init中进行设置完毕,init执行后再设置将不再订阅交易主
推;
二、调用passorder传入账号为空时会使用最后一次设置的账号作为下单账号。
参数:string
返回:无
示例:
(3)设定回测起止时间ContextInfo.start / ContextInfo.end
用法:ContextInfo.start / ContextInfo.end
释义:设定回测起止时间,标准格式如"-07-14 01:13:30",读写
*注:
一、此函数只支持回测模式;
二、仅在init中设置生效,应在init中设置完毕;
三、缺省值为策略编辑界面设定的回测时间范围;
四、回测起止时间也可在策略编辑器的回测参数面板中设置,若两处同时设置,则以代码中设置的
值为准;
五、结束时间小于等于开始时间则计算范围为空。
参数:无
返回:无
示例:
(4)设定回测初始资金ContextInfo.capital
用法:ContextInfo.capital
释义:设定回测初始资金,读写,默认为 1000000
*注:此函数只支持回测模式。回测初始资金也可在策略编辑器的回测参数面板中设置,若两处同时设
置,则以代码中设置的值为准。
参数:无
返回:number
示例:
(5)设定策略回测滑点ContextInfo.set_slippage()
用法:ContextInfo.set_slippage(slippageType, slippage)
释义:设定策略回测滑点,默认值 0.00
*注:此函数只支持回测模式。回测滑点也可在策略编辑器的回测参数面板中设置,若两处同时设置,则
以代码中设置的值为准。
参数:
slippageType:滑点类型,可选值:
0:tick跳数设置滑点
1:按照固定值(价格)设置滑点
2:价格比例设置滑点
slippage:滑点值
返回:无
示例:
ContextInfo对象包含的属性和方法还有很多,后面会陆续介绍,掌握ContextInfo对象,在策略编写上将会非常容易上手。
我是大牛量化,关注我,了解更多量化干货!