量化投资_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
(到期日只能用在期货和期权。)

# 示例

如果到期日为 20081030 日,则 ExpirationDate 返回值为 1081030。
如果到期日为 199042 日,则 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/

posted @ 2020-09-19 21:31  时海涛|Thomas  阅读(840)  评论(0编辑  收藏  举报