Dalam analisis teknikal, penggunaan gabungan penunjuk MACD + MA sangat biasa, dengan kombinasi penunjuk yang berbeza yang mempunyai titik operasi dan kaedah analisis yang berbeza, penggunaan gabungan penunjuk dapat meningkatkan ketepatan isyarat. Strategi ini adalah dengan membandingkan hubungan antara harga dan MA, kemudian mengukur percepatan pergerakan harga dengan penunjuk MACD, untuk menilai keadaan pasaran, membina strategi dagangan pilihan masa yang mudah.
(*backtest start: 2018-11-01 00:00:00 end: 2018-11-22 00:00:00 period: 1h exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}] *) // MACD calculation FASTLENGTH:=12; SLOWLENGTH:=26; MACDLENGTH:=9; // Length of MA L1:=50; L2:=120; // stop loss 止损 5% STOPLOSS:=5; //MACD MACDVALUE:=EMA(CLOSE,FASTLENGTH)-EMA(CLOSE,SLOWLENGTH); AVGMACD:=EMA(MACDVALUE,MACDLENGTH); MACDDIFF:=MACDVALUE-AVGMACD; //MA1、MA2 DMA1:=MA(C,L1); DMA2:=MA(C,L2); BUYCONDITION:=MACDVALUE>0 && DMA1>DMA2 && MACDDIFF>0 && C>DMA1 && REF(C,1)>REF(DMA1,1); SELLCONDITION:=MACDVALUE<0 && DMA1<DMA2 && MACDDIFF<0 && C<DMA1 && REF(C,1)<REF(DMA1,1); // 开仓条件 When to open position BKVOL=0 AND BUYCONDITION,BK; SETSIGPRICETYPE(BK,NEW_ORDER); SKVOL=0 AND SELLCONDITION,SK; SETSIGPRICETYPE(SK,NEW_ORDER); // 离场条件 When to close position BKVOL>0 AND (REF(MACDVALUE,1)<0 OR REF(DMA1,1)<REF(DMA2,1)),SP; SKVOL>0 AND (REF(MACDVALUE,1)>0 OR REF(DMA1,1)>REF(DMA2,1)),BP; // 启动止损 Start stop loss SKVOL>0 AND HIGH>=SKPRICE*(1+STOPLOSS*0.01),BP; BKVOL>0 AND LOW<=BKPRICE*(1-STOPLOSS*0.01),SP; AUTOFILTER;