Стратегия динамического скользящего среднего и пересечения MACD


Дата создания: 2024-02-06 14:29:23 Последнее изменение: 2024-02-06 14:29:23
Копировать: 0 Количество просмотров: 413
1
Подписаться
1166
Подписчики

Стратегия динамического скользящего среднего и пересечения MACD

Обзор

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

Стратегический принцип

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

  1. EMA средняя линия пересечения. С помощью скоростной линии EMA 3), медленной линии EMA 11 и медленной линии EMA 18 пересечение определяет тенденцию и служит в качестве входного и выходного сигнала.

  2. Показатель MACD и его нулевой перекрест. MACD состоит из дифференцированного значения ((DIFF) и DEA. DIFF представляет собой быструю линию EMA ((3) минус медленную линию EMA ((11)). DEA представляет собой EMA MACD ((27).

В зависимости от комбинации EMA-креста и MACD-креста нулевой оси, устанавливается три входных и два выходных шанса:

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

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

Стратегические преимущества

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

  2. Установка трёх опционов, двух ликвидационных опционов, увеличение частоты стратегических сделок, расширение прибыли.

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

  4. Логика стратегии понятна и понятна, поэтому ее легко дебютировать и оптимизировать.

Стратегический риск

  1. EMA-кросс и MACD-индикаторы приводят к некоторому количеству ошибочных сообщений, что может привести к ненужным потерям.

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

  3. Оптимизировать параметры очень сложно, а неправильная оптимизация может привести к пересчёту исторических данных.

  4. Необходимо учитывать влияние стоимости сделки.

Оценка риска:

  1. Разумная установка стоп-лосса, минимизация разовых потерь.

  2. надлежащая корректировка параметров, чтобы предотвратить перепалку.

  3. учитывать затраты, такие как снижение частоты сделок.

Направление оптимизации стратегии

  1. Замена других показателей испытаний: например, Брин-пояса, KDJ и т. д.

  2. Параметры оптимизации пересечения средней линии EMA: изменение параметров длины скоростной линии EMA и медленной линии EMA.

  3. Параметры оптимизации MACD: изменение длины DIFF и DEA MACD для расчета 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)