MQL4技术指标相关函数(一)
MQL4不仅可以计算当前图表中任何指标,还可以计算任何有效的货币对/图表时段的数据。如果请求数据(货币对名称/图表时段不同于当前图表)来自其他图表,出现这种情况如果相应的图表没有在客户端内打开,数据需要从服务器上下载。这种情况下,错误信息ERR_HISTORY_WILL_UPDATED(4066-历史数据正在更新中)将被放置于 last_error 变量中,需要再次请求更新数据(参见 ArrayCopySeries() 范例)。
- iAC() – 加速震荡指标
- iAD() – 离散指标
- iAlligator() – 鳄鱼指标
- iADX() – ADX指标
- iATR() – ATR指标
- iAO() – 动量震荡指标
- iBearsPower() – 熊力指标
- iBands() – 布林线指标
- iBandsOnArray() – 基于数组计算布林线指标
- iBullsPower() – 牛力指标
- iCCI() – CCI指标
- iCCIOnArray() – 基于数组计算CCI指标
- iCustom() – 自定义指标
- iDeMarker() – DeMarker指标
- iEnvelopes() – Envelopes包络线指标
- iEnvelopesOnArray() – 基于数组计算包络线指标
- iForce() – 强力指标
- iFractals() – 分型指标
- iGator() – 鳄鱼振荡指标
- iIchimoku() – Ichimoku云图指标
- iBWMFI() – BWMFI指标
- iMomentum() – 动量指标
- iMomentumOnArray() – 基于数组计算动量指标
- iMFI() – 资金流量指标
- iMA() – 移动平均线
- iMAOnArray() – 基于数组计算移动平均线
- iOsMA() – OsMA指标
- iMACD() – MACD指标
- iOBV() – OBV指标
- iSAR() – SAR抛物线指标
- iRSI() – RSI指标
- iRSIOnArray() – 基于数组计算RSI指标
- iRVI() – RVI指标
- iStdDev() – 标准差指标
- iStdDevOnArray() – 基于数组计算标准差
- iStochastic() – 随机震荡指标(KDJ)
- iWPR() – WPR指标(%R)
iAC() – 加速震荡指标
double iAC(string symbol, int timeframe, int shift)
计算比尔.威廉斯的加速震荡指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
double result=iAC(NULL, 0, 1);
iAD() – 离散指标
double iAD(string symbol, int timeframe, int shift)
计算离散指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
double result=iAD(NULL, 0, 1);
iAlligator() – 鳄鱼指标
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)
计算比尔.威廉斯的鳄鱼指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 jaw_period - 蓝线平均周期(鳄鱼的下颌)jaw_shift - 蓝线偏移量teeth_period - 红线平均周期(鳄鱼的牙)teeth_shift - 红线偏移量lips_period - 绿线平均周期(鳄鱼的嘴唇)lips_shift - 绿线偏移量ma_method - MA方法。可以是任意的移动平均计算方法。applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。mode - 指标线的标识符。可以是以下任意值 MODE_GATORJAW - 鳄鱼下领(蓝色)指标线, MODE_GATORTEETH - 鳄鱼牙(红色)指标线, MODE_GATORLIPS - 鳄鱼嘴唇(绿色)指标线。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
double jaw_val=iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, 1);
iADX() – ADX指标
double iADX(string symbol, int timeframe, int period, int applied_price, int mode, int shift)
计算ADX指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 period - 计算的周期数applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。mode - 指标线的标识符。可以是 指标线标示符 里对应值。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>iADX(NULL,0,14,PRICE_HIGH,MODE_PLUSDI,0)) return(0);
iATR() – ATR指标
double iATR(string symbol, int timeframe, int period, int shift)
计算ATR指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 period - 计算的周期数。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0);
iAO() – 动量震荡指标
double iAO(string symbol, int timeframe, int shift)
计算比尔.威廉斯的动量震荡指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
double result=iAO(NULL, 0, 1);
iBearsPower() – 熊力指标
double iBearsPower(string symbol, int timeframe, int period, int applied_price, int shift)
计算熊力指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。period - 计算的周期数。 applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
double val=iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
iBands() – 布林线指标
double iBands(string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift)
计算布林线指标。
参数:
symbol - 要计算指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。period - 计算的周期数。deviation - 与主线的偏差。bands_shift - 指标相对图偏移。mode - 指标线的标识符。可以是 指标线标示符 里对应值。 applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Low[0]) return(0);
iBandsOnArray() – 基于数组计算布林线指标
double iBandsOnArray(double array[], int total, int period, int deviation, int bands_shift, int mode, int shift)
基于数值型数组中数据,计算布林线指标。不同于 iBands() ,iBandsOnArray 函数并不通过货币对名称、图表时段、请求价格的方式获取数据,而是要求价格数据必须事先准备好,再从左边到右边计算指标。为了能按照序列数组那样存取数组元素(即从右到左),你必须使用 ArraySetAsSeries 函数。
参数:
array[] - 需要计算数据的数组。total - 要参与计算的元素个数。0意味着使用整个数组。period - 计算的周期数。deviation - 与主线的偏差。bands_shift - 指标相对图偏移。mode - 指标线的标识符。可以是 指标线标示符 里对应值。 shift - 从指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。
示例:
if(iBandsOnArray(ExtBuffer,total,2,0,MODE_LOWER,0)>Low[0]) return(0);
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/49032.html
上一篇:MQL4技术指标相关函数(二) 下一篇:MQL4字符串处理函数