Optimización de la estrategia de banda de nubes Ichimoku


Fecha de creación: 2024-01-19 14:45:21 Última modificación: 2024-01-19 14:45:21
Copiar: 0 Número de Visitas: 641
1
Seguir
1617
Seguidores

Optimización de la estrategia de banda de nubes Ichimoku

Descripción general

La estrategia es una estrategia de seguimiento de tendencias que combina un indicador de gráfico en la nube y varios indicadores auxiliares. Se utiliza principalmente un gráfico en la nube para determinar la dirección de la tendencia, complementada con indicadores como MACD, CMF y TSI para filtrar para mejorar la calidad de la señal.

Principio de estrategia

La estrategia utiliza principalmente la variación de un mapa de nubes para determinar la dirección de la tendencia. Cuando la antena pasa por la banda de nubes, se hace más, y cuando la banda de nubes baja, queda vacía. Al mismo tiempo, se combina con la línea de neumáticos de repuesto, el gráfico de columnas MACD, el indicador de flujo de capital CMF y el índice de fuerza real TSI para realizar filtraciones en varias capas, para garantizar la calidad de la señal.

En concreto, las condiciones de activación para hacer múltiples señales son:

  1. La banda de nubes en la antena
  2. La banda de nubes es más ancha, la línea de giro está por encima de la línea de referencia
  3. La línea de retardo está sobre el eje 0
  4. El cierre está por encima de las nubes
  5. El MACD está sobre el eje 0
  6. CMF mayor que 0,1
  7. TSI sobre el eje 0

Las condiciones de activación de las señales de vacío son lo contrario de las condiciones anteriores. De esta manera, a través de un juicio integral de varios indicadores, se puede filtrar eficazmente la mayoría de las señales falsas y bloquear las principales tendencias del mercado.

Ventajas estratégicas

La mayor ventaja de esta estrategia es que la combinación de varios indicadores elimina las señales falsas y capta las tendencias fuertes. En concreto, las principales ventajas son las siguientes:

  1. Un mapa en la nube para determinar la dirección de las tendencias dominantes y asegurar que las tendencias generales son correctas
  2. Los indicadores auxiliares filtran aún más las señales y reducen el riesgo de negociación
  3. Las señales son más confiables teniendo en cuenta los factores de ciclo de tiempo.
  4. Las condiciones son estrictas, solo se pueden operar señales de alta calidad y evitar mercados mediocres.
  5. La combinación de seguimiento de tendencias para maximizar los beneficios de la tendencia

A través de los juicios generales mencionados anteriormente, la estrategia puede capturar de manera efectiva los sectores calientes de la línea media y larga de la bolsa de valores, hacer arbitraje de seguimiento de tendencias y obtener un gran beneficio adicional.

Riesgo estratégico

La estrategia se enfrenta a los siguientes riesgos:

  1. Riesgo de Falsa Breakout. Cuando hay una falsa breakout en el precio, es fácil generar señales erróneas.
  2. Riesgo de reversión de la tendencia. El funcionamiento de las acciones es regular, en el largo plazo, siempre hay una reversión, existe la posibilidad de perder toda la ganancia.
  3. La frecuencia de las transacciones es baja y el riesgo es bajo. Las condiciones son más estrictas y es posible que se pierdan algunas oportunidades.

Los métodos para reducir el riesgo son:

  1. La flexibilización de las condiciones de filtración y el aumento de la frecuencia de las transacciones.
  2. Aumentar las condiciones de stop loss para evitar la expansión de las pérdidas.
  3. Optimización de parámetros para mejorar la precisión de la señal.

Dirección de optimización de la estrategia

La estrategia se puede optimizar principalmente en los siguientes aspectos:

  1. Optimización de parámetros. Se pueden optimizar los parámetros con más datos de retroalimentación para encontrar una mejor combinación de parámetros.

  2. Aumentar el mecanismo de suspensión de pérdidas. Relajar adecuadamente las condiciones de entrada, pero configurar el bloqueo de pérdidas para controlar el riesgo.

  3. Aumentar el Stop Loss móvil. Utilice el Stop Loss de seguimiento de tendencias para bloquear ganancias y evitar pérdidas de reversión.

  4. Optimización de los indicadores de filtración. Se pueden probar más indicadores para encontrar una mejor combinación de señales de filtración.

  5. Aumentar las reglas para reconocer automáticamente las brechas de autenticidad. Evitar el riesgo de persecución.

Resumir

La estrategia de aplicación integral de un mapa de la nube con varios indicadores auxiliares para juzgar el efecto es notable. A través de la optimización de los parámetros, la mejora de los mecanismos de detención de pérdidas y la optimización de los indicadores, se puede mejorar aún más la estabilidad de la estrategia, mejorar la calidad de la señal y obtener mayores ganancias estables. La estrategia tiene una gran utilidad.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)


ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(8, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=8)
short = input(title="Short Length", type=input.integer, defval=8)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)