- 精华
- 0
- 在线时间
- 96 小时
- UID
- 66209
- 积分
- 128
- 帖子
- 78
- 阅读权限
- 40
- 注册时间
- 2011-9-18
- 最后登录
- 2020-12-20
- 精华
- 0
- UID
- 66209
- 积分
- 128
- 帖子
- 78
- 主题
- 19
- 阅读权限
- 40
- 注册时间
- 2011-9-18
- 最后登录
- 2020-12-20
|
自己写了……这样编对不对?
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue1;
NumericSeries MACDValue3;
NumericSeries MACDValue5;
NumericSeries MACDValue15;
NumericSeries MACDValue30;
Numeric AvgMACD1;
Numeric AvgMACD3;
Numeric AvgMACD5;
Numeric AvgMACD15;
Numeric AvgMACD30;
Numeric MACDDiff1;
Numeric MACDDiff3;
Numeric MACDDiff5;
Numeric MACDDiff15;
Numeric MACDDiff30;
BoolSeries LongEntryCon;
BoolSeries ShortEntryCon;
BoolSeries LongExitCon;
BoolSeries ShortExitCon;
Begin
MACDValue1 = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );
AvgMACD1 = XAverage(MACDValue1,MACDLength);
MACDDiff1 = MACDValue1 - AvgMACD1;
MACDValue3 = MinsXAverage(3, Close, FastLength ) - MinsXAverage(3, Close, SlowLength );
AvgMACD3 = MinsXAverage(3,MACDValue3,MACDLength);
MACDDiff3 = MACDValue3 - AvgMACD3;
MACDValue5 = MinsXAverage(5, Close, FastLength ) - MinsXAverage(5, Close, SlowLength );
AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
MACDDiff5 = MACDValue5 - AvgMACD5;
MACDValue15 = MinsXAverage(15, Close, FastLength ) - MinsXAverage(15, Close, SlowLength );
AvgMACD15 = MinsXAverage(15,MACDValue15,MACDLength);
MACDDiff15 = MACDValue15 - AvgMACD15;
MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );
AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
MACDDiff30 = MACDValue30 - AvgMACD30;
LongEntryCon = MACDDiff1 > 0 && MACDDiff3 > 0 && MACDDiff5 > 0 && MACDDiff15 > 0 && MACDDiff30 > 0;
ShortEntryCon = MACDDiff1 < 0 && MACDDiff3 < 0 && MACDDiff5 < 0 && MACDDiff15 < 0 && MACDDiff30 < 0;
LongExitCon = MACDDiff1 < 0;
ShortExitCon = MACDDiff1 > 0;
Commentary("MACDDiff1="+Text(MACDDiff1));
Commentary("MACDDiff3="+Text(MACDDiff3));
Commentary("MACDDiff5="+Text(MACDDiff5));
Commentary("MACDDiff15="+Text(MACDDiff15));
Commentary("MACDDiff30="+Text(MACDDiff30));
If(MarketPosition == 0)
{
If(LongEntryCon[1])
{
Buy(1,Open);
}Else if(ShortEntryCon[1])
{
SellShort(1,Open);
}
}Else If(MarketPosition == 1 && LongExitCon[1])
{
Sell(1,Open);
}Else if(MarketPosition == -1 && ShortExitCon[1])
{
BuyToCover(1,Open);
}
If(Time >= 0.1459)
{
Sell(1,Open);
BuyToCover(1,Open);
}
End
|
|