Estrategia cuantitativa del gráfico de nubes de Ichimoku


Fecha de creación: 2023-11-24 10:15:15 Última modificación: 2023-11-24 10:15:15
Copiar: 2 Número de Visitas: 734
1
Seguir
1617
Seguidores

Estrategia cuantitativa del gráfico de nubes de Ichimoku

Descripción general

Esta es una estrategia de cuantificación de la nube de Ichimoku que solo hace más. La estrategia determina la dirección de la tendencia a través del indicador Ichimoku, junto con la forma de la línea K, el promedio móvil y el indicador Stochastic RSI para filtrar las señales y elegir el mejor punto de entrada cuando la tendencia es ascendente.

Principio de estrategia

Los principales criterios de esta estrategia son los siguientes:

  1. Ichimoku cruza la línea 2 en la línea 1 para indicar un cambio de tendencia.
  2. La línea K cruza la línea líder 1 en el precio de cierre y cumple con las condiciones de seguimiento de la tendencia
  3. La línea K es la línea del sol, tendencia al alza
  4. Cuando se activa el promedio móvil, se requiere que la línea rápida atraviese la línea lenta
  5. Cuando se activa Stochastic RSI, se requiere que la línea K atraviese la línea D

Cuando se cumplen las condiciones anteriores, la estrategia abre más posiciones; cuando el precio cae por debajo de la Línea de Liderazgo 1, la estrategia sale de la posición.

La estrategia utiliza principalmente el gráfico de la nube Ichimoku para determinar la dirección de la tendencia principal, y luego se combina con las señales de filtración de los indicadores auxiliares para elegir los mejores puntos de entrada cuando la tendencia es ascendente.

Ventajas estratégicas

  1. El retrospectivo muestra una alta precisión en el cálculo de tendencias dominantes usando el mapa de la nube de Ichimoku.
  2. La combinación de varios indicadores auxiliares para filtrar los puntos de entrada puede aumentar significativamente las ganancias
  3. Las monedas que se consideran “múltiples” son monedas que se consideran “múltiples” sólo por su estrategia de multiplicación.
  4. El espacio para optimizar los parámetros es amplio y se puede ajustar para optimizar aún más los parámetros del indicador

Riesgo estratégico

  1. La probabilidad de fracaso en el cálculo de la imagen de la nube de Ichimoku podría ser un error de tendencia
  2. Los puntos de parada pueden ser superados en caso de un cambio de tendencia, lo que podría aumentar las pérdidas.
  3. Monedas diseñadas para el cambio de tendencias, no aptas para los signos ocultos de cambio de tendencias
  4. La configuración incorrecta de los parámetros puede provocar un ingreso demasiado intenso o demasiado conservador

Respuesta:

  1. La precisión de los juicios, combinada con la tendencia de más indicadores
  2. Establezca un punto de parada razonable y controle rigurosamente las pérdidas individuales
  3. Selección de estrategias para diferentes monedas
  4. Prueba y optimiza cuidadosamente los parámetros para una estrategia más estable

Dirección de optimización de la estrategia

  1. Optimización de la configuración de los parámetros de los indicadores auxiliares para mejorar aún más la estabilidad de la estrategia
  2. Mecanismos adicionales para detener los pérdidas, como el seguimiento de las paradas y el deterioro de las medias móviles del índice.
  3. Aumentar la gestión de posiciones, como posiciones fijas, posiciones promedio, etc.
  4. Optimización de ajustes de parámetros para monedas específicas

Resumir

La estrategia de cuantificación de la nube de Ichimoku es una estrategia simple de varios jefes que determina la dirección de la tendencia, logra una alta ganancia y un riesgo controlado. La ventaja de la estrategia es evidente y el efecto es destacado en el caso de varios jefes. El siguiente paso puede ser mejorado en términos de optimización de indicadores, mecanismo de stop loss, administración de posiciones, etc., para que la estrategia sea más perfecta y estable.

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

//@version=4

strategy(title="Ichimoku only Long Strategy", shorttitle="Ichimoku only Long", overlay = true, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital=10000, currency=currency.USD)

// Time Range
FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12)
FromDay=input(defval=1,title="FromDay",minval=1,maxval=31)
FromYear=input(defval=2017,title="FromYear",minval=2017)
ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12)
ToDay=input(defval=1,title="ToDay",minval=1,maxval=31)
ToYear=input(defval=9999,title="ToYear",minval=2017)
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>true
// See if this bar's time happened on/after start date
afterStartDate = time >= start and time<=finish?true:false

//Enable RSI
enableema = input(true, title="Enable EMA?")
enablestochrsi = input(false, title="Enable Stochastik RSI?")

//EMA
emasrc = close, 
len1 = input(24, minval=1, title="EMA 1")
len2 = input(90, minval=1, title="EMA 2")

ema1 = ema(emasrc, len1)
ema2 = ema(emasrc, len2)

col1 = color.lime
col2 = color.red

//EMA Plots
plot(ema1, title="EMA 1", linewidth=1, color=col1)
plot(ema2, title="EMA 2", linewidth=1, color=col2)

//STOCH RSI
smoothK = input(3, minval=1, title="RSI K Line")
smoothD = input(3, minval=1, title="RSI D Line")
lengthRSI = input(14, minval=1, title="RSI Length")
lengthStoch = input(14, minval=1, title="Stochastik Length")
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

//Ichimoku
conversionPeriods = input(9, minval=1, title="Ichi Conversion Line Length")
basePeriods = input(26, minval=1, title="Ichi Base Line Length")
laggingSpan2Periods = input(52, minval=1, title="Ichi Lagging Span 2 Length")
displacement = input(1, minval=0, title="Ichi Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(leadLine1, offset = displacement - 1, color=color.green,
	 title="Lead 1")
p2 = plot(leadLine2, offset = displacement - 1, color=color.red,
	 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red)


//Long Condition
crossup = k[0] > d[0] and k[1] <= d[1]
ichigreenabovered = leadLine1 > leadLine2
ichimokulong = close > leadLine1
greencandle =  close > open
redcandle = close < open
emacond = ema1 > ema2
longcondition = ichigreenabovered and ichimokulong and greencandle

//Exit Condition
ichimokuexit = close < leadLine1

exitcondition = ichimokuexit and redcandle

//Entrys

if (enablestochrsi == false) and (enableema == false) and (longcondition) and (afterStartDate) and (strategy.opentrades < 1)
    strategy.entry("Long", strategy.long)
    
if (enablestochrsi == true) and (enableema == false) and (longcondition) and (crossup) and (afterStartDate) and (strategy.opentrades < 1)
    strategy.entry("Long", strategy.long)

if (enableema == true) and (enablestochrsi == false) and (longcondition) and (emacond) and (afterStartDate) and (strategy.opentrades < 1)
    strategy.entry("Long", strategy.long)

if (enableema == true) and (enablestochrsi == true) and (longcondition) and (emacond) and (crossup) and (afterStartDate) and (strategy.opentrades < 1)
    strategy.entry("Long", strategy.long)


//Exits
if (afterStartDate)
    strategy.close(id = "Long", when = exitcondition)