
Стратегия является комплексной системой отслеживания трендов, объединяющей первичный равновесный график (Ichimoku Cloud), относительно сильный индикатор (RSI) и движущийся средний показатель конверсии (MACD). Стратегия использует облачный график для определения направления общей тенденции, использует RSI для определения количества ценовых движений, а затем в сочетании с перекрестками MACD-сигнальных линий для определения конкретных торговых моментов, что позволяет осуществлять многоуровневый анализ рынка и принятие торговых решений.
Основная логика стратегии основана на взаимодействии трех технологических показателей:
Правила торговли в стратегии следующие: Условия:
Условия для освобождения:
Риск разворота тренда: в точках разворота тренда могут возникать непрерывные стоп-лоссы. Рекомендации: можно добавить требования к временным периодам подтверждения трендов.
Риск колебания рынка: частота торгов может возникать в условиях колебания рынка. Рекомендуется: Увеличить условия фильтрации сигнала, если требуется минимальная частота колебаний.
Риск отставания: все показатели имеют определенную отсталость и могут пропустить лучшую точку входа. Рекомендации: можно использовать в сочетании с более быстрым анализом индикаторов или поведения цен.
Чувствительные параметры: неправильные параметры могут привести к плохой работе стратегии. Рекомендации: необходимо определить подходящее сочетание параметров путем обратной оптимизации.
Стратегия создает целостную торговую систему для отслеживания тенденций, объединяя три классических технических показателя: равновесный график, RSI и MACD. Основные преимущества стратегии заключаются в многочисленных механизмах подтверждения и четких торговых правилах, но в то же время необходимо обращать внимание на риски, связанные с переворотами тенденций и колебаниями рынка.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku + RSI + MACD Strategy", overlay=true)
// Ichimoku Cloud parameters
tenkanPeriod = 9
kijunPeriod = 26
senkouSpanBPeriod = 52
displacement = 26
// RSI parameters
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
// MACD parameters
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Ichimoku calculations
tenkanSen = (ta.highest(high, tenkanPeriod) + ta.lowest(low, tenkanPeriod)) / 2
kijunSen = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2
senkouSpanA = (tenkanSen + kijunSen) / 2
senkouSpanB = (ta.highest(high, senkouSpanBPeriod) + ta.lowest(low, senkouSpanBPeriod)) / 2
chikouSpan = close[displacement]
// Plotting Ichimoku Cloud
plot(tenkanSen, color=color.red, title="Tenkan-sen")
plot(kijunSen, color=color.blue, title="Kijun-sen")
plot(senkouSpanA[displacement], color=color.green, title="Senkou Span A")
plot(senkouSpanB[displacement], color=color.red, title="Senkou Span B")
fill(plot(senkouSpanA[displacement]), plot(senkouSpanB[displacement]), color=color.new(color.green, 90), title="Cloud")
// RSI calculation
rsi = ta.rsi(close, rsiLength)
// Long entry condition
longCondition = (close > senkouSpanA) and (close > senkouSpanB) and (rsi > rsiOversold) and (ta.crossover(macdLine, signalLine))
if (longCondition)
strategy.entry("Long", strategy.long)
// Short entry condition
shortCondition = (close < senkouSpanA) and (close < senkouSpanB) and (rsi < rsiOverbought) and (ta.crossunder(macdLine, signalLine))
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit conditions
if (ta.crossunder(macdLine, signalLine) and strategy.position_size > 0)
strategy.close("Long")
if (ta.crossover(macdLine, signalLine) and strategy.position_size < 0)
strategy.close("Short")
// Plot RSI
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.blue, title="RSI")