
La estrategia es un sistema de trading de seguimiento de tendencias basado en el indicador Ichimoku Cloud. La estrategia identifica las tendencias del mercado a través de la intersección de los componentes centrales del gráfico de nubes y genera señales comerciales cuando los precios superan niveles técnicos clave. Esta estrategia adopta un método sin redibujo y todas las señales se confirman al cierre de la línea K, lo que reduce efectivamente el riesgo de señales falsas. La estrategia es aplicable a múltiples períodos de tiempo y es especialmente adecuada para entornos de mercado con alta volatilidad.
La lógica central de la estrategia se basa en las tres condiciones clave siguientes:
Esta estrategia establece un sistema comercial confiable de seguimiento de tendencias a través de la aplicación innovadora de indicadores de gráficos en la nube. El diseño sin repintado de la estrategia y el mecanismo de confirmación múltiple mejoran significativamente la calidad de la señal. Aunque el rendimiento es deficiente en mercados volátiles, la estabilidad y aplicabilidad de la estrategia se pueden mejorar aún más mediante las direcciones de optimización recomendadas. La estrategia es particularmente adecuada para rastrear tendencias a mediano y largo plazo y es una buena opción para los operadores que buscan oportunidades de seguimiento de tendencias.
/*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")