- 精华
- 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分钟的有很大的不同?
5分钟:
Params
Numeric N(30); //转换周期
Numeric M(6); //图像根数
Numeric Length(7); // 周期
Numeric BiasLength(7); // 价格偏移
Numeric SmaLength(12); // 价格偏移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,M*SmaLength))/AverageFC(nClose,M*SmaLength);
Commentary("BIAS = "+ Text(BIAS));
DIF = (TransMinsData(BIAS,N,0) - TransMinsData(BIAS,N,Length));
Commentary("DIF = "+ Text(DIF));
//DIF = (BIAS - TransMinsData(BIAS,N,Length));
DBCD = MySMA(DIF,M*BiasLength,1);
Commentary("DBCD = "+ Text(DBCD));
//DBCD = MySMA(DataConvert(DIF,"min",N,"Close"),M*BiasLength,1);
MM = AverageFC(DBCD,M*5);
Commentary("MM = "+ Text(MM));
A2 = AverageFC(nClose,M*24);
D2 = Atan((TransMinsData(A2,N,0)/TransMinData(A2,N,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
30分钟:
Params
Numeric Length(7); // 周期
Numeric BiasLength(7); // 价格偏移
Numeric SmaLength(12); // 价格偏移A
Vars
NumericSeries BIAS; //乖离变量
NumericSeries DIF; //偏移量变量
NumericSeries DBCD;
NumericSeries MM;
NumericSeries A2;
Numeric D2;
Begin
BIAS = (Close - AverageFC(Close,SmaLength))/AverageFC(Close,SmaLength);
Commentary("BIAS = "+ Text(BIAS));
DIF = (BIAS - BIAS[Length]);
Commentary("DIF = "+ Text(DIF));
DBCD = MySMA(DIF,BiasLength,1);
Commentary("DBCD = "+ Text(DBCD));
MM = AverageFC(DBCD,5);
Commentary("MM = "+ Text(MM));
A2 = AverageFC(Close,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
请问我哪写错了? |
|