- 精华
- 0
- 在线时间
- 26 小时
- UID
- 223934
- 积分
- 18
- 帖子
- 18
- 阅读权限
- 10
- 注册时间
- 2015-11-26
- 最后登录
- 2016-5-12
- 精华
- 0
- UID
- 223934
- 积分
- 18
- 帖子
- 18
- 主题
- 0
- 阅读权限
- 10
- 注册时间
- 2015-11-26
- 最后登录
- 2016-5-12
|
你好!请你把细节再确认下。
6月RSI是指RSI指标的参数是6吗?
你这个程序是加载在日K线上的吗?
如果是这样,你要的程序应该是下面的:
//------------------------------------------------------------------------
// 简称: tbforum_2
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
/* 策略思路:
向上突破日均线27或6月RSI小于等于20,买入;
向下突破日均线27,卖出。
*/
Params
Numeric Length(6) ;
Numeric malength(23);
Vars
NumericSeries NetChgAvg( 0 );
NumericSeries TotChgAvg( 0 );
Numeric SF( 0 );
Numeric Change( 0 );
Numeric ChgRatio( 0 ) ;
NumericSeries RSIValue;
NumericSeries mavalue;
Begin
//计算RSI指标
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 );
//计算均线指标
mavalue=Average(Close[1],23);
PlotNumeric("mavalue",mavalue);
//根据相应的条件,开平仓
If(MarketPosition==1 And Low<mavalue)
Sell(0,Min(Open,mavalue));
If(MarketPosition<>1 And High>mavalue And RSIValue[1]<20)
Buy(1,Max(open,mavalue));
End
|
|