,欢迎光临!
加入收藏设为首页在线咨询
您当前位置:网站首页 >> 投资软件 >> MT4/MT5 >> MT4-MQL4 编程入门(第20节 技术指标调用)

MT4-MQL4 编程入门(第20节 技术指标调用)

2010-12-27 14:10:15 来源:《008财富网》 浏览:8968

免费QQ群号94337889( 外盘期货/恒指期货交流)

第二十节 技术指标调用 [Technical Indicator calls]

 

double iAC( string symbol, int timeframe, int shift) 计算 Bill Williams' Accelerator/Decelerator oscillator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 shift - 位移数 示例: double result=iAC(NULL, 0, 1);

 

double iAD( string symbol, int timeframe, int shift) 计算 Accumulation/Distribution indicator 的值 :: 输入参数 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 shift) 计算 Bill Williams' Alligator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 jaw_period - 颚线周期 jaw_shift - 颚线位移 teeth_period - 齿线周期 teeth_shift - 齿线位移 lips_period - 唇线周期 lips_shift - 唇线位移 ma_method - 移动平均线种类 applied_price - 应用价格类型 mode - 来源模式,MODE_GATORJAWMODE_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 symbol, int timeframe, int period, int applied_price, int mode, int shift) 计算 Movement directional index 的值 :: 输入参数 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 symbol, int timeframe, int period, int shift) 计算 Indicator of the average true range 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 shift - 位移数 if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0);

 

double iAO( string symbol, int timeframe, int shift) 计算 Bill Williams' Awesome oscillator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 shift - 位移数 double val=iAO(NULL, 0, 2);

 

double iBearsPower( string symbol, int timeframe, int period, int applied_price, int shift) 计算 Bears Power indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 applied_price - 应用价格类型 shift - 位移数 double val=iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);

 

double iBands( string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift) 计算 Bollinger bands indicator 的值 :: 输入参数 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 array[], int total, int period, double deviation, int bands_shift, int mode, int shift) 从数组中计算 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 symbol, int timeframe, int period, int applied_price, int shift) 计算 Bulls Power indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 applied_price - 应用价格类型 shift - 位移数 double val=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0); double iCCI( string symbol, int timeframe, int period, int applied_price, int shift) 计算 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 array[], int total, int period, int shift) 从数组中计算 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 symbol, int timeframe, string name, ... , int mode, int shift) 计算 自定义指标 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 name - 自定义指标名称 ... - 自定义指标参数 mode - 来源模式,参见指标线分类枚举 shift - 位移数 double val=iCustom(NULL, 0, "SampleInd",13,1,0);

 

double iDeMarker( string symbol, int timeframe, int period, int shift) 计算 DeMarker indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 shift - 位移数 double val=iDeMarker(NULL, 0, 13, 1);

 

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 indicator 的值 :: 输入参数 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 array[], int total, int ma_period, int ma_method, int ma_shift, double deviation, int mode, int shift) 从数组中计算 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 symbol, int timeframe, int period, int ma_method, int applied_price, int shift) 计算 Force index 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 ma_method - 移动平均线模式 applied_price - 应用价格类型 shift - 位移数 double val=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,0);

 

double iFractals( string symbol, int timeframe, int mode, int shift) 计算 Fractals 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 mode - 来源模式,参见指标线分类枚举 shift - 位移数 double val=iFractals(NULL, 0, MODE_UPPER,0);

 

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) 计算 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 symbol, int timeframe, int tenkan_sen, int kijun_sen, int senkou_span_b, int mode, int shift) 计算 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 symbol, int timeframe, int shift) 计算 Bill Williams Market Facilitation index 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 shift - 位移数 double val=iBWMFI(NULL, 0, 0);

 

double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift) 计算 Momentum indicator 的值 :: 输入参数 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 array[], int total, int period, int shift) 从数组中计算 Momentum indicator 的值 :: 输入参数 array[] - 数组数据 total - 总数据数量 period - 周期 shift - 位移数 if(iMomentumOnArray(mybuffer,100,12,0)>iMomentumOnArray(mubuffer,100,20,0)) return(0); double iMFI( string symbol, int timeframe, int period, int shift) 计算 Money flow index 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 shift - 位移数 if(iMFI(NULL,0,14,0)>iMFI(NULL,0,14,1)) return(0); double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift) 计算 Moving average indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 ma_shift - 移动平均线位移 ma_method - 移动平均线模式 applied_price - 应用价格类型 shift - 位移数 AlligatorJawsBuffer=iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i);

 

 double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift) 从数组中计算 Moving average indicator 的值 :: 输入参数 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 symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int shift) 计算 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 symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift) 计算 Moving averages convergence/divergence 的值 :: 输入参数 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 symbol, int timeframe, int applied_price, int shift) 计算 On Balance Volume indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 shift - 位移数 double val=iOBV(NULL, 0, PRICE_CLOSE, 1);

 

double iSAR( string symbol, int timeframe, double step, double maximum, int shift) 计算 On Balance Volume indicator 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 step - 步幅 maximum - 最大值 shift - 位移数 if(iSAR(NULL,0,0.02,0.2,0)>Close[0]) return(0);

 

double iRSI( string symbol, void timeframe, int period, int applied_price, int shift) 计算 Relative strength index 的值 :: 输入参数 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 array[], int total, int period, int shift) 从数组中计算 Relative strength index 的值 :: 输入参数 array[] - 数组数据 total - 总数据数量 period - 周期 shift - 位移数 if(iRSIOnBuffer(ExtBuffer,1000,14,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);

 

double iRVI( string symbol, int timeframe, int period, int mode, int shift) 计算 Relative Vigor index 的值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 period - 周期 mode - 来源模式,参见指标线分类枚举 shift - 位移数 double val=iRVI(NULL, 0, 10,MODE_MAIN,0);

 

double iStdDev( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, int applied_price, int shift) 计算 Standard Deviation indicator 的值 :: 输入参数 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 shift) 从数组中计算 Standard Deviation indicator 的值 :: 输入参数 array[] - 数组数据 total - 总数据数量 ma_period - 移动平均线周期 ma_method - 移动平均线模式 ma_shift - 移动平均线位移 shift - 位移数 double val=iStdDevOnArray(ExtBuffer,100,10,MODE_EMA,0,0);

 

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift) 计算 Stochastic oscillator 的值 :: 输入参数 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 symbol, int timeframe, int period, int shift) 计算 Larry William's percent range indicator 的值 :: 输入参数 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 symbol, int timeframe, datetime time, bool exact=false) 在制定图表中搜索数据 :: 输入参数 symbol - 通货标识 timeframe - 时间线 time - 时间 exact - 是否精确的 datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time); Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);

 

double iClose( string symbol, int timeframe, int shift) 返回制定图表的收盘价 :: 输入参数 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 symbol, int timeframe, int shift) 返回制定图表的最高价 :: 输入参数 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 symbol, int timeframe, int shift) 返回制定图表的最低价 :: 输入参数 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 symbol, int timeframe, int shift) 返回制定图表的开盘价 :: 输入参数 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 symbol, int timeframe, int shift) 返回制定图表的时间 :: 输入参数 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 symbol, int timeframe, int shift) 返回制定图表的成交量 :: 输入参数 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 Highest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0) 返回制定图表的某段数据的最高值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 type - 数据类型 count - 计算范围 start - 开始点 double val; // calculating the highest value in the range from 5 element to 25 element // indicator charts symbol and indicator charts time frame val=High[Highest(NULL,0,MODE_HIGH,20,4)];

 

int Lowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0) 返回制定图表的某段数据的最高值 :: 输入参数 symbol - 通货标识 timeframe - 时间线 type - 数据类型 count - 计算范围 start - 开始点 double val=Low[Lowest(NULL,0,MODE_LOW,10,10)];

发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
  • 联系邮箱:service#918008.com(请把#换成@) - 在线QQ:77446881
  • 外盘期货|外盘开户|恒指期货|恒指期货期权开户|外盘期货开户|外盘期权开户|新华富时A50指数开户|恒指开户|恒指配资|恒指软件|
  • 外盘配资|外盘期货配资|外汇软件|恒指期权开户|美原油软件|恒指喊单软件|期货配资|恒指分析软件
  • 苏ICP备17053501号 Copyright 2018, 版权所有 www.918008.com.
在线客服 客服软件
在线客服系统

免责申明:本网站刊载的内容,部份搜集自网络,供大家免费浏览,所有相关权益归原作者所有,《008财富网》无意侵犯任何人、任何机构的权益!如果其中有您的文章不想被我们转载,请告诉我们!本网站刊载的所有内容,不构成投资建议,仅供参考,风险自负。任何投机交易在具体高度收益性的同时也具有高度风险性,通常只适合于能够承担相应风险的人士。鉴于存在的这些风险,您应该在完全了解所涉及交易的性质以及自身面临风险的程度后才进行交易。投资有风险,入市须谨慎!所有解释权归《008财富网》所有。