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_