总结

  • 合计: ¥0
  • 折扣: -¥0
  • 实付: ¥0
外汇、恒指MT4软件指标编程入门:市场数据取值

外汇、恒指MT4软件指标编程入门:市场数据取值

2021年06月26日 外汇

​这阵子比较忙,网站更新比较慢,我们艾云公众号:“智能云策略”已经把十几篇文章更新完成了,还有图文解说哦。也可以加我们微信或是qq289876878,发送文章链接给你。

回归正传,上篇文章提到的是外汇MT4交易指标编程中的自定义数组资料,今天跟艾云一起来研究下市场数据取值。

 

预定义数组

开盘价、最高价、最低价、收盘价、成交量等历史数据,每根K线蜡烛都各有一个,所以必须用数组来解决问题。(MT4已经定义好的,可以直接使用)

 

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、High、Low、close:
表示第i+1根K线蜡烛的开盘价、最高价、最低价、收盘价 以此类推。。。。。。

注意:这些是数组,用的是方括号。

 

预定义变量

买入价、卖出价是实时价格,MT4用预定义变量Ask和Bid表示,数值类型为double双精度 还有一些预定义变量。如:

Bars表示图表中的蜡烛数,类型为int整数型;

Digits表示当前货币对的小数位,类型为int整数型,无日元币对为4,有日元币对为2,黄金石油等一般也为2;

Point表示当前货币对的点值,类型为双精度double型,无日元币对为0.0001,有日元币对为0.01。

Point与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_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)参数共7个,分别为:商品名称、K线周期、均线周期、均线偏移、平均模式、价格种类、位置。

 

均线周期:
10天平均线的均线周期为10,20天均线的均线周期为20。
均线偏移:
均线位置整体左右移动的位置偏移量。
平均模式:

简单移动平均(MODE_SMA);

指数移动平均(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(天)指数移动平均线 第3根K线所对应位置的值。
其他如MACD指标、威廉指标、RSI、SAR、布林线等指标取值都与移动平均线指标相类似

 

3、在数组中求元素的移动平均值。双精度double型

iMAOnArray(数组名,总数,平均周期,均线偏移,平均模式,位置)这也与iMA函数差不多,不过数据源变为数组。

从数组中不但可以求得移动平均值,还可以求得RSI等指标值4、求自定义指标的值我们经常自己编一些自定义指标,可用iCustom函数来取得自定义函数的值iCustom(商品名,K线周期,自定义指标名称,自定义指标参数1,参数2,参数3,,,自定义指标线编号,位置)。
如果自定义指标只有一根指标线,则自定义指标线的编号为0。

如果自定义指标有多根指标线,则第一条自定义指标线的编号为0,第二条为1,第三条为2。。。

例如:

iCustom(NULL,0,"mymacd",12,26,9,2,0) (12,26,9)为自定义指标mymacd的三个参数表示:求当前图表中,自定义指标mymacd(12,26,9)的第3条指标线在最新位置的值抛砖引玉,这里只是有代表性地列了几个函数。

 

温馨提示:投资有风险,入场需谨慎!

如果感觉文章不错,欢迎分享给朋友们!

 

往期精彩推荐

1、均线、KDJ、MACD、RSI中出现金叉死叉如何应对

2、MT4系统指标导入流程

3、亏损别赖“心态不好”,你更需要解决这6点

4、手把手教你把指标导入文华财经WH6系统

5、期货、外汇投资中,亏损加仓走的是马丁策略还是自我毁灭?


分享链接:
期货交易总是管不住手?这几招助你轻松应对
期货交易总是管不住手?这几招助你轻松应对
文华副图源码免费分享---MACD背离指标洞察期货市场动向
文华副图源码免费分享---MACD背离指标洞察期货市场动向
文华6技术分析副图源码---峰顶之旅,河床筑基
文华6技术分析副图源码---峰顶之旅,河床筑基
通达信与文华副图指标公式源码免费分享
通达信与文华副图指标公式源码免费分享