MACD交易系统
MACD交易系统Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
NumericSeries AvgMACD;
NumericSeries MACDDiff;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);//DEA
MACDDiff = MACDValue - AvgMACD;
If(MACDDiff>0 && AvgMACD>0 && CrossOver(MACDValue,AvgMACD) && MarketPosition!=1)
{
Buy(1,High);
}
Else If(MACDDiff>0 && AvgMACD>0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition==1)
{
sell(0,low);
}
If(MACDDiff<0 && AvgMACD<0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition!=-1)
{
SellShort(1,Low);
}
Else If(MACDDiff<0 && AvgMACD<0 && CrossOver(MACDValue,AvgMACD) && MarketPosition==-1)
{
buytocover(0,high);
}
End
1.DIF〉0且DEA〉0时,大盘处于牛市行情。DIF向上突破DEA说明上涨启动,发出买入信号,向下突破DEA则说明行情回落,发出卖出信号。
2.DIF〈0且DEA〈0时,大盘属于调整市行情,此时操作宜慎重。DIF向上突破DEA只能认为是反弹行情,向下突破DEA则说明行情继续下行,发出卖出信号。 看帖回帖 谢谢 很简单 :) 入门级策略,是炒股思维,不是期货思维。最起码dif<0,dea<0时,金叉不开多单,但死叉应该开空单。 多谢 程序有错,不发生一手交易。我改了一下,能运行但效果不好。
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
NumericSeries AvgMACD;
NumericSeries MACDDiff;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);//DEA
MACDDiff = MACDValue - AvgMACD;
If(MACDDiff>0 && AvgMACD>0 && CrossOver(MACDValue,AvgMACD) && MarketPosition!=1)
{
Buy(1,High);
}
Else If(MACDDiff>0 && AvgMACD>0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition==1)
{
sell(0,low);
}
If(MACDDiff<0 && AvgMACD<0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition!=-1)
{
SellShort(1,Low);
}
Else If(MACDDiff<0 && AvgMACD<0 && CrossOver(MACDValue,AvgMACD) && MarketPosition==-1)
{
buytocover(0,high);
}
End 发错了,这是改后的。
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
NumericSeries AvgMACD;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);//DEA
If(AvgMACD>0 && CrossOver(MACDValue,AvgMACD) && MarketPosition!=1)
{
Buy(1,High);
}
If(AvgMACD>0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition==1)
{
sell(0,low);
}
If(AvgMACD<0 && CrossUnder(MACDValue,AvgMACD) && MarketPosition!=-1)
{
SellShort(1,Low);
}
If(AvgMACD<0 && CrossOver(MACDValue,AvgMACD) && MarketPosition==-1)
{
buytocover(0,high);
}
End 偷价还不赚钱的,I服YOU {:4_205:}
页:
[1]