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);
來源:外匯邦
評論前必須登錄!
立即登錄 注冊