MT4編程入門(六):市場數(shù)據(jù)取值 [MT4]
作者:
MT4 來源:
cxh99.com 發(fā)布時間:2012年05月18日 點擊數(shù):
【
收藏到本網(wǎng)的會員中心】
- 一、預定義數(shù)組(MT4已經(jīng)定義好的,可以直接使用)
開盤價、最高價、最低價、收盤價、成交量等歷史數(shù)據(jù),每根K線蠟燭都各有一個,所以必須用數(shù)組來解決問題,MT4有幾個預定義數(shù)組:
開盤價Open[]、最高價High[]、最低價Low[]、收盤價close[]、成交量Volume[]、所屬時間Time[]
類型為雙精度double型(即精確小數(shù))
這里有一個位置的問題,右邊第一根K線蠟燭(即最新的蠟燭)的編號為0,第二根蠟燭編號1,第三根蠟燭編號2,也就是說從右向左倒著數(shù)過去。
Open[0]、High[0]、Low[0]、Close[0],表示最新的開盤價、最高價、最低價、收盤價
Open[1]、High[1]、Low[1]、close[1],表示第2根K線蠟燭的開盤價、最高價、最低價、收盤價
Open[2]、High[2]、Low[2]、close[2],表示第3根K線蠟燭的開盤價、最高價、最低價、收盤價
Open[3]、High[3]、Low[3]、close[3],表示第4根K線蠟燭的開盤價、最高價、最低價、收盤價
Open、High、Low、close,表示第i+1根K線蠟燭的開盤價、最高價、最低價、收盤價
以此類推。。。。。。
注意:這些是數(shù)組,用的是方括號。
二、預定義變量
買入價、賣出價是實時價格,MT4用預定義變量Ask和Bid表示,數(shù)值類型為double雙精度
還有一些預定義變量,如:
Bars 表示圖表中的蠟燭數(shù),類型為int整數(shù)型
Digits 表示當前貨幣對的小數(shù)位,類型為int整數(shù)型,無日元幣對為4,有日元幣對為2,黃金石油等一般也為2
Point 表示當前貨幣對的點值,類型為雙精度double型,無日元幣對為0.0001,有日元幣對為0.01。與Digits正好相反。
三、指標函數(shù)
1、價格、成交量、時間
它們都有三個參數(shù):貨幣對名、K線周期、位置序號
開盤價:iOpen(symbol,timeframe,shift) 雙精度double型
收盤價:iClose(symbol,timeframe,shift) 雙精度double型
最高價:iHigh(symbol,timeframe,shift) 雙精度double型
最低價:iLow(symbol,timeframe,shift) 雙精度double型
成交量:iVolume(symbol,timeframe,shift)雙精度double型
所屬時間:iTime(symbol,timeframe,shift)日期時間datetime型
K線周期為:1分鐘圖(PERIOD_M1)、5分鐘圖(PERIOD_M5)、15分鐘圖(PERIOD_M15)、30分鐘圖(PERIOD_M30)、
1小時圖(PERIOD_H1)、4小時圖(PERIOD_H4)、日線圖(PERIOD_D1)、周線圖(PERIOD_W1)、周線圖(PERIOD_W1)、月線圖(PERIOD_W1)
例:
iOpen("USDJPY",PERIOD_H1,0) 表示美元兌日元1小時圖最新K線蠟燭的開盤價
iClose("EURUSD",PERIOD_H4,2)表示歐元兌美元4小時圖第3根K線蠟燭的收盤價
iClose("GBPUSD",PERIOD_H1,i)表示英磅兌美元1小時圖第i+1根K線蠟燭的收盤價
iHigh(NULL,0,0) 既不指定商品,也不指定K線周期,用在誰就是誰,用在哪就是哪
2、移動平均值。雙精度double型
iMA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift)
參數(shù)共7個,分別為:商品名稱、K線周期、均線周期、均線偏移、平均模式、價格種類、位置
均線周期:10天平均線的均線周期為10,20天均線的均線周期為20
均線偏移:均線位置整體左右移動的位置偏移量
平均模式:簡單移動平均(MODE_SMA)、指數(shù)移動平均(MODE_EMA)、平滑移動平均線(MODE_SMMA)、線性加權移動平均線(MODE_LWMA)
價格種類:收盤價(PRICE_CLOSE)、開盤價(PRICE_OPEN)、最高價(PRICE_HIGH)、最低價(PRICE_LOW)、中值(PRICE_MEDIAN)、5(PRICE_TYPICAL)、6(PRICE_WEIGHTED)
例1:iMA("EURUSD",PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,0)
表示:歐元1小時圖上,以收盤價計算的,20小時簡單移動平均線,最新K線所對應位置的值
例2:iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,2)
表示:在當前商品、當前K線周期圖表上,以收盤價計算的,20(天)指數(shù)移動平均線 第3根K線所對應位置的值
其他如MACD指標、威廉指標、RSI、SAR、布林線等指標取值都與移動平均線指標相類似
3、在數(shù)組中求元素的移動平均值。雙精度double型
iMAOnArray(數(shù)組名, 總數(shù), 平均周期, 均線偏移, 平均模式, 位置)
這也與iMA函數(shù)差不多,不過數(shù)據(jù)源變?yōu)閿?shù)組
從數(shù)組中不但可以求得移動平均值,還可以求得RSI等指標值
4、求自定義指標的值
我們經(jīng)常自己編一些自定義指標,可用iCustom函數(shù)來取得自定義函數(shù)的值
iCustom(商品名,K線周期,自定義指標名稱,自定義指標參數(shù)1,參數(shù)2,參數(shù)3,,,自定義指標線編號,位置)
如果自定義指標只有一根指標線,則自定義指標線的編號為0。
如果自定義指標有多根指標線,則第一條自定義指標線的編號為0,第二條為1,第三條為2。。。
例如:iCustom(NULL,0,"mymacd",12,26,9,2,0) (12,26,9)為自定義指標mymacd的三個參數(shù)
表示:求當前圖表中,自定義指標mymacd(12,26,9)的第3條指標線在最新位置的值
拋磚引玉,這里只是有代表性地列了幾個函數(shù),詳細請查閱《MT4編程手冊》