Стратегия определяет вход и выход, рассчитывая пересечение быстрой линии EMA (3), медленной линии EMA (11) и медленной линии EMA (18) в сочетании с нулевым пересечением MACD. Динамическая стратегия, использующая двойные показатели EMA и MACD для принятия торговых решений.
Стратегия основана на двух показателях технического анализа:
EMA средняя линия пересечения. С помощью скоростной линии EMA 3), медленной линии EMA 11 и медленной линии EMA 18 пересечение определяет тенденцию и служит в качестве входного и выходного сигнала.
Показатель MACD и его нулевой перекрест. MACD состоит из дифференцированного значения ((DIFF) и DEA. DIFF представляет собой быструю линию EMA ((3) минус медленную линию EMA ((11)). DEA представляет собой EMA MACD ((27).
В зависимости от комбинации EMA-креста и MACD-креста нулевой оси, устанавливается три входных и два выходных шанса:
В целом, стратегия сочетает в себе двойную систему перекрестных EMA и MACD показателей, что позволяет повысить прибыльность стратегии путем динамической корректировки параметров средней линии и MACD.
Использование преимуществ среднелинейного скрещивания EMA и MACD для повышения точности.
Установка трёх опционов, двух ликвидационных опционов, увеличение частоты стратегических сделок, расширение прибыли.
Оптимизация динамических параметров имеет большое пространство. Оптимизация скоростной EMA, медленной EMA, нулевой оси EMA и длины MACD.
Логика стратегии понятна и понятна, поэтому ее легко дебютировать и оптимизировать.
EMA-кросс и MACD-индикаторы приводят к некоторому количеству ошибочных сообщений, что может привести к ненужным потерям.
Высокая частота торговли, небольшой размер стоп-лосса, риск накопления убытков.
Оптимизировать параметры очень сложно, а неправильная оптимизация может привести к пересчёту исторических данных.
Необходимо учитывать влияние стоимости сделки.
Оценка риска:
Разумная установка стоп-лосса, минимизация разовых потерь.
надлежащая корректировка параметров, чтобы предотвратить перепалку.
учитывать затраты, такие как снижение частоты сделок.
Замена других показателей испытаний: например, Брин-пояса, KDJ и т. д.
Параметры оптимизации пересечения средней линии EMA: изменение параметров длины скоростной линии EMA и медленной линии EMA.
Параметры оптимизации MACD: изменение длины DIFF и DEA MACD для расчета EMA.
Увеличение стратегии остановки убытков: количество остановок, время остановки, перемещение остановок и т. д.
Учитывая влияние стоимости сделки, можно скорректировать количество посещений.
Эта стратегия, используя комбинацию двух 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)