В процессе загрузки ресурсов... загрузка...

Стратегия сочетания индикаторов MACD+MA

Автор:Нуль, Дата: 2018-11-22 19:51:09
Тэги:М.А.MACDMyLanguage

Индикатор MA является сокращением от английского слова ((движущийся средний) и называется индикатором скользящей средней. Движущийся средний ((MA) имеет тенденционную характеристику, которая является относительно стабильной, в отличие от линии K дня, которая будет расти и падать. Чем дольше скользящий средний, тем более стабильная производительность. Не легко вверх и вниз, вы должны ждать истинной ясности тренда цен на акции.

В этом выпуске мы делимся стратегией комбинации индекса MACD + MA. В техническом анализе комбинация индикаторов очень распространена. Различные индикаторы имеют разные точки работы и методы анализа. Комбинация индикаторов может повысить точность сигнала. Стратегия заключается в сравнении отношения между ценой и MA, а затем измерении ускорения движения цены по индексу MACD для оценки состояния рынка и построения простой стратегии торговли по срокам.


(*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;

Связанные

Больше