1. 程式人生 > 實用技巧 >量化投資_EasyLanguage/PowerLanguage教學課程__【第一篇基礎】__【第十六章資料資訊】

量化投資_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.11Ticks

# 語法

語法 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.12UpTicks

# 語法

語法 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.13DownTicks

# 語法

語法 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.1ExpirationDate

# 語法

語法 ExpirationDate
(到期日只能用在期貨和期權。)

# 示例

如果到期日為 20081030 日,則 ExpirationDate 返回值為 1081030。
如果到期日為 199042 日,則 ExpirationDate 返回值為9900402。

# 說明

  返回值為指令碼所在圖表中商品的到期日(QM 中設定)。日期 格式為 YYYMMdd,YYY 表示自 1900 至今的年份,MM 表示 月,dd 表示日。例如日期為 2007 年 10 月 30 日,則返回值 為 1071030,日期為 1999 年 4 月 2 日,返回值為 990402。

3.2GetExchangeName

# 語法

語法 GetExchangeName

# 示例

圖表為股指期貨資料,GetExchangeName 返回”CFFEX”。
圖表為 E-mini S&P 500 ,GetExchangeName 返回”CME”。

# 說明

  返回字串表示式,包含圖表中的商品的交易所名稱。

3.3GetSymbolName/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.5PointValue

# 語法

語法 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.8MinMove

# 語法

語法 Minmove

# 示例

股指的 Minmove 是 2
白糖的 Minmove 是 1
MinMove*PointValue 返回當前圖表商品的一跳對應的價值。如股指返回 60(2*30 元)

# 說明

  返回一個數值,表明圖表中資料的價格變動的最小單位。 (Quote Manager 中的設定) 只能設定為整數。

第四節:與其他圖表相關

4.1RevSize

# 語法

語法 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/