Estrategia de entrada a Ichimoku


Fecha de creación: 2024-01-31 15:23:21 Última modificación: 2024-01-31 15:23:21
Copiar: 0 Número de Visitas: 665
1
Seguir
1617
Seguidores

Estrategia de entrada a Ichimoku

Descripción general

Las entradas Ichimoku son una estrategia cuantitativa que utiliza el indicador de gráficos en la nube Ichimoku para identificar la dirección de la tendencia y emitir señales de negociación en combinación con las bandas de Brin y el indicador RSI. La estrategia se basa principalmente en la línea de diez giros y la línea de base para determinar si se encuentra en un mercado de más o en un mercado de menos, lo que genera señales de entrada para posiciones largas y cortas.

Principio de estrategia

La estrategia utiliza principalmente las dos líneas importantes del gráfico de la nube de Ichimoku, la línea de diez giros y la línea de base. La línea de diez giros es el promedio de los máximos y mínimos de los últimos 9 días, lo que representa una tendencia a corto plazo. La línea de base es el promedio de los máximos y mínimos de los últimos 26 días, lo que representa una tendencia a medio y largo plazo.

Además de los diagramas de la nube de Ichimoku, la estrategia detecta el Brin y el RSI para emitir señales de negociación. Sólo cuando el precio de cierre se rompe el Brin para subir o bajar de la vía, es decir, el precio es anormal; al mismo tiempo, en combinación con el RSI para determinar si se encuentra en la zona de sobreventa y sobreventa, se filtra parte de las falsas rupturas, lo que genera una señal de entrada.

En la lógica de la salida, la estrategia determina si la ruptura de la banda de Bryn es exitosa, y si el indicador de la atmósfera de negociación TPO pasa por el eje cero, para determinar la salida de ganancia o pérdida.

Análisis de las ventajas

La mayor ventaja de esta estrategia es que utiliza al mismo tiempo el juicio de la tendencia y la oscilación anormal para determinar la dirección de la negociación. El gráfico de la nube de Ichimoku puede juzgar claramente la tendencia, mientras que el Brin puede capturar la oscilación anormal. El indicador RSI puede filtrar eficazmente las brechas falsas. El uso de varios indicadores en combinación puede garantizar una señal de negociación más confiable.

Análisis de riesgos

A pesar de las ventajas de identificar tendencias y fluctuaciones anormales, la estrategia presenta ciertos riesgos. Debido a que el seguimiento de la tendencia es la forma de negociar, es probable que haya más señales falsas en situaciones de crisis. Además, la configuración incorrecta de los parámetros también puede afectar el rendimiento de la estrategia. Se recomienda usar un método de optimización progresiva para probar diferentes combinaciones de parámetros y determinar el mejor parámetro.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros, como el número de días de Brin, el número de días RSI, etc.
  2. La introducción de algoritmos de aprendizaje automático para generar parámetros de salida dinámicos basados en modelos de entrenamiento basados en datos históricos.
  3. En combinación con el flujo de información, juzgar el estado de ánimo del mercado y evitar tomar decisiones equivocadas en los momentos críticos.
  4. Aumentar el stop loss, como el stop loss que se mueve con el precio, para mantener la ganancia

Resumir

La estrategia Ichimoku Entries es una estrategia de seguimiento de tendencias de fusión de múltiples indicadores. Al mismo tiempo, determina la dirección de la tendencia y las anomalías de los precios, para tomar el ritmo del mercado de manera más confiable. Aunque todavía hay espacio para mejorar, en general es una estrategia de negociación cuantitativa que muestra un rendimiento estable y un riesgo controlado.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-30 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")