[转] MT4编程(1)

以下内容转自http://bbs.520fx.com/dispbbs.asp?boardID=7&ID=1942&page=1

[原创]MT4编程概念之图形基本数据

MT4编程概念是以当前图形为基础进行的。当前图形里面的数据包括了行情数据和K线数据以及K线相关的一些数据,大家都知道K线本身有时间段的概念。所以说到K线,一定要指明使用哪个时间段。520FX

行情数据:指的是当前最新的行情内容,在程序里面有以下几种行情数据可以直接调用

Ask 当前图形商品的最新卖出价格
Bid 当前图形商品的最新买入价格

图形相关数据520FX

Bars 当前图形中K线的个数
Digits 当前K线图中商品小数点后的位数
Point 但前K线图中商品的”1点”代表的数值

K线数据:
Open[] 指定K线的开盘价
High[]指定K线的最高价
Low[]指定K线的最低价
Close[]指定K线的收盘价
Time[]指定K线的时间
Volume[]指定K线的成交量

这里使用”指定K线”是因为每一根K线都对应了这些数据,因此我们需要指定时使用的哪一根J线的这些数据。每个上述数值名称的后面都有一个”[]“,在实际使用中,我们要在这个中括号里面加上指定的第XK线的X值。X是整数。

当前最新一个根K线的X=0

当前K线往左的一根X=1,其他K线的X值以此类推。

这种方式的重要作用就是可以调用历史K线数据,来进行多种指标的混合运算。这个概念一定要清楚!!

上述说明里面提到了图形数据都是以当前图形的时间段为基础,如果当前时间段是1H,则Open[2]表示前一根1H的K线的开盘价的数字。这时候大家跟定会说,如果我编的指标在1H图上需要用到其他时间段的这些数据,那该如何调用呢?别着急MT4给你都想到了,使用以下函数不仅可以在当前图形中调用同一个商品的其他时间段K线的数据,还可以调用不同商品的不同时间段的相关K线数据!!是不是想得很周到?如果你要编一个多个商品互动并且需要不同时间段K线数据的超级指标那下面这些行数就是你一定会用到的:

iBars()
iClose()
iHigh()
iHighest()
iLow()
iLowest()
iOpen()
iTime()
iVolume()

是不是看着眼熟,对!他们都在名字前面加了一个i,这表示他们将调用你指定的时间段的数据。注意:这里的函数名字后面是(),前面的函数后面是[]。

既然这里的数据是调用不同商品并且指定时间段的数据,那末这个()里面跟定要比上面那些[]里面的参数多一些,那就是

参数一:商品名称 字符串类型 (这里的商品名称就是你在报价窗口里面看到的商品代码,注意要用双引号括起来!!)

参数二:指定的时间段 整数类型
PERIOD_M1 1 1 minute.
PERIOD_M5 5 5 minutes.
PERIOD_M15 15 15 minutes.
PERIOD_M30 30 30 minutes.
PERIOD_H1 60 1 hour.
PERIOD_H4 240 4 hour.
PERIOD_D1 1440 Daily.
PERIOD_W1 10080 Weekly.
PERIOD_MN1 43200 Monthly.
0 (zero) 0 Timeframe used on the chart.

参数三:往前位移的个数 整数类型

说明:上面函数中有两个特殊函数iHighest() iLowest()这两个函数分别结算指定商品指定时间段中指定开始K线和结束K线区间里的最大值和最小值。是不是有点拗口^_^,语言表达能力有限,多看几遍吧:)


Technorati : ,
Del.icio.us : ,


相关文章

Speak Your Mind

If you want a pic to show with your comment, go get a gravatar!