诚信为本
量力而为
当前位置:峰汇在线 > MQL语言 > 正文

EA调用MT4自带29个指标语法说明

本文目录

我们在编写EA的时候,经常要调用到MT4自带的技术指标,这里将MT4自带的29个技术指标调用语法集中整理出来供参考。常用指标的序号是对应图表中K线的序号,从右侧最新K线往左以0、1、2、3…….的顺序排列。0即为当前K线对应的指标数值。下列所有示例中的 _0(x,x,x,0)为调用当前K线对应的指标数值,上一根K线就是1,实际调用中类推就可以(double  “xxx_0″这个名称可以自由定义,符合命令规则就行)。如果用for循环结合数字组调用指标,那么数组中[i]原理也是一样。货币对名称NULL、Symbol()为当前图表货币对(EA中建议用Symbol()),如果指定货币对直接输入货币对代码加双引号即可,如欧元美元”EURUSD”。在时间周期上面,0为当前图表时间周期,如果指定时间周期则输入PERIOD_M5,PERIOD_D1等。

Accelerator Oscillator 震荡加速指标AC

语法:

double iAC(string symbol, int timeframe, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ac_0 = iAC(Symbol(), 0, 0);

Accumulation/Distribution 离散指标AD

语法:

double iAD(string symbol, int timeframe, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ad_0 = iAD(Symbol(), 0, 0);

Alligator 鳄鱼指标

语法:

double iAlligator( string symbol, int timeframe, int jaw_period, int jaw_shift,int teeth_period, int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 jaw_period 鳄鱼下颚平均周期,蓝线。默认选 13
4、 jaw_shift 蓝线相对偏移量。默认选 8
5、 teeth_period 鳄鱼牙齿平均周期,红线。默认选 8
6、 teeth_shift 红线相对偏移量。默认选 5
7、 lips_period 鳄鱼嘴唇平均周期,绿线。默认选 5
8、 lips_shift 绿线相对偏移量。默认选 3
9、 ma_method MA 方法。默认为指数平均 MODE_EMA
10、 applied_price 应用价格。默认为中线价 PRICE_MEDIAN
11、 mode 返回数据,MODE_GATORJAW 为下颚,MODE_GATORTEETH为牙齿,MODE_GATORLIPS 为嘴唇
12、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Al_aw_0 = iAlligator(Symbol(),0,13,8,8,5,5,3,MODE_EMA,PRICE_MEDIAN,MODE_GATORJAW,0);
double Al_th_0 = iAlligator(Symbol(),0,13,8,8,5,5,3,MODE_EMA,PRICE_MEDIAN,MODE_GATORTEETH,0);
double Al_ps_0 = iAlligator(Symbol(),0,13,8,8,5,5,3,MODE_EMA,PRICE_MEDIAN,MODE_GATORLIPS,0);

Average Directional Movement Index 平均方向移动指标ADX

语法:

double iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 14
4、 applied_price 应用价格。默认为平仓价 PRICE_CLOSE
5、 mode 迒回数据, MODE_MAIN 为基本指标线,MODE_PLUSDI 为+DI 指标,MOSE_MINUSDI 为-DI 指标线
6、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Adx_mn_0 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);
double Adx_pdi_0 = iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);
double Adx_mdi_0 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);

Average True Range 平均真实范围指标ATR

语法:

double iATR( string symbol, int timeframe, int period, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 14
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Atr_0 = iATR(Symbol(),0,14,0);

Awesome Oscillator 振荡指标AO

语法:

double iAO( string symbol, int timeframe, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ao_0 = iAO(Symbol(),0,0);

Bears Power 熊力震荡指标

语法:

double iBearsPower( string symbol, int timeframe, int period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 13
4、 applied_price 选择价格,默认选收盘价 PRICE_CLOSE
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Bpr_0 = iBearsPower(Symbol(),0,13,PRICE_CLOSE,0);

Bollinger Bands 布林带

语法:

double iBands( string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 20
4、 deviation 不主线偏差。默认选 2
5、 bands_shift 平移量。默认选 0
6、 applied_price 应用价格。默认为最低价 PRICE_CLOSE
7、 mode 迒回读数, MODE_UPPER 为上面线,MODE_LOWER 为下面线,MODE_MAIN 为中间线
8、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Banin_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_MAIN,0);
double Banlow_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_LOWER,0);
double Banup_0 = iBands(Symbol(),0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);

Bulls Power 牛市指标

语法:

double iBullsPower( string symbol, int timeframe, int period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 13
4、 applied_price 选择价格,默认选收盘价 PRICE_CLOSE
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Bupr_0 = iBullsPower(Symbol(),0,13,PRICE_CLOSE,0);

Commodity Channel Index 顺势CCI指标

语法:

double iCCI( string symbol, int timeframe, int period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 14
4、 applied_price 选择价格,默认选典型价 PRICE_TYPICAL
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Cci_0 = iCCI(Symbol(),0,14,PRICE_TYPICAL,0);

DeMarker  DEM指标

语法:

double iDeMarker( string symbol, int timeframe, int period, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 计算平均周期。默认选 14
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Dem_0 = iDeMarker(Symbol(), 0, 13, 0);

Envelops 包络线指标

语法:

double iEnvelopes( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, int applied_price, double deviation, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 ma_period 主线平均周期。默认选 13
4、 ma_method MA 方法,通常选指数平滑 MODE_EMA
5、 ma_shift MA 偏移,默认选 0
6、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
7、 deviation 不主线偏差。根据货币对和时间周期选择,返回为 0.2
5、 bands_shift 平移量。默认选 0
6、 applied_price 应用价格。默认为最低价 PRICE_CLOSE
7、 mode 迒回读数, MODE_UPPER 为上面线,MODE_LOWER 为下面线
8、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ens_up_0 = iEnvelopes(Symbol(), 0, 13,MODE_EMA,0,PRICE_CLOSE,0.2,MODE_UPPER,0);
double Ens_low_0 = iEnvelopes(Symbol(), 0, 13,MODE_EMA,0,PRICE_CLOSE,0.2,MODE_LOWER,0);

Force Index 强力指标

语法:

double iForce( string symbol, int timeframe, int period, int ma_method, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 ma_period 主线平均周期。默认选 13
4、 ma_method MA 方法,通常选指数平滑 MODE_EMA
5、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
6、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double For_0 = iForce(Symbol(), 0, 13,MODE_EMA,PRICE_CLOSE,0);

Fractals 分形指标

语法:

double iFractals( string symbol, int timeframe, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 mode 返回读数, MODE_UPPER 为上箭头,MODE_LOWER 为下箭头
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Fra_up_0 = iFractals(Symbol(), 0, MODE_UPPER, 0);
double Fra_up_low_0 = iFractals(Symbol(), 0, MODE_LOWER, 0);

Gator Oscillator 鳄鱼振荡器指标

语法:

double iGator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, int mode, int shift);

参量:
1、symbol – 计算指标数据上的货币对名称. Symbol()为当前货币对
2、timeframe – 时间周期。 可以时间周期列举任意值. 0表示当前图表的时间周期
3、jaw_period – 平均周期(鳄鱼的下颌)的蓝线
4、jaw_shift – 蓝线转移相对图
5、teeth_period – 平均周期(鳄鱼的牙)的红线
6、teeth_shift – 红线转移相对图
7、lips_period – 平均周期(鳄鱼的嘴唇)的绿线
8、lips_shift – 绿线转移相对图
9、ma_method – MA方法。 它可以是其中任意 滑动平均值列举值
10、applied_price – 应用的价格。 它可以是应用价格列举的任意值
11、mode – 指标行数组索引。它可以是 指标识别符列举的任意值
12、shift – 从显示缓冲采取的值的索引(转移相对当前柱特定相当数量期间前)
示例:

double Gat_ 0 = iGator(Symbol(), 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_UPPER, 0);

Ichimoku Kinko Hyo 一目平衡表

语法:

double iIchimoku( string symbol, int timeframe, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 tenkan_sen 转折线周期,9
4、 kijun_sen 基准线周期,26
5、 senkou_span_b 延展线周期,52
6、 mode 迒 回 读 数 , 转 折 线 MODE_TENKANSEN , 基 准 线MODE_KIJUNSEN,云线 A MODE_SENKOUSPANA,云线 B MODE_SENKOUSPANB,通道 MODE_CHINKOUSPAN
7、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ichku_o = iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 0);

MACD

语法:

double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 fast_ema_period 快速线周期
4、 slow_ema_period 慢速线周期
5、 signal_period 信号线周期
6、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
7、 mode 返回读数,主线 MODE_MAIN,信号线 MODE_SIGNAL
8、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Macd_min_0 = iMACD(Symbol(),0,7,28,7,PRICE_CLOSE,MODE_MAIN,0);
double Macd_sin_0 = iMACD(Symbol(),0,7,28,7,PRICE_CLOSE,MODE_SIGNAL,0);

Market Facilitation Index 市场促进指数指标

语法:

double iBWMFI( string symbol, int timeframe, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Bwf_0 = iBWMFI(Symbol(), 0, 0);

Momentum 动量索引指标

语法:

double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 快速线周期,默认选 14
4、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Mom_0 = iMomentum(Symbol(),0,14,PRICE_CLOSE,0);

Money Flow Index 资金流量指数指标

语法:

double iMFI( string symbol, int timeframe, int period, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 平均周期,默认选 14
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Mfi_0 = iMFI(Symbol(),0,14,0);

Moving Average 移动平均线指标MA

语法:

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 平均线周期,通常选 7、14、28
4、 ma_shift 偏移量,默认选 0
5、 ma_method MA 方法,通常选 MODE_EMA
6、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
7、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Ma_7_0 = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Moving Average of Osillator 移动平均震荡指标OsMA

语法:

double iOsMA( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 fast_ema_period 快速线周期,通常选 12
4、 slow_ema_period 慢速线周期,通常选 26
5、 signal_period 信号线周期,通常选 9
6、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
7、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Osma_0 = iOsMA(Symbol(),0,12,26,9,PRICE_CLOSE,0);

On Balance Volume 能量潮指标

语法:

double iOBV( string symbol, int timeframe, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 applied_price 应用价格。默认选收盘价 PRICE_CLOSE
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Obv_0 = iOBV(Symbol(), 0, PRICE_CLOSE, 0);

Parabolic SAR 抛物线状止损和反转指标

语法:

double iSAR( string symbol, int timeframe, double step, double maximum,int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 step 步长,通常 0.02
4、 maximum 最大值,通常 0.2
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Sar_0 = iSAR(Symbol(),0,0.02,0.2,0);

Relative Strength Index 相对强弱指标RSI

语法:

double iRSI( string symbol, int timeframe, int period, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为默认当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 平均周期,通常 14
4、 applied_price 应用价格,通常 PRICE_CLOSE
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Rsi_0 = iRSI(NULL,0,14,PRICE_CLOSE,0);

Relative Vigor Index 相对活力指数指标RVI

语法:

double iRVI( string symbol, int timeframe, int period, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 平均周期,通常 10
4、 mode 指标类型,MODE_MAIN,MODE_SIGNAL
5、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Rvi_0 = iRVI(NULL, 0, 10,MODE_MAIN,0);

Standard Deviation 标准离差指标

语法:

double iStdDev( string symbol, int timeframe, int ma_period, int ma_shift,int ma_method, int applied_price, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 ma_period 平均周期,通常 20
4、 ma_shift MA 偏移,通常 0
5、 ma_method MA 方法,通常 MODE_EMA
6、 applied_price 应用价格,通常 PRICE_CLOSE
7、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Sdv_0 = iStdDev(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0);

Stochastic Oscillator 随机震荡指标KD

语法:

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod,int slowing, int method, int price_field, int mode, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 %Kperiod %K 周期,通常 14
4、 %Dperiod %D 周期,通常 7
5、 slowing 滚动值,通常 7
6、 method MA 方法 通常 MODE_EMA
7、 price_field 价格参量,可以是以下值: 0 – Low/High 或者 1 – Close/Close
8、 mode 指标类型,MODE_MAIN,MODE_SIGNAL
9、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Kd_min_0 = iStochastic(Symbol(),0,14,7,7,MODE_EMA,1,MODE_MAIN,0);
double Kd_sin_0 = iStochastic(Symbol(),0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);

Volumes 成交量指标

语法:

double iVolume( string symbol, int timeframe, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Vol_0 = iVolume(Symbol(),0,0);

Williams’Percent Range 威廉指标WPR

语法:

double iWPR( string symbol, int timeframe, int period, int shift);

参量:
1、 symbol 指定货币对,Symbol()为当前货币对
2、 timeframe 时间周期,0 为当前时间周期
3、 period 平均周期,通常 14
4、 shift 指定柱值,0 为当前柱,1 为前一个柱,以此类推
示例:

double Wpr_0 = iWPR(Symbol(),0,14,0);
打赏
版权所有转载请注明标题及链接:峰汇在线 » EA调用MT4自带29个指标语法说明
上一篇:
下一篇:
分享到: 更多 (0)

如您觉得此文不错请扫码打赏!

支付宝扫一扫打赏

微信扫一扫打赏