
Стратегия представляет собой торговую систему, основанную на индикаторе «Облако Ишимоку». Стратегия определяет рыночные тенденции посредством пересечения основных компонентов облачного графика и генерирует торговые сигналы, когда цены прорываются через ключевые технические уровни. В этой стратегии используется метод без перерисовки, и все сигналы подтверждаются при закрытии К-линии, что эффективно снижает риск ложных сигналов. Стратегия применима к нескольким временным периодам и особенно подходит для рыночных сред с высокой волатильностью.
Основная логика стратегии основана на следующих трех ключевых условиях:
Эта стратегия создает надежную торговую систему, следующую за трендом, посредством инновационного применения облачных графических индикаторов. Неперерисовываемая конструкция стратегии и механизм многократного подтверждения значительно улучшают качество сигнала. Несмотря на то, что эффективность стратегии на нестабильных рынках невысока, ее стабильность и применимость можно дополнительно повысить за счет рекомендуемых направлений оптимизации. Стратегия особенно подходит для отслеживания среднесрочных и долгосрочных трендов и является хорошим выбором для трейдеров, ищущих возможности следовать за трендом.
/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("Ichimoku Cloud Buy Strategy (Non-Repainting)", overlay=true)
// === Ichimoku Cloud Settings ===
lengthConversionLine = input(9, title="Conversion Line Length")
lengthBaseLine = input(26, title="Baseline Length")
lengthLeadLine = input(52, title="Lead Line Length")
// === Calculate Ichimoku Cloud Components ===
conversionLine = ta.sma((high + low) / 2, lengthConversionLine)
baseLine = ta.sma((high + low) / 2, lengthBaseLine)
leadLineA = (conversionLine + baseLine) / 2
leadLineB = ta.sma((high + low) / 2, lengthLeadLine)
// === Forward Projected Lead Lines (Fixes Ichimoku Calculation) ===
leadLineA_Future = leadLineA[lengthBaseLine] // Shift forward
leadLineB_Future = leadLineB[lengthBaseLine]
// === Define Buy and Sell Conditions (Confirmed at Bar Close) ===
buyCondition = ta.crossover(close, baseLine) and ta.crossover(close, leadLineA) and close > conversionLine and bar_index > bar_index[1]
sellCondition = ta.crossunder(close, baseLine) and ta.crossunder(close, leadLineA) and close < conversionLine and bar_index > bar_index[1]
// === Plot Buy and Sell Signals (Confirmed at Bar Close) ===
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
// === Implement Strategy Logic (Trades at Bar Close) ===
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// === Plot Ichimoku Cloud Components with Future Projection ===
pConversionLine = plot(conversionLine, color=color.blue, title="Conversion Line")
pBaseLine = plot(baseLine, color=color.red, title="Base Line")
pLeadLineA = plot(leadLineA_Future, color=color.green, title="Lead Line A", offset=lengthBaseLine)
pLeadLineB = plot(leadLineB_Future, color=color.orange, title="Lead Line B", offset=lengthBaseLine)
// === Fill Ichimoku Cloud for Better Visualization ===
fill(pLeadLineA, pLeadLineB, color=leadLineA > leadLineB ? color.green : color.red, transp=80)
// === Alert Conditions (Only Triggered on Confirmed Signals) ===
alertcondition(buyCondition, title="Ichimoku Cloud Buy Signal", message="Ichimoku Cloud Buy Signal Triggered")
alertcondition(sellCondition, title="Ichimoku Cloud Sell Signal", message="Ichimoku Cloud Sell Signal Triggered")