诚信为本
量力而为
当前位置:ea编程网 EA知识 正文

RSI指标编程数据的获取

RSI 是 Relative Strength Index 的缩写,中文译为相对强弱指标/指数,它是根据一定时期以内指数上涨的点数和涨跌点数汇总之后的比率来绘制的一种技术曲线。

RSI指标也是MT4自带的技术指标之一,在mt4上方菜单栏依次点击-插入-技术指标-震荡指标-Relative Strength Index,并在出来的指标属性框中设置好相关参数后,点“确定”即可将RSI插入到当前图表中。如下图所示:

RSI指标编程数据

RSI 指标的指标线相对来说比较简单,就一条RSI曲线,其中的水平位是人为定义的,水平位的值根据需要设置就可以,不需要另行获取。RSI曲线的数值用iRSI()函数获取,iRSI()函数结构如下:

double  iRSI( 
   string       symbol,           // 交易品种名称
   int          timeframe,        // 图表时间周期
   int          period,           // RSI时间周期
   int          applied_price,    // 价格应用
   int          shift             // 指标索引/序号
   );

iRSI()函数的各参数说明:

  • symbol,交易品种名称,当前窗口货币对为 Symbol(),要自行定义参数,可以参考 input string symname = “XAUUSD “; 之类。
  • timeframe,图表周期,指一分钟M1到月线MN1共9个图表周期。要单独定义参数,可以参考用 int 或者 ENUM_TIMEFRAMES,如:input ENUM_TIMEFRAMES Period_x = PERIOD_CURRENT; 0 和 PERIOD_CURRENT 都代表当前图表时间。
  • period,RSI时间周期参数,默认14,要自行定义参数,用 int 就可以,如 input int rsi_period = 14;。
  • applied_price,价格类型,指收盘价、最高价、最低价等。默认用的是收盘价PRICE_CLOSE,如果需要自行定义,可以用 int 或 ENUM_APPLIED_PRICE 来定义参数,如:input ENUM_APPLIED_PRICE ma_Applied_Price = PRICE_CLOSE;之类。
  • shift,获取对应指标线的索引/序号,0指当前最新K线所对应的值,然后从右往左分别是1、2、3、4…..,这种规则排序。就拿MACD柱子来说,0就是获取最右侧的第一个柱子的值,1就是获取第二个柱子的值,类推。

获取当前图表中最新K线,也就是0号K线对应的RSI曲线值,或者说RSI最新值,参考代码:

double rsi_0 = iRSI(Symbol(),0,14,PRICE_CLOSE,0);//最新0号K线对应的RSI值

跨图表获取黄金XAUUSD30分钟图表中RSI曲线第二个单位的值,参考代码:

double XAUUSD_rsi_1 = iRSI("XAUUSD",PERIOD_M30,14,PRICE_CLOSE,1);//填充相应参量即可

总的来说,RSI指标数据的获取,不是很复杂,用iRSI()函数获取曲线值就可以,如果是跨图表、多货币策略,根据需要填充iRSI()函数的参量就可以。RSI的主要策略是比较RSI曲线值和定义的水平位大小,或者比较前后RSI曲线的大小来定义RSI上升或下降状态。

未经允许不得转载:ea编程网 » RSI指标编程数据的获取