ssj918918 发表于 2014-1-1 14:12:42

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则说明行情继续下行,发出卖出信号。

liuzifanok 发表于 2014-5-7 20:37:51

看帖回帖 谢谢 很简单

mariojiangxy 发表于 2014-5-8 14:05:08

:)

wjim007 发表于 2018-10-7 10:26:31

入门级策略,是炒股思维,不是期货思维。最起码dif<0,dea<0时,金叉不开多单,但死叉应该开空单。

z3333h 发表于 2019-2-23 10:43:49

多谢

dltpwyy 发表于 2019-4-6 01:20:21

程序有错,不发生一手交易。我改了一下,能运行但效果不好。
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

dltpwyy 发表于 2019-4-6 01:22:39

发错了,这是改后的。
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

baby9112 发表于 2019-4-15 22:53:07

偷价还不赚钱的,I服YOU

jiaoyixiaobing 发表于 2019-6-4 15:53:21

{:4_205:}
页: [1]
查看完整版本: MACD交易系统