开拓者期货期权程序化系统交易论坛

标题: rsi改良 请版主编译为TB的 [打印本页]

作者: guidaon    时间: 2007-9-6 13:39:33     标题: rsi改良 请版主编译为TB的

LC:=MA(CLOSE,N1);
RSI:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;



n1=14
作者: nopain    时间: 2007-9-6 15:19:46

原帖由 guidaon 于 2007-9-6 13:39 发表
LC:=MA(CLOSE,N1);
RSI:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;



n1=14



前几天正好写过一个SMA的函数,代码如下:
  1. Params
  2.         NumericSeries Price(1);  
  3.         Numeric Length(10);
  4.         Numeric Weight(1);
  5. Vars
  6.         NumericSeries SMAValue;
  7. Begin
  8.         If ( CurrentBar < Length || SMAValue[1] == InvalidNumeric)
  9.         {
  10.                 SMAValue = Summation(Price, Length)/Length;
  11.         }Else
  12.         {
  13.                 SMAValue = (SMAValue[1]*(Length-Weight)+Price*Weight)/Length;
  14.         }
  15.         Return SMAValue;
  16. End
复制代码


假设新建一个指标,名字为RSIEx:
  1. Params
  2.         Numeric Length(14);
  3.         Numeric OverSold(30) ;
  4.         Numeric OverBought(70) ;
  5. Vars
  6.         Numeric AvgClose;
  7.         NumericSeries Value1;
  8.         NumericSeries Value2;
  9.         Numeric RSIValue;
  10. Begin
  11.         AvgClose = AverageFC(Close,Length);
  12.         Value1 = max(Close - AvgClose,0);
  13.         Value2 = Abs(Close - AvgClose);
  14.         RSIValue = SMA(Value1,Length,1)/SMA(Value2,Length,1) * 100;
  15.         PlotNumeric("RSI",RSIValue);
  16.         PlotNumeric("超买",OverBought);
  17.         PlotNumeric("超卖",OverSold);
  18. End
复制代码


效果如下,感觉指示还不错!
[attach]235[/attach]
作者: guidaon    时间: 2007-9-6 16:32:05

看版主的图 不错

现在无法登录服务器  做不了
作者: nkwang    时间: 2007-9-9 21:39:27     标题: 回复 #2 nopain 的帖子

自己正要找这个,谢谢了
作者: guidaon    时间: 2007-9-12 16:36:50

今天终于有时间做这个公式




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2