- 精华
- 0
- 在线时间
- 28 小时
- UID
- 1870
- 积分
- 93
- 帖子
- 9
- 阅读权限
- 30
- 注册时间
- 2008-7-13
- 最后登录
- 2019-3-30
- 精华
- 0
- UID
- 1870
- 积分
- 93
- 帖子
- 9
- 主题
- 4
- 阅读权限
- 30
- 注册时间
- 2008-7-13
- 最后登录
- 2019-3-30
|
请教老师,我的指标哪里写的不对,没有信号
思路:我希望在5分钟周期图上模拟以下30分钟的指标
新建用户函数
Params
Numeric N(30); //转换周期
Numeric Length(1); // 周期
Numeric BiasLength(4); // 价格偏移
Numeric SmaLength(18); // 价格偏移A
Vars
NumericSeries nClose; //30分钟转换为5分钟收盘价
NumericSeries BIAS; //乖离变量
NumericSeries DIF; //偏移量变量
NumericSeries DBCD;
NumericSeries MM;
NumericSeries A2;
Numeric D2;
Begin
nClose = DataConvert(Close,"min",N,"Close");
BIAS = (nClose - AverageFC(nClose,N*SmaLength))/AverageFC(nClose,N*SmaLength);
DIF = (BIAS - BIAS[Length]);
DBCD = MySMA(DIF,N*BiasLength,N*1);
MM = AverageFC(DBCD,N*5);
A2 = AverageFC(nClose,N*24);
D2 = Atan((A2/A2[3]-1)*100)*57.2956;
If((Abs(D2)> 5) And CrossOver(DBCD,MM)){
Buy(1,Close);
}
If((Abs(D2)> 5) And CrossOver(MM,DBCD)){
SellShort(1,Close);
}
End
其中MySMA函数为用户函数
Params
NumericSeries Price(1);
Numeric Length(10);
Numeric Weight(1);
Vars
NumericSeries SMAValue;
Begin
If (SMAValue[1] == InvalidNumeric)
{
SMAValue = Summation(Price, Length)/Length;
}Else
{
SMAValue = (SMAValue[1]*(Length-Weight)+Price*Weight)/Length;
}
Return SMAValue;
End
请教老师我的这个问题在哪?我应该怎么修改?万分感谢 |
|