
Данная стратегия представляет собой торговую систему, основанную на индикаторе «Облако Ишимоку». Эта стратегия использует пересечение линии конверсии и базовой линии для генерации торговых сигналов и объединяет области поддержки и сопротивления облачного графика для подтверждения направления тренда, тем самым достигая понимания рыночных тенденций и торговых возможностей. Захват. Основная идея стратегии заключается в определении поворотных моментов тренда посредством динамического пересечения многопериодных скользящих средних и совершении соответствующих сделок при установлении тренда.
Стратегия основана на следующих ключевых компонентах:
Условия срабатывания торгового сигнала:
Эта стратегия обеспечивает систематическую основу для принятия торговых решений посредством многомерного анализа облака Ишимоку. Преимущество этой стратегии в том, что она позволяет в полной мере уловить рыночные тенденции, но в то же время она имеет определенное отставание и зависимость от рыночной среды. Внедряя дополнительные индикаторы и оптимизируя механизмы подтверждения сигналов, можно еще больше повысить практичность и надежность стратегии. На практике рекомендуется оптимизировать и корректировать параметры в соответствии с конкретными характеристиками рынка, а также комбинировать другие технические индикаторы для повышения устойчивости стратегии.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Strategy", overlay=true)
// Ichimoku Settings
conversionPeriods = input(9, title="Conversion Line Period")
basePeriods = input(26, title="Base Line Period")
laggingSpan2Periods = input(52, title="Lagging Span 2 Period")
displacement = input(26, title="Displacement")
// Ichimoku Calculation
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
laggingSpan = ta.valuewhen(close, close, 0)[displacement]
// Plot Ichimoku Cloud
plot(conversionLine, title="Conversion Line", color=color.blue)
plot(baseLine, title="Base Line", color=color.red)
plot(leadLine1, title="Lead Line 1", color=color.green)
plot(leadLine2, title="Lead Line 2", color=color.orange)
plot(laggingSpan, title="Lagging Span", color=color.purple)
// Cloud Fill
plot(leadLine1, color=color.new(color.green, 90))
plot(leadLine2, color=color.new(color.red, 90))
// Signals
buySignal = ta.crossover(conversionLine, baseLine)
sellSignal = ta.crossunder(conversionLine, baseLine)
// Execute Trades
if buySignal
strategy.entry("Long", strategy.long)
if sellSignal
strategy.entry("Short", strategy.short)
// Debugging Plots
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)