- 精华
- 3
- 在线时间
- 12229 小时
- UID
- 5
- 积分
- 26584
- 帖子
- 12686
- 阅读权限
- 200
- 注册时间
- 2007-7-20
- 最后登录
- 2021-11-3
- 精华
- 3
- UID
- 5
- 积分
- 26584
- 帖子
- 12686
- 主题
- 49
- 阅读权限
- 200
- 注册时间
- 2007-7-20
- 最后登录
- 2021-11-3
|
将原代码中的RSIValue声明为序列变量,然后求RSIValue[1].- Params
- Numeric Length(14) ;
- Numeric OverSold(30) ;
- Numeric OverBought(70) ;
- Vars
- NumericSeries NetChgAvg( 0 );
- NumericSeries TotChgAvg( 0 );
- Numeric SF( 0 );
- Numeric Change( 0 );
- Numeric ChgRatio( 0 ) ;
- NumericSeries RSIValue;
- Begin
- If(CurrentBar <= Length - 1)
- {
- NetChgAvg = ( Close - Close[Length] ) / Length ;
- TotChgAvg = Average( Abs( Close - Close[1] ), Length ) ;
- }Else
- {
- SF = 1/Length;
- Change = Close - Close[1] ;
- NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
- TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;
- }
-
- If( TotChgAvg <> 0 )
- {
- ChgRatio = NetChgAvg / TotChgAvg;
- }else
- {
- ChgRatio = 0 ;
- }
- RSIValue = 50 * ( ChgRatio + 1 );
- PlotNumeric("RSI",RSIValue[1]);
- PlotNumeric("超买",OverBought);
- PlotNumeric("超卖",OverSold);
- End
复制代码 |
|