量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第十六章数据信息】
第十六章:数据信息
第一节:介绍
K线或者说Bar的日期时间、K线状态、周期数据和累心个、开高低收价格、涨跌量等关键字在这一章会介绍到。对于某一个商品的基本特性也会在报价管理器中设置,也可以通过函数进行获取等。这章属基础内容,使我们公式所赖以生存的数据。
第二节:K线或Bar相关
2.1 Ago
# 语法:
语法
N Bars Ago
或:
[N]
参数 N——数值表达式,用来指定回溯的 Bar 数量。
# 示例:
用前一根 Bar 的收盘价画线: Plot1(Close Of 1 Bar Ago, "Previous Bar's close"); 用前第二根 Bar 的收盘价画线: Plot1(Close[2], "Close 2 Bars ago");
# 说明:
与 Bar,Bars 联合使用。Bar 前加数值表达式,表示从当根 Bar 到引用 Bar 的回溯数量。也可以用方括号括起一个数值表达 式来指定引用 Bar 回溯的数量。在这里我们看到使用了跳跃字of,一般来说,我们使用方括号的方式比较清晰明了。
2.2 Bar/Bars
# 语法:
语法 Bar 或 Bars
# 示例:
Close Of 1 Bar Ago 返回值为前一根 Bar 的收盘价。 以当根 K 线的收盘价做多开仓: Buy This Bar On Close; 在下根 K 线以开盘价做多开仓: Buy Next Bar On Open;
# 说明:
与 This,Next 或 Ago 联合使用,引用指定的 Bar。
2.3 BarInterval
# 语法:
语法 BarInterval
# 示例:
求脚本所在图表数据周期数值(Bar 间距)并将值赋给变量Value1:
Value1=BarInterval;
# 说明:
返回的是周期的数值。比如5分钟周期,返回的是5,1tick返回的是1,1年返回的是1。这里BarInterval的表示等同于商品设置周期数值:
2.4 BarStatus
# 语法:
语法 BarStatus(DataNum)
参数 DataNum——数值表达式,用来表明指定的数据。 如果参数没有指定,则返回当前数据的值。
# 示例:
如果数据 1 中,最近一笔 tick 是当根 Bar 的收盘 tick,则BarStatus(1) 返回值为 2。
# 说明:
返回一个数值,表示指定的数据中当前 Bar 的最近一个 tick 的状态。BarStatus 值为0表示最近tick是当前Bar的开盘tick, 值为 1 表示最近 tick 是当前 Bar 内的一个 tick,值为 2 表示 最近 tick 是当前 Bar 的收盘 tick。这个函数我们在之前的完成bar部分用过。
2.5 CurrentBar
# 语法:
语法 CurrentBar
# 示例:
CurrentBar 返回当前 Bar 的编号。
# 说明:
数据在设定的“指标运算参考的最大 Bar 数量”之后开始给 每一根 Bar 编号,之前设定的参考 Bar 不编号。例如,指标 运算参考的最大 Bar 数量设为 20,则以第 21 根 BAR 开始,从 1 顺序编号。
2.6 BarType/DataCompression
# 语法:
Bartype 不同的周期类型对应的 Bartype 值为: 0 — Ticks &合约 (Ticks & Contracts) 1 — 日内 (秒 Seconds, 分 Minutes & 时 Hours) 2 — 日 Days 3 — 周 Weeks 4 — 月,季,年(Months, Quarters & Years) 5 — 点&变动(Points & Changes)
# 示例:
取数据的周期类型值,赋给变量 Value1:
Value1=BarType;
# 说明:
返回一个数值,表明脚本所在数据的周期类型。
2.7 BarType_ex
# 语法:
BarType_ex 不同的周期类型对应返回值为: 1 — Ticks 2 — 分 Minutes 3 — 时 Hours 4 — 日 Days 5 — 周 Weeks 6 — 月 Months 7 — 年 Years 8 — Volume 9 — 秒 Seconds 10 — 季 Quarters 11 — 点 Points 12 — 变动 Change 13 — Points (Original) 14 — OX 图 Point & Figure 15 — 卡吉图 Kagi 16 — 砖型图 Renko 17 — 新价线 Line Break 18 — Heikin Ashi
# 示例:
取数据的详细周期类型,赋给变量 Value1:
Value1=BarType_ex;
# 说明:
这是BarType的延伸版本,会给出更详细的周期示例。建议采用这版本
2.8 Open/High/Low/Close
# 语法:
# 示例:
# 说明:
这四个数值无需多说,不会这的话就不要写代码了。另外他们分别有简写方式O/H/L/C,但是建议写全。
2.9 Volume/V
# 语法:
语法 Volume
# 示例:
以当前 Bar 的 volume 值画线: Plot1(Volume,"Volume"); 以前一根 Bar 的 volume 值画线: Plot1(Volume Of 1 Bar Ago,"Previous Bar's volume"); 以前第二根 Bar 的 volume 值画线: Plot1(Volume[2],"Volume 2 Bars ago");
# 说明:
返回当前 Bar 的成交量。 对于 Tick 周期,基于量的周期,日以内时间周期的图表: —图表设置成交量基于交易量,则 volume 值为当前 Bar 的上涨股数。 —图表设置成交量基于成交笔数,则 volume 值为当前 Bar 的上涨笔数。 对于日线及日以上时间周期的图表: —图表设置成交量基于交易量,则 volume 值为成交股数。 —图表设置成交量基于成交笔数,则 volume 值为成交笔 数。 注意:许多数据源只提供有限的历史成交量和成交笔数的数 据,实时存储数据可以确保成交量和成交笔数数据的有效 性。
2.10 Openint/I
# 语法:
语法 Openint 或 I
# 示例:
以当前 Bar 的 openint 值画线: Plot1(OpenInt,"Open interest"); 以前一根 K 线的 openint 值画线: Plot1(OpenInt Of 1 Bar Ago,"Previous Bar's open interest"); 以前第二根 openint 值画线: Plot1(OpenInt[2],"Open interest 2 Bars ago");
# 说明:
基于 tick 和量周期的图表,openint 值为当前 Bar 的未平仓量。 日线以下的时间周期图表: —图表设置成交量基于成交笔数,则 openint 返回值为下 跌笔数。 —图表设置成交量基于交易量,则 openint 返回值为下跌 股数(下跌手数)。 Openint 支持日线和以上时间周期的图表。
2.11 Ticks
# 语法:
语法 Ticks
# 示例:
画出当前 Bar 的成交笔数(图表设置成交量基于成交笔数): Plot1(Ticks,"Ticks"); 画出当前 Bar 的成交股数(图表设置成交量基于交易量): Plot1(Ticks,"Volume");
# 说明:
图表设置成交量基于成交笔数,则 Ticks 返回每根 Bar 的成交 笔数。 图表设置成交量基于交易量,则 Ticks 返回每根 Bar 的成交股 数(成交手数)。 图表设置成交量基于成交笔数时: — 1-tick 图表中,当前 tick 的 Ticks 返回值为 1。 — 多 tick、量、时间周期的图表中,当前 Bar 的 Ticks 返 回值为当前 Bar 的成交笔数。 图表设置成交量基于交易量时: — 1-tick 图表中,当前 tick 的 Ticks 返回值为当前 tick 的成 交股数。 — 多 tick,量,时间周期的图表中,当前 Bar 的 Ticks 返 回值为当前 Bar 的成交股数。 注意:许多历史数据源只提供有限的历史成交量和成交笔数 的数据,实时存储数据可以确保成交量和成交笔数数据的有 效性。
2.12 UpTicks
# 语法:
语法 Upticks
# 示例:
画出当前 Bar 的上涨笔数(图表设置成交量基于成交笔数): Plot1(UpTicks,"Up Ticks"); 画出当前 Bar 的上涨股数(图表设置成交量基于成交股数): Plot1(UpTicks,"Up Volume");
# 说明:
如果图表设置成交量基于成交笔数,则 UpTicks 返回值为上 涨笔数。 如果图表设置成交量基于交易量,则 UpTicks 返回值为上涨 股数。 当前 tick 的价格高于前根 tick 的价格时,则当前 tick 的成交 笔数即为上涨笔数。上涨股数为上涨笔数的成交量,即上涨 量。 图表设置成交量基于成交笔数时: — 1-tick 图表中,当前 tick 的 UpTicks 返回值为 1。 — 多 tick,量,时间周期的图表中,当前 Bar 的 UpTicks 返回值为当前 Bar 的上涨笔数。 图表设置成交量基于交易量时: — 1-tick 图表中,当前 tick 的 UpTicks 返回值为当前 tick 的上涨股数。 — 多 tick,量,时间周期的图表中,当前 Bar 的 UpTicks 返回值为当前 Bar 的上涨股数。 注意:许多历史数据源只提供有限的历史成交量和成交笔数 的数据,实时存储数据可以确保成交量和成交笔数数据的有 效性。
2.13 DownTicks
# 语法:
语法 Downticks
# 示例:
画出当前 Bar 的下跌笔数(图表设置成交量基于成交笔数): Plot1(DownTicks,"Down Ticks"); 画出当前 Bar 的下跌股数(图表设置成交量基于交易量): Plot1(DownTicks,"Down Volume");
# 说明:
图表设置成交量基于成交笔数,则 DownTicks 返回每根 Bar 的下跌笔数。 图表设置成交量基于交易量,则 DownTicks 返回每根 Bar 的下跌股数(下跌手数)。 当前 tick 的价格低于前一 tick 的价格时,则当前 tick 的成交 笔数即为下跌笔数。下跌股数为下跌笔数的成交量,即下跌 量。 图表设置成交量基于成交笔数时: — 1-tick 图表中,当前 tick 的 DownTicks 返回值为 1。 — 多 tick,量,时间周期的图表中,当前 Bar 的 DownTicks 返回值为当前 Bar 的下跌笔数。 图表设置成交量基于交易量时: — 1-tick 图表中,当前 tick 的 DownTicks 返回值为当前 tick 的下跌股数。 — 多 tick,量,时间周期的图表中,当前 Bar 的 DownTicks 返回值为当前 Bar 的下跌股数。 注意:许多历史数据源只提供有限的历史成交量和成交笔数 的数据,实时存储数据可以确保成交量和成交笔数数据的有效性。
2.14 Time/T
# 语法:
语法 Time 或 T
# 示例:
10:15 AM 时 Time 返回值 1015 3:45 PM 时 Time 返回值 1545
# 说明:
返回一个数值,表示当前 Bar 的收盘时间。时间格式为 HHmm,24 小时制,1300=1:00PM。
2.15 Time_s
# 语法:
语法 Time_s
# 示例:
10:15:25 AM 时 Time_s 返回值为 101525 3:45:00 PM 时 Time_s 返回值为 154500
# 说明:
返回一个数值,表示当前 Bar 的收盘时间,时间包含秒。时 间格式为 HHmmss,24 小时制,130000=1:00:00PM。
2.16 SessionLastBar
# 语法:
语法 SessionLastBar
# 示例:
判断当前 Bar 是否为交易时段的最后一根 Bar,将结果赋值给变量 LastBar:
Variable:LastBar(False);
LastBar=SessionLastBar;
# 说明:
返回逻辑值,表明当前 Bar 是否为时段结束前的最后一根 Bar。如果当前 Bar 是交易时段的最后一根 Bar 则返回值为 True,否则返回值为 False。
2.17 Data
# 语法:
语法 DataN 或 Data(N)
参数 N——数据编号。
(N)——数值表达式,指定子图编号。
# 示例:
High Of Data2 返回 data2 的一个 Bar 的最高价。 High Of Data(2) 返回 data2 的一个 Bar 的最高价。
# 说明:
跨周期数据图表中指定子图数据。跨周期图表中,每个图表 都有唯一的编号。
第三节:与商品相关
3.1 ExpirationDate
# 语法:
语法 ExpirationDate
(到期日只能用在期货和期权。)
# 示例:
如果到期日为 2008 年 10 月 30 日,则 ExpirationDate 返回值为 1081030。 如果到期日为 1990 年 4 月 2 日,则 ExpirationDate 返回值为9900402。
# 说明:
返回值为脚本所在图表中商品的到期日(QM 中设置)。日期 格式为 YYYMMdd,YYY 表示自 1900 至今的年份,MM 表示 月,dd 表示日。例如日期为 2007 年 10 月 30 日,则返回值 为 1071030,日期为 1999 年 4 月 2 日,返回值为 990402。
3.2 GetExchangeName
# 语法:
语法 GetExchangeName
# 示例:
图表为股指期货数据,GetExchangeName 返回”CFFEX”。 图表为 E-mini S&P 500 ,GetExchangeName 返回”CME”。
# 说明:
返回字符串表达式,包含图表中的商品的交易所名称。
3.3 GetSymbolName/Symbol
# 语法:
语法 GetSymbolName
# 示例:
图表商品为股指期货主力合约,GetSymbolName 返回值:
“CZCE.SR HOT”
# 说明:
返回字符串表达式,包含图表中商品名称。
3.4 Point
# 语法:
语法 Point 或 Points
注意 Point=1/Pricescale
# 示例:
股指的 1 Point 为 0.1
白糖的 1 Point 为 1
MinMove * 1 Point 返回当前图表商品的一跳。如股指返回0.2
# 说明:
返回一个十进位数值,等于价格精度(QM 设定)。表示为:每跳的点数。
3.5 PointValue
# 语法:
语法 Pointvalue
注意 Pointvalue=Bigpointvalue/Pricescale
价格精度价值=整点价值/价格精度的倒数
# 示例:
股指的 Pointvalue 为 30
白糖的 Pointvalue 为 10
# 说明:
返回一个数值,表明 1 价格精度的价值。
3.6 BigPointValue
# 语法:
语法 BigPointValue
注意 BigPointValue=PointValue*PriceScale
整点价值=价格精度的价值*价格精度的倒数
# 示例:
BigPointValue 中国金融期货交易所股指的整点价值为 300元。
BigPointValue 郑州商品交易所白糖的整点价值为 10 元。
# 说明:
所谓整点价值指的就是商品的最小跳动=多少钱。
3.7 PriceScale
# 语法:
语法 Pricescale
注意 Pricescale=Bigpointvalue/Pointvalue
价格精度倒数=整点价值/价格精度价值
# 示例:
股指的 Pricescale 为 10
白糖的 Pricescale 为 1
# 说明:
返回一个数值,代表价格精度的倒数。
3.8 MinMove
# 语法:
语法 Minmove
# 示例:
股指的 Minmove 是 2
白糖的 Minmove 是 1
MinMove*PointValue 返回当前图表商品的一跳对应的价值。如股指返回 60(2*30 元)
# 说明:
返回一个数值,表明图表中数据的价格变动的最小单位。 (Quote Manager 中的设置) 只能设置为整数。
第四节:与其他图表相关
4.1 RevSize
# 语法:
语法 Revsize
# 示例:
如果 OX 图的反转设定为 3,则 Revsize 返回值为 3 如果卡吉图的反转设定为 4%,则 Revsize 返回值为 4% 如果新价线图的反转设定为 5,则 Revsize 返回值为 5
# 说明:
返回 OX 图的反转设定值,卡吉图的反转设定值,或新价线 图的反转设定值。 可以在设置商品》设置》图表类型中设定此值。
4.2 BoxSize
# 语法:
语法 Boxsize
# 示例:
如果砖形图的单位大小设定为 3,则 Boxsize 返回值为 3。 如果图表类型为标准或卡吉图,则 Boxsize 返回值为 0。
# 说明:
返回指标或信号所在基于价格单位的图表中价格单位的设 定值。 在图表中的设置商品》设置》图表类型可以设置单位大小的值。
第六节:编辑商品设置
我们在QM报价管理器中可以自定义商品
=================================================
之前的文章感谢大家的转载,希望转载时请注明出处,本人转自其它网站的图表一并感谢,谢谢~!
https://www.cnblogs.com/noah0532/
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。