Динамическая стратегия перекрестного использования EMA и MACD

Автор:Чао Чжан, Дата: 2024-02-06 14:29:23
Тэги:

img

Обзор

Эта стратегия определяет входы и выходы на основе перекрестных ситуаций быстрой линии EMA (3), медленной линии EMA (11) и более медленной линии EMA (18), в сочетании с перекрестными линиями нулевой линии MACD. Это динамическая стратегия, которая использует комбинацию двойных индикаторов EMA и MACD для принятия торговых решений.

Логика стратегии

Стратегия основывается на двух технических показателях:

  1. Для определения тренда и в качестве сигналов входа и выхода он использует перекресток быстрой EMA (3), медленной EMA (11) и более медленной EMA (18).

  2. Индикатор MACD и его кроссворд нулевой линии. MACD состоит из DIFF и DEA. DIFF построен на быстрой EMA (3) минус медленной EMA (11). DEA - это EMA (27) MACD. MACD>0 указывает на рост, а MACD<0 указывает на снижение. Кроссворд нулевой линии выступает в качестве сигнала входа и выхода.

Согласно комбинации кроссовера EMA и кроссовера нулевой линии MACD, существует 3 возможности входа и 2 возможности выхода:

  1. Первая длинная возможность возникает, когда MACD находится выше нулевой линии и имеет восходящий перекресток.
  2. Вторая длинная возможность возникает, когда быстрая EMA (3) пересекает медленную EMA (11).
  3. Третья длинная возможность с полной позицией возникает, когда быстрая EMA (3) пересекает более медленную EMA (18).
  4. Первый сигнал выхода появляется, когда быстрая EMA (3) пересекается ниже медленной EMA (11).
  5. Второй выходный сигнал происходит, когда MACD находится ниже нулевой линии и имеет нисходящий перекресток.

В целом, эта стратегия в полной мере использует преимущества двойной системы перекрестного использования EMA и индикатора MACD.

Преимущества стратегии

  1. Он использует преимущества как перекрестного показателя EMA, так и MACD, повышая точность с помощью подтверждения с двумя индикаторами.

  2. Существует 3 возможности длинного входа и 2 возможности выхода, увеличивая частоту торговли и потенциал прибыли.

  3. Большое пространство для оптимизации динамических параметров. Длины быстрой EMA, медленной EMA, нулевой линии EMA и MACD могут быть оптимизированы.

  4. Ясная логика позволяет легко отладки и оптимизации.

Риски стратегии

  1. Как кроссовер EMA, так и индикатор MACD имеют некоторые ложные сигналы, которые могут привести к ненужным потерям.

  2. Высокая частота торговли с небольшим размером стоп-лосса в каждой сделке, поэтому потери могут накапливаться.

  3. Трудности с оптимизацией параметров. Неправильная оптимизация может привести к перенастройке.

  4. Необходимо в полной мере учитывать влияние затрат на торговлю.

Для смягчения рисков:

  1. Установите правильный стоп-лосс, чтобы ограничить потери в одиночных сделках.

  2. Соответственно регулируйте параметры, чтобы избежать переустановки.

  3. Рассмотрим влияние затрат на торговлю, например, сокращение частоты торговли.

Руководство по оптимизации

  1. Тест-альтернативы, такие как полосы Боллинджера, KDJ и т.д.

  2. Оптимизировать параметры перекрестки EMA: изменение длины быстрой и медленной EMA.

  3. Оптимизировать параметры MACD: изменение длин DIFF и DEA для расчета EMA.

  4. Добавьте стратегии остановки потери: количество остановок торгов, временные остановки, остановки отслеживания и т.д.

  5. Корректировать частоту входа с учетом затрат на торговлю.

Резюме

Эта стратегия сочетает в себе двойную EMA кроссоверную систему и индикатор MACD для построения динамической параметровой стратегии с высокой частотой торговли и высокой рентабельностью. Кроме того, четкая логика позволяет легко понять и оптимизировать.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD+EMA crossovers Strategy custom",initial_capital=10000,max_bars_back=150,commission_type=strategy.commission.percent , commission_value=0.1, shorttitle="MACD+EMAcross",pyramiding = 10,default_qty_type=strategy.percent_of_equity,default_qty_value=33,overlay=false)

short = ema(close,3)
long = ema(close, 11)
long2 = ema(close, 18)
//plot(short, color = red, linewidth = 4)
//plot(long, color = blue, linewidth = 4)
//plot(long2, color = green, linewidth = 4)

isCross1 = crossover(short, long)
isCross2 = crossover(short, long2)
isCrossSell = crossunder(short, long)
//isCross3 = crossover(long, long2)

//plotshape(isCross1 and not isCross2, color=lime, style=shape.arrowup, text="1st in",size = size.tiny, location = location.belowbar)
//plotshape(isCross2 , color=lime, style=shape.arrowup, text="2nd in",size = size.tiny, location = location.belowbar)

//plotshape(isCross3 , color=lime, style=shape.arrowdown, text="All in",size = size.normal, location = location.abovebar)

//plotshape(isCrossSell , color=red, style=shape.arrowdown, text="SELL",size = size.small, location = location.abovebar)

fastLength = input(3)
slowlength = input(11)
MACDLength = input(27)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength) //signal
delta = MACD - aMACD // histograma

strategy.entry("MacdLE 1st in", strategy.long, comment="MacdLE 1st in",when=crossover(delta, 0))

strategy.entry("2nd in", strategy.long, comment="2nd in",when=isCross1)

strategy.entry("all in", strategy.long, comment="all in",when=isCross2)

strategy.close("2nd in",when=isCrossSell) 
strategy.close("all in",when=isCrossSell)
//strategy.close("2nd in",when=crossunder(delta, 0)) 
//strategy.close("all in",when=crossunder(delta, 0))
strategy.close("MacdLE 1st in",when=crossunder(delta, 0)) 
    
histColour = (delta > 0) ? green : (delta < 0) ? red :  #4169E1
    
plot(MACD,color=red,linewidth=2)
plot(aMACD,color=blue,linewidth=2)
plot(delta,style=histogram, color=histColour, linewidth=10)
plot(0,color=white)






Больше