La estrategia combina una nube de gráficos de equilibrio y medias móviles sencillas (SMA) de corto (55) y largo (200) para identificar señales de venta potenciales. Las señales de compra requieren precios más altos que las nubes y las SMA de largo plazo, y vuelven al SMA corto después de cruzar las SMA de corto plazo. Las señales de venta requieren precios más bajos que las nubes y las SMA de largo plazo, y vuelven al SMA corto después de cruzar las SMA de corto plazo. La estrategia evita generar señales durante los mercados de la bolsa o eventos importantes de noticias, ya que estos períodos tienen más falsas señales.
La estrategia se basa en los siguientes principios: 1. Cuando el precio está por encima de la nube y el SMA a largo plazo, el mercado está en una tendencia alcista. 2. Cuando el precio está por debajo de la nube y el SMA a largo plazo, el mercado está en tendencia bajista. 3. Los movimientos hacia arriba y hacia abajo del SMA corto pueden confirmar la tendencia, y el regreso al SMA corto ofrece una oportunidad de entrada de bajo riesgo. 4. Las señales falsas son más frecuentes durante los mercados de mercado y los eventos de noticias importantes, y las transacciones deben evitarse.
El programa primero calcula los componentes de la nube necesarios (línea de conversión, línea de referencia, anterior A y B), así como los SMA a corto y largo plazo. Luego, define varias condiciones para identificar la ubicación del precio con respecto a la nube y la línea uniforme. Cuando se cumplen todas las condiciones de compra / venta, el programa genera señales de compra y venta, respectivamente.
La estrategia de negociación de multinivel se enfoca en buscar oportunidades de entrada de bajo riesgo en una tendencia establecida mediante la combinación de una nube equilibrada y una media móvil simple. Al filtrar las operaciones durante los mercados transversales y los eventos de gran importancia, la estrategia reduce el riesgo de falsas señales para mejorar el rendimiento general. La estrategia es principalmente para los operadores de mediano y largo plazo y funciona bien en marcos de tiempo de 1 hora y 2 horas.
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud and Moving Average Strategy", shorttitle="ICMA", overlay=true) // Input parameters shortMA = input.int(55, title="Short-term Moving Average Length") longMA = input.int(200, title="Long-term Moving Average Length") // Calculate moving averages shortSMA = ta.sma(close, shortMA) longSMA = ta.sma(close, longMA) // Ichimoku Cloud settings conversionPeriod = input.int(9, title="Conversion Line Period") basePeriod = input.int(26, title="Base Line Period") spanBPeriod = input.int(52, title="Span B Period") displacement = input.int(26, title="Displacement") // Calculate Ichimoku Cloud components conversionLine = ta.sma(high + low, conversionPeriod) / 2 baseLine = ta.sma(high + low, basePeriod) / 2 leadSpanA = (conversionLine + baseLine) / 2 leadSpanB = ta.sma(high + low, spanBPeriod) / 2 // Plot Ichimoku Cloud components plot(leadSpanA, color=color.blue, title="Leading Span A") plot(leadSpanB, color=color.red, title="Leading Span B") // Entry conditions aboveCloud = close > leadSpanA and close > leadSpanB belowCloud = close < leadSpanA and close < leadSpanB aboveShortMA = close > shortSMA aboveLongMA = close > longSMA belowShortMA = close < shortSMA belowLongMA = close < longSMA // Buy condition (Price retests 55 moving average after being above it) buyCondition = aboveCloud and aboveLongMA and close[1] < shortSMA and close > shortSMA // Sell condition (Price retests 55 moving average after being below it) sellCondition = belowCloud and belowLongMA and close[1] > shortSMA and close < shortSMA // Strategy entry and exit strategy.entry("Buy", strategy.long, when = buyCondition) strategy.entry("Sell", strategy.short, when = sellCondition) // Plot moving averages plot(shortSMA, color=color.green, title="Short-term SMA") plot(longSMA, color=color.red, title="Long-term SMA") // Plot buy and sell signals plotshape(series=buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")