MQL4技术外汇MT4指标相关函数(二)
MQL4不仅可以计算当前图表中任何外汇MT4指标,还可以计算任何有效的货币对/图表时段的数据。如果请求数据(货币对名称/图表时段不同于当前图表)来自其他图表,出现这种情况如果相应的图表没有在客户端内打开,数据需要从服务器上下载。这种情况下,错误信息ERR_HISTORY_WILL_UPDATED(4066-历史数据正在更新中)将被放置于 last_error 变量中,需要再次请求更新数据(参见 ArrayCopySeries() 范例)。
iAC() – 加速震荡外汇MT4指标iAD() – 离散外汇MT4指标iAlligator() – 鳄鱼外汇MT4指标iADX() – ADX外汇MT4指标iATR() – ATR外汇MT4指标iAO() – 动量震荡外汇MT4指标iBearsPower() – 熊力外汇MT4指标iBands() – 布林线外汇MT4指标iBandsOnArray() – 基于数组计算布林线外汇MT4指标iBullsPower() – 牛力外汇MT4指标iCCI() – CCI外汇MT4指标iCCIOnArray() – 基于数组计算CCI外汇MT4指标iCustom() – 自定义外汇MT4指标iDeMarker() – DeMarker外汇MT4指标iEnvelopes() – Envelopes包络线外汇MT4指标iEnvelopesOnArray() – 基于数组计算包络线外汇MT4指标iForce() – 强力外汇MT4指标iFractals() – 分型外汇MT4指标iGator() – 鳄鱼振荡外汇MT4指标iIchimoku() – Ichimoku云图外汇MT4指标iBWMFI() – BWMFI外汇MT4指标iMomentum() – 动量外汇MT4指标iMomentumOnArray() – 基于数组计算动量外汇MT4指标iMFI() – 资金流量外汇MT4指标iMA() – 移动平均线iMAOnArray() – 基于数组计算移动平均线iOsMA() – OsMA外汇MT4指标iMACD() – MACD外汇MT4指标iOBV() – OBV外汇MT4指标iSAR() – SAR抛物线外汇MT4指标iRSI() – RSI外汇MT4指标iRSIOnArray() – 基于数组计算RSI外汇MT4指标iRVI() – RVI外汇MT4指标iStdDev() – 标准差外汇MT4指标iStdDevOnArray() – 基于数组计算标准差iStochastic() – 随机震荡外汇MT4指标(KDJ)iWPR() – WPR外汇MT4指标(%R)
iBullsPower() – 牛力外汇MT4指标double iBullsPower(string symbol, int timeframe, int period, int applied_price, int shift)计算牛力外汇MT4指标。
参数:
symbol - 要计算外汇MT4指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。period - 计算的周期数。 applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
double val=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0);iCCI() – CCI外汇MT4指标double iCCI(string symbol, int timeframe, int period, int applied_price, int shift)计算CCI外汇MT4指标。
参数:
symbol - 要计算外汇MT4指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。period - 计算的周期数。 applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
if(iCCI(NULL,0,12,PRICE_TYPICAL,0)>iCCI(NULL,0,20,PRICE_TYPICAL,0)) return(0);iCCIOnArray() – 基于数组计算CCI外汇MT4指标double iCCIOnArray(double array[], int total, int period, int shift)基于数值型数组中数据,计算CCI外汇MT4指标。不同于 iCCI() ,iCCIOnArray函数并不通过货币对名称、图表时段、请求价格的方式获取数据,而是要求价格数据必须事先准备好,再从左边到右边计算外汇MT4指标。为了能按照序列数组那样存取数组元素(即从右到左),你必须使用 ArraySetAsSeries 函数。
参数:
array[] - 需要计算数据的数组。total - 要参与计算的元素个数。0意味着使用整个数组。period - 计算的周期数。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
if(iCCIOnArray(ExtBuffer,total,12,0)>iCCI(NULL,0,20,PRICE_TYPICAL, 0)) return(0);iCustom() – 自定义外汇MT4指标double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)计算指定的自定义外汇MT4指标并返回它的值。自定义外汇MT4指标程序文件(*.EX4文件)需要编译;并且自定义外汇MT4指标程序文件必须放在 terminal_directory/experts/indicators 目录内。
参数:
symbol - 要计算外汇MT4指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。 name - 自定义外汇MT4指标编译过的程序名。... - 参数设置(如果需要)。传递的参数和他们的顺序必须与自定义外汇MT4指标外部参数声明的顺序和类型一致。mode - 外汇MT4指标线索引。可以从0到7;仁且必须与 SetIndexBuffer函数 使用的索引一致。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
double val=iCustom(NULL, 0, "示例Ind",13,1,0);iDeMarker() – DeMarker外汇MT4指标double iDeMarker(string symbol, int timeframe, int period, int shift)计算DeMarker外汇MT4指标。
参数:
symbol - 要计算外汇MT4指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。period - 计算的周期数。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
double val=iDeMarker(NULL, 0, 13, 1);iEnvelopes() – Envelopes包络线外汇MT4指标double iEnvelopes(string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, int applied_price, double deviation, int mode, int shift)计算Envelopes包络线外汇MT4指标。
参数:
symbol - 要计算外汇MT4指标数据的货币对名称。 NULL表示当前货币对。timeframe - 时间周期。 可以 时间周期列举 任意值。 0表示当前图表的时间周期。ma_period - MA计算的周期数。ma_method - MA方法。它可以是任意的 移动平均方法枚举值。ma_shift - MA偏移量。 applied_price - 应用的价格。它可以是 应用价格枚举 的任意值。deviation - 与主线的百分比偏差。 mode - 外汇MT4指标线的标识符。可以是 外汇MT4指标线标示符 里对应值。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
double val=iEnvelopes(NULL, 0, 13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,0);iEnvelopesOnArray() – 基于数组计算包络线外汇MT4指标double iEnvelopesOnArray(double array[], int total, int ma_period, int ma_method, int ma_shift, double deviation, int mode, int shift)基于数值型数组中数据,计算Envelopes包络线外汇MT4指标。不同于 iEnvelopes() ,iEnvelopesOnArray函数并不通过货币对名称、图表时段、请求价格的方式获取数据,而是要求价格数据必须事先准备好,再从左边到右边计算外汇MT4指标。为了能按照序列数组那样存取数组元素(即从右到左),你必须使用 ArraySetAsSeries 函数。
参数:
array[] - 需要计算数据的数组。total - 要参与计算的元素个数。0意味着使用整个数组。ma_period - MA计算的周期数。ma_method - MA方法。它可以是任意的 移动平均方法枚举值。ma_shift - MA偏移量。 deviation - 与主线的百分比偏差。 mode - 外汇MT4指标线的标识符。可以是 外汇MT4指标线标示符 里对应值。 shift - 从外汇MT4指标缓冲区中获取值的索引(相对当前柱子向前移动一定数量周期的偏移量)。 示例:
double val=iEnvelopesOnArray(ExtBuffer, 0, 13, MODE_SMA, 0.2, MODE_UPPER,0 );
大家在看了小编以上对"MQL4技术外汇MT4指标相关函数(二)"的介绍后应该都清楚了吧,希望对大家做单有所帮助。如果大家还想要下载更多有关"MQL4技术外汇MT4指标相关函数(二)"的相关EA源码,敬请关注汇探网下载。我们会持续更新交易系统,EA源码。 |