
Эта торговая стратегия сочетает в себе два технических показателя MACD и равновесной диаграммы, предназначенных для захвата среднесрочных тенденций и изменений в динамике. MACD-индикатор состоит из быстрых, медленных и сигнальных линий, использующих параметрические настройки 12, 26 и 9 для идентификации динамических сдвигов и трендовых разворотов.
Эта стратегия использует MACD-индикатор и облако первичного равновесия, чтобы генерировать сигналы покупки и продажи. Когда цена превышает облако первичного равновесия и MACD-линия пересекает сигнальную линию, вызывается сигнал покупки, показывающий позитивную тенденцию. Когда цена пересекает облако первичного равновесия и MACD-линия пересекает сигнальную линию, вызывается сигнал продажи, показывающий позитивную тенденцию.
Динамическая MACD и стратегия торговли на первом взгляде предлагают мощный метод, который объединяет два популярных технических показателя для идентификации среднесрочных тенденций и динамических изменений. Эта стратегия направлена на то, чтобы помочь трейдерам принимать разумные решения, контролировать риски и максимизировать прибыль с помощью четко определенных критериев покупки и продажи, а также руководства по управлению рисками. Однако трейдер должен оптимизировать и настраивать стратегию в соответствии со своим стилем торговли и особенностями рынка и постоянно контролировать ее производительность.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD and Ichimoku Cloud Strategy", overlay=true)
// MACD Components
fastLength = 12
slowLength = 26
signalLength = 9
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// Ichimoku Cloud Components
tenkanLength = 9
kijunLength = 26
senkouLength = 52
displacement = 26
tenkanSen = (ta.highest(high, tenkanLength) + ta.lowest(low, tenkanLength)) / 2
kijunSen = (ta.highest(high, kijunLength) + ta.lowest(low, kijunLength)) / 2
senkouSpanA = (tenkanSen + kijunSen) / 2
senkouSpanB = (ta.highest(high, senkouLength) + ta.lowest(low, senkouLength)) / 2
chikouSpan = close[displacement]
// Plot Ichimoku Cloud
plot(tenkanSen, color=color.red, title="Tenkan-sen")
plot(kijunSen, color=color.blue, title="Kijun-sen")
p1 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p2 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p1, p2, color=senkouSpanA > senkouSpanB ? color.new(color.green, 90) : color.new(color.red, 90))
// Define Buy and Sell Conditions
macdBuy = ta.crossover(macdLine, signalLine)
ichimokuBuy = (close > senkouSpanA) and (close > senkouSpanB) and (tenkanSen > kijunSen)
buySignal = macdBuy and ichimokuBuy
macdSell = ta.crossunder(macdLine, signalLine)
ichimokuSell = (close < senkouSpanA) and (close < senkouSpanB) and (tenkanSen < kijunSen) and (tenkanSen[displacement] < math.min(senkouSpanA, senkouSpanB))
sellSignal = macdSell and ichimokuSell
// Execute Buy or Sell orders
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Setting up the stop loss and take profit
stopLossPerc = 5.0
takeProfitPerc = 10.0
strategy.exit("Exit Buy", "Buy", loss=stopLossPerc, profit=takeProfitPerc)
strategy.exit("Exit Sell", "Sell", loss=stopLossPerc, profit=takeProfitPerc)
// Plot Buy and Sell Signals
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")