Q:怎么获取指数实时k线与黄线数据?A:指数实时k线与黄线数据可以通过模型Index_ActuTimeHOLCAndYLData来获取,导出数据后可在excel进行绘图得到
- 定义:Index_ActuTimeHOLCAndYLData(indexID:string or array,begt,endt:TDateTime,cycle:string,option:integer):array;
- 含义:获取指数的高开低收和黄线(等权价格),支持实时
- 算法:
1、此模型支持用户自定义指数,自定义时用户所给的比例(%)表示第一日的权重,后续权重根据个股涨跌自动调整。
2、区间设置为左开右闭,如1分钟线:
2021-11-01 9:31:00 的数据区间 (9:25:00,9:31:00]
2021-11-01 9:32:00 的数据区间 (9:31:00,9:32:00]
按照指数的更新规则,区间内的数据周期固定为5秒一条数据,利用指数5秒更新的价格计算:
开:区间的第一个价格
高:区间的最高价格
低:区间的最低价格
收:区间的最后一个价格
3、黄线即为该指数变为等权重的指数价格,比例(%) = 1/成分股个数*100。说明,黄线开盘参考起点和K线起点相同(用户自定义时价格起点为自定义点位起点),每日盘前等权重,而非开始日等权重后的数据延伸。
4、实时K线每分钟刷新一次,在每日收盘之后,即15:01之后不再实时刷新
注:
(1)、当且仅当endt为当日、option=1,实时时间在15:01以前时,才会进行实时刷新
(2)、自定义指数时,参数indexID为二维数组,字段包括'代码'和'比例(%)',非自定义时,参数indexID为指数代码
参数名 | 类型 | 含义 | 备注 |
---|
indexID | 字符串或数组 | (自定义)指数 | 二维数组字段包括代码和比例(%) |
begt | Datetime | 开始日 | |
endt | Datetime | 截止日 | |
cycle | String | 周期 | 不能小于5秒,默认一分钟线 |
option | Integer | 是否实时刷新
0:不实时计算(默认)
1:实时计算(一分钟刷新一次) | |
Point | Numeric | 昨日点位,仅在自定义成分及权重时有效 | |
范例01:不实时刷新,获取指数'SZ399279'在2022-04-01日一分钟线的K线和黄线数据
indexID:='SZ399279';
begt:=20220401T;
endt:=20220401T;
cycle:=cy_1m();
return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,0);
结果如下:
画图展示的结果如下:
范例02:不实时刷新,获取自定义指数在2022-04-01日一分钟线的K线和黄线数据,昨日点位为1000.
indexID:=array(('代码':'SZ000858','比例(%)':50),
('代码':'SZ000568','比例(%)':50));
begt:=20220401T;
endt:=20220401T;
cycle:=cy_1m();
point:=1000;
return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,0,point);
范例03:实时刷新,获取自定义指数在2022-04-01日一分钟线的K线和黄线数据,并每分钟实时刷新
indexID:=array(('代码':'SZ000858','比例(%)':50),
('代码':'SZ000568','比例(%)':50));
begt:=20220401T;
endt:=20220401T;
cycle:=cy_1m();
point:=1000;
return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,1,point);
附件:2022-04-11 指数K线和黄线计算模型.tslfunc