技术指标相关函数
double iAC( string 币, int 框, int 第)
加减速震荡
:: 输入参数
symbol - 通货标识
timeframe - 时间周期
shift - 位移数
示例:
double result=iAC(NULL, 0, 1);
double iAD(string 币, int 框, int 第)
离散指标
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
示例:
double result=iAD(NULL, 0, 1);
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 第 )
鳄鱼指标
:: 输入参数
symbol - 通货标识
timeframe - 时间框架
jaw_period -下 颚线平均周期数(绿线)
jaw_shift - 颚线位移
teeth_period - 齿线平均周期数(红线)
teeth_shift - 齿线位移
lips_period - 唇线平均周期数 (绿线)
lips_shift - 唇线位移
ma_method - 移动平均线的类型
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);
double iADX( string 币 , int 框, int 周, int 价类, int 均类, int 第)
ADX
:: 输入参数
symbol - 通货标识
timeframe - 时间框
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);
double iATR( string 币, int 框, int 周, int 第)
ATR值
:: 输入参数
symbol - 通货标识
timeframe - 时间框
period - 周期
shift - 位移数
示例:
if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0);
double iAO( string 币, int 框, int 第 )
计算 Bill Williams' Awesome oscillator 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
示例:
double val=iAO(NULL, 0, 2);
double iBearsPower( string 币, int 框, int 周, int 价类, int 第 )
熊力值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
applied_price - 应用价格类型
shift - 位移数
示例:
double val= iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
double iBands( string 币, int 框, int 周, int 偏差, int 位移, int 价类, int 均类, int 第 )
布林值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
deviation - 背离
bands_shift - Bands位移
applied_price - 应用价格类型
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Low[0]) return(0);
double iBandsOnArray( double 数据组, int 计算数量, int 滑周, double 偏差率, int 位移, int 均类, int 第 )
从数组中计算 Bollinger bands indicator 的值
:: 输入参数
array[] - 数组数据
total - 总数据数量
period - 周期
deviation - 背离
bands_shift - Bands位移
applied_price - 应用价格类型
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Low[0]) return(0);
double iBullsPower( string 币, int 框, int 周, int 用价, int 第 )
牛力值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
applied_price - 应用价格类型
shift - 位移数
示例:
double val=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0);
double iCCI( string 币, int 框, int 周, int 用价, int 第)
计算 Commodity channel index 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
applied_price - 应用价格类型
shift - 位移数
示例:
if(iCCI(NULL,0,12,0)>iCCI(NULL,0,20,0)) return(0);
double iCCIOnArray( double 数据组, int 计算总数, int 滑周, int 移 )
从数组中计算 Commodity channel index 的值
:: 输入参数
array[] - 数组数据
total - 总数据数量
period - 周期
shift - 位移数
示例:
if(iCCIOnArray(ExtBuffer,total,12,0)>iCCI(NULL,0,20,PRICE_OPEN, 0)) return(0);
double iCustom( string 币, int 框, string 名,参 ... , int 索引, int 第 )
引用自定义指标 的值
:: 输入参数
symbol -货币对名称(若 NULL表示当前)
timeframe - 时间框
name - 自定义指标的名称
... - 自定义指标参数
mode -索引行,即 来源模式(0~8)
shift - 位移数 即从显示缓冲采取的值的索引
示例:
double val=iCustom(NULL, 0, "SampleInd",13,1,0);
double iDeMarker(string 币, int 框, int 周, int 第)
DeM值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
shift - 位移数
示例:
double val=iDeMarker(NULL, 0, 13, 1);
double iEnvelopes(string 币, int 框, int 周, int 均类, int 均移, int 用价, double 偏率, int 均类, int 第)
通道值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
ma_period - 移动平均线周期
ma_method - 移动平均线模式
ma_shift - 移动平均线位移
applied_price - 应用价格类型
deviation - 背离
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double val=iEnvelopes(NULL, 0, 13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,0);
double iEnvelopesOnArray( double 数据组, int t计算总数, int 滑周, int 均类, int 均移, double 偏差率, int mode, int 第)
从数组中计算 Envelopes indicator 的值
:: 输入参数
array[] - 数组数据
total - 总数据数量
ma_period - 移动平均线周期
ma_method - 移动平均线模式
ma_shift - 移动平均线位移
deviation - 背离
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double val=iEnvelopesOnArray(ExtBuffer, 0, 13, MODE_SMA, 0.2, MODE_UPPER,0 );
double iForce( string 币, int 框, int 周, int 均类, int 用价, int 第)
强力值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
ma_method - 移动平均线模式
applied_price - 应用价格类型
shift - 位移数
示例:
double val=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,0);
double iFractals(string 币, int 框, int 均类, int 移 )
分形值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double val=iFractals(NULL, 0, MODE_UPPER,0);
double iGator( string 币, int 框, 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 第)
计算 Fractals 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
jaw_period - 颚线周期
jaw_shift - 颚线位移
teeth_period - 齿线周期
teeth_shift - 齿线位移
lips_period - 唇线周期
lips_shift - 唇线位移
ma_method - 移动平均线种类
applied_price - 应用价格类型
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double jaw_val=iGator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_UPPER, 1);
double iIchimoku( string 币, int 框, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int 第)
计算 Ichimoku Kinko Hyo 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
tenkan_sen - 转换线
jkijun_sen - 基准线
senkou_span_b - 参考范围b
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double tenkan_sen=iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);
double iBWMFI(string 币, int 框, int 第)
计算 Bill Williams Market Facilitation index 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
shift - 位移数
示例:
double val=iBWMFI(NULL, 0, 0);
double iMomentum( string 币, int 框, int 周, int 用价, int 第)
Mom值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
applied_price - 应用价格类型
shift - 位移数
示例:
if(iMomentum(NULL,0,12,PRICE_CLOSE,0)>iMomentum(NULL,0,20,PRICE_CLOSE,0)) return(0);
double iMomentumOnArray( double 数据组, int 计算总数, int 滑周, int 第)
从数组中计算 Momentum indicator 的值
:: 输入参数
array[] - 数组数据
total - 总数据数量
period - 周期
shift - 位移数
示例:
if(iMomentumOnArray(mybuffer,100,12,0)>iMomentumOnArray(mubuffer,100,20,0)) return(0);
double iMFI( string 币, int 框, int 周, int 第)
计算 Money flow index 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
shift - 位移数
示例:
if(iMFI(NULL,0,14,0)>iMFI(NULL,0,14,1)) return(0);
double iMA( string 币, int 框, int 周, int 均移, int 均类, int 用价, int 第)
均线值
:: 输入参数
symbol - 通货标识
timeframe - 时间框
period - 周期数
ma_shift - 移动平均线位移
ma_method - 移动平均线模式
applied_price - 应用价格类型
shift - 位移数
示例:
AlligatorJawsBuffer[i]=iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i);
均线再钝化写法
for(int i=1; i<=周期; i++){
iMa= 2*iMA(NULL, 0, 周期/2, 0, MODE_SMA, PRICE_CLOSE, i)-iMA(NULL, 0, 周期, 0, MODE_SMA, PRICE_CLOSE, i);
Ma累和 += iMa;
}
再滑Ma= Ma累和/周期;
double iMAOnArray( double 均组名, int 棒数, int 滑周 , int 均移, int 均类, int 第)
均线再滑值
:: 输入参数
array[] - 数组数据
total - 总数据数量
period - 周期
ma_shift - 移动平均线位移
ma_method - 移动平均线模式
shift - 位移数
示例:
double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
//----
if(maprev=macurrentslow)
Alert("crossing up");
double iOsMA( string 币, int 框, int 快周, int 慢周, int 信周, int 用价, int 第)
计算 Moving Average of Oscillator 的值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
fast_ema_period - 快均线周期
slow_ema_period - 慢均线周期
signal_period - 信号周期
applied_price - 应用价格类型
shift - 位移数
示例:
if(iOsMA(NULL,0,12,26,9,PRICE_OPEN,1)>iOsMA(NULL,0,12,26,9,PRICE_OPEN,0)) return(0);
double iMACD( string 币, int 框, int 快周, int 慢周, int 信周, int 用价, int 均类, int 第)
Macd值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
fast_ema_period - 快均线周期
slow_ema_period - 慢均线周期
signal_period - 信号周期
applied_price - 应用价格类型
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)) return(0);
double iOBV( string 币, int 框, int applied_price, int 第)
OBV值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
shift - 位移数
double val=iOBV(NULL, 0, PRICE_CLOSE, 1);
double iSAR( string 币, int 框, double 步幅, double 极限, int 第)
SAR值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
step - 步幅
maximum - 最大值
shift - 位移数
示例:
if(iSAR(NULL,0,0.02,0.2,0)>Close[0]) return(0);
double iRSI( string 币, int 框, int 周, int 价类, int 第)
RSI值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
applied_price - 应用价格类型
shift - 位移数
示例:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
double iRSIOnArray( double 数组名, int 计算总数, int 滑周, int 第)
RSI再滑值
:: 输入参数
array[] - 数组数据
total - 总数据数量
period - 周期
shift - 位移数
示例:
if(iRSIOnBuffer(ExtBuffer,1000,14,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);
double iRVI( string 币, int 框, int 周, int 均类, int 第)
RVI值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
double val=iRVI(NULL, 0, 10,MODE_MAIN,0);
double iStdDev( string 币, int 框, int 均周, int 均类, int 均移, int 用价, int 第)
标偏值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
ma_period - 移动平均线周期
ma_method - 移动平均线模式
ma_shift - 移动平均线位移
applied_price - 应用价格类型
shift - 位移数
示例:
double val=iStdDev(NULL,0,10,MODE_EMA,0,PRICE_CLOSE,0);
double iStdDevOnArray( double array[], int total, int ma_period, int ma_method, int ma_shift, int 第)
标偏再滑值
:: 输入参数
array[] - 数组数据
total - 总数据数量
ma_period - 移动平均线周期
ma_method - 移动平均线模式
ma_shift - 移动平均线位移
shift - 位移数
示例:
double val=iStdDevOnArray(ExtBuffer,100,10,MODE_EMA,0,0);
double iStochastic( string 币, int 框, int K周, int D周, int 慢周, int 均类, int 用价, int 均类, int 第)
KD值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
%Kperiod - %K线周期
%Dperiod - %D线周期
slowing - 减速量
method - 移动平均线种类
price_field - 价格领域参数: 0 - Low/High or 1 - Close/Close.
mode - 来源模式,参见指标线分类枚举
shift - 位移数
示例:
if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0))
return(0);
double iWPR( string 币, int 框, int 周, int 第)
威廉值
:: 输入参数
symbol - 通货标识
timeframe - 时间线
period - 周期
shift - 位移数
示例:
if(iWPR(NULL,0,14,0)>iWPR(NULL,0,14,1)) return(0);
int iBars( string symbol, int timeframe)
返回制定图表的数据数
:: 输入参数
symbol - 通货标识
timeframe - 时间线
Print("Bar count on the 'EUROUSD' symbol with PERIOD_H1 is",iBars("EUROUSD",PERIOD_H1));
跟价格相关的函数
int iBarShift( string 币, int 框, datetime 指定秒时, bool exact=false)
在 指定 图表中搜索数据的棒时
:: 输入参数:
symbol - 通货标识
timeframe - 时间框
time - 指定的时间点(相对K线开盘的时间)
exact - 是否要求精确 (false-返回最近的柱子,true-返回-1。)
示例:
datetime 指定时间= D'2004.03.21 12:00';
int shift= iBarShift("EUROUSD",PERIOD_M1, 指定时间 );
Print("指定时间的K线开盘时间点为 ",TimeToStr(指定时间)," 棒时在 ",shift);
double iClose(string 币, int 框, int 第)
指定币在指定时框的收盘价
:: 输入参数
symbol - 通货标识
timeframe - 时间线
shift - 位移数
示例:
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iHigh(string 币, int 框, int 第)
指定时框的最高价
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iLow(string 币, int 框, int 第)
指定时框的最低价
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
示例:
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iOpen( string 币, int 框, int 第)
指定时框的开盘价
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
示例:
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
datetime iTime( string 币, int 框, int 移 )
指定时框的时间
:: 输入参数
symbol - 通货标识
timeframe - 时间框
shift - 位移数
示例:
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iVolume(string 币, int 框, int 第)
指定时框的成交量
:: 输入参数
symbol - 通货标识
timeframe - 时间线
shift - 位移数
示例:
Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
int iHighest( string 币, int 框, int 数据价, int 跨期=WHOLE_ARRAY, int 始棒 =0)
指定时框的某区间内的某数据的最高值的棒时位置
:: 输入参数
symbol - 通货标识
timeframe - 时间框
type - 数据类型,(须为开 高 低 收 量 序列数组中的一个指定数据类)
count - 始棒向左的区间总数
start - 从第几根开始的起点
示例:
double val;
//--当前币当前图表中,从第4根到前20根K线区间最高价
val= High[iHighest(NULL,0,MODE_HIGH,20,4)];
int iLowest( string 币, int 框, int 用价, int 跨期=WHOLE_ARRAY, #int 始棒=0)
指定图表的某区间的数据的最低价的棒时位置
:: 输入参数
symbol - 通货标识
timeframe - 时间线
type - 数据类型
count - 始棒向左的区间数
start - 开始点
示例:
double val= Low[iLowest(NULL,0,MODE_LOW,10,10)];