Стратегия пересечения MACD

EMA MA
Дата создания: 2024-04-18 17:56:23 Последнее изменение: 2024-04-18 17:56:23
Копировать: 0 Количество просмотров: 716
1
Подписаться
1617
Подписчики

Стратегия пересечения MACD

Обзор

Эта стратегия использует пересечение двух различных циклов индексальных движущихся средних ((EMA) для создания сигнала покупки, когда быстрая EMA пересекает медленную EMA сверху вниз, и сигнала продажи, когда быстрая EMA пересекает медленную EMA сверху вниз. Эта стратегия может применяться к различным финансовым инструментам и временным периодам, например, золото наиболее эффективно на 2-часовом цикле, биткойн наиболее эффективен на графике солнечных лучей и т. д.

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

  1. Вычислить быструю ЭМА ((дифолтный цикл 12) и медленную ЭМА ((дифолтный цикл 26).
  2. Определяются многоголовые зоны ((быстрая ЭМА выше медленной ЭМА и цена выше быстрой ЭМА) и пустые зоны ((быстрая ЭМА ниже медленной ЭМА и цена ниже быстрой ЭМА)).
  3. Приобретается при переводе из головной зоны в многоголовую зону, продается при переводе из многоголовой зоны в головной зону.
  4. На графике зеленым и красным цветом обозначены многоголовые и пустые зоны, а стрелками - сигналы купли-продажи.

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

  1. Простые и понятные, подходят для начинающих.
  2. Широко применяемый для различных финансовых инструментов и временных периодов.
  3. Умение отслеживать тенденции позволяет зафиксировать среднесрочные и долгосрочные тенденции.
  4. Параметры настраиваются, чтобы повысить гибкость.

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

  1. В условиях кризиса в рынке может возникнуть ошибочный сигнал, который может привести к убыткам.
  2. Поскольку реакция на изменение тренда медленная, это может привести к определенному сдвигу.
  3. Неправильный выбор параметров может повлиять на эффективность стратегии.

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

  1. Добавление фильтров на тенденции, например, торговля только тогда, когда ADX превышает определенный показатель, уменьшает потери в волатильных рынках.
  2. Оптимизация времени входа в игру, например, использование ATR для принятия решений о остановке убытков, уменьшение убытков.
  3. Оптимизация параметров, поиск оптимального сочетания параметров, повышение стабильности и прибыльности.
  4. В сочетании с другими показателями, такими как MACD, RSI и т. д., повышается точность сигнала.

Подвести итог

Кроссовая стратегия MACD - это простая стратегия, основанная на отслеживании тенденций, преимуществами которой являются простота, практичность и широкий спектр применения. Недостатком является сложность удержания трендовых поворотов и выбора параметров.

Исходный код стратегии
/*backtest
start: 2023-04-12 00:00:00
end: 2024-04-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Advance EMA Crossover Strategy', overlay=true, precision=6)
//****************************************************************************//
// CDC Action Zone is based on a simple EMA crossover 
// between [default] EMA12 and EMA26
// The zones are defined by the relative position of 
// price in relation to the two EMA lines
// Different zones can be use to activate / deactivate 
// other trading strategies
// The strategy can also be used on its own with 
// acceptable results, buy on the first green candle
// and sell on the first red candle
//****************************************************************************//
// Define User Input Variables

xsrc = input(title='Source Data', defval=close)
xprd1 = input(title='Fast EMA period', defval=12)
xprd2 = input(title='Slow EMA period', defval=26)
xsmooth = input(title='Smoothing period (1 = no smoothing)', defval=1)
fillSW = input(title='Paint Bar Colors', defval=true)
fastSW = input(title='Show fast moving average line', defval=true)
slowSW = input(title='Show slow moving average line', defval=true)
plotSigsw = input(title='Plot Buy/Sell Signals?', defval=true)

//****************************************************************************//
//Calculate Indicators

xPrice = ta.ema(xsrc, xsmooth)

FastMA = ta.ema(xPrice, xprd1)
SlowMA = ta.ema(xPrice, xprd2)

//****************************************************************************//
// Define Color Zones and Conditions

BullZone = FastMA > SlowMA and xPrice > FastMA  // Bullish Zone
BearZone = FastMA < SlowMA and xPrice < FastMA  // Bearish Zone

//****************************************************************************//
// Strategy Entry and Exit Conditions

if (BullZone and not BullZone[1])
    strategy.entry("Buy", strategy.long)  // Buy on the transition into BullZone

if (BearZone and not BearZone[1])
    strategy.close("Buy")  // Sell on the transition into BearZone

//****************************************************************************//
// Display color on chart

plotcolor = BullZone ? color.green : BearZone ? color.red : color.gray
barcolor(color=fillSW ? plotcolor : na)

//****************************************************************************//
// Plot Fast and Slow Moving Averages

plot(fastSW ? FastMA : na, color=color.red, title="Fast EMA", linewidth=2)
plot(slowSW ? SlowMA : na, color=color.blue, title="Slow EMA", linewidth=2)

//****************************************************************************//
// Plot Buy and Sell Signals

plotshape(series=plotSigsw and BullZone and not BullZone[1], location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=plotSigsw and BearZone and not BearZone[1], location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

//****************************************************************************//