MT4编程入门:市场数据取值-外汇EA下载
一、预定义数组(MT4已经定义好的,可以直接使用)
开盘价、最高价、最低价、收盘价、成交量等历史数据,每根K线蜡烛都各有一个,所以必须用数组来解决问题,MT4有几个预定义数组:
开盘价Open[]、最高价High[]、最低价Low[]、收盘价close[]、成交量Volume[]、所属时间Time[]
类型为双精度double型(即精确小数)
这里有一个位置的问题,右边第一根K线蜡烛(即最新的蜡烛)的编号为0,第二根蜡烛编号1,第三根蜡烛编号2,也就是说从右向左倒着数过去。
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[i]、High[i]、Low[i]、close[i],表示第i+1根K线蜡烛的开盘价、最高价、最低价、收盘价
以此类推。。。。。。
注意:这些是数组,用的是方括号。
二、预定义变量
买入价、卖出价是实时价格,MT4用预定义变量Ask和Bid表示,数值类型为double双精度
还有一些预定义变量,如:
Bars 表示图表中的蜡烛数,类型为int整数型
Digits 表示当前货币对的小数位,类型为int整数型,无日元币对为4,有日元币对为2,黄金石油等一般也为2
Point 表示当前货币对的点值,类型为双精度double型,无日元币对为0.0001,有日元币对为0.01。与Digits正好相反。
三、指标函数
1、价格、成交量、时间
它们都有三个参数:货币对名、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_