用周k线炒股设置(炒股软件设置组合k线图)
Tbquant如何用代码实现组合不同品种,不同周期的K线
通常在开发量化交易的时候,有需要把不同品种,不同周期的K线组合,tbquant使用SubscribeBar函数来实现这个功能
K线订阅后,数据的时间点会自动对齐
举例:
layer1 = SubscribeBar("rb000.SHFE", "1m", 20190701.0930);
layer2 = SubscribeBar("rb000.SHFE", "15m", 20190601.0930);
订阅函数说明
说明
订阅bar行情。
语法
Integer SubscribeBar(String symbol, String freq, Numeric beginDatetime = 0, Numeric endDatetime = 0, Integer flag = 0)
参数
symbol:合约代码;freq:订阅频率 'mon':月,'w':周,'d':日,'h':时,'m':分,'s':秒,'tick':tick,字符串前面可以添加数字,如'3d'表示周期是3天;beginDatetime:开始时间,默认为0,表示从当前时间开始;endDatetime:结束时间,默认为0,表示订阅实时行情;flag:行情标志,默认为0,无操作。Enum_Data_OnlyNight()表示仅夜盘,Enum_Data_OnlyDay()表示仅日盘,Enum_Data_RolloverBackWard()表示后复权,可做或运算,表示多种情况。
备注
如果是在非OnInit事件调用,增加或减少数据源,会重运行,相当于多调用ReRun。
示例
SubscribeBar("rb1910.SHFE", '1d', 0, BitOr(Enum_Data_OnlyDay(), Enum_Data_RolloverBackWard())); 获取合约rb1910的日线级别的bar数据
可通过commentary或者print等工具和symbol函数来获取当前品种
代码添加数据源如果不是在oninit事件中添加的,需要注意避免多次添加。因为oninit事件只会执行一次,而其它事件可能会执行多次;如何删除数据源
UnsubscribeBar
说明
取消订阅bar行情。
语法
Bool UnsubscribeBar(Integer layerId)
参数
layerId: 图层id
备注
如果是在非OnInit事件调用,增加或减少数据源,会重运行,相当于多调用ReRun。
示例
layer1 = SubscribeBar("IF888.CFFEX","tick",20201030.000000);UnsubscribeBar(layer1);