Desviación del precio de la estrategia de negociación media diaria

El autor:¿ Qué pasa?, Fecha: 2023-12-15 15:44:18
Las etiquetas:

img

Resumen general

Esta estrategia de negociación genera señales de negociación basadas en un indicador llamado Ichimoku Kinko Hyo. Ichimoku Kinko Hyo se traduce literalmente como diagrama de equilibrio a simple vista. Combina las ventajas de los promedios móviles e indicadores de banda para identificar tanto la dirección de la tendencia como los niveles de soporte / resistencia, por lo que se considera un indicador integral.

La estrategia utiliza las líneas componentes de Ichimoku para determinar la dirección y la fuerza de la tendencia. Las señales de negociación se generan cuando el precio rompe la parte superior o inferior de la nube. Además, la estrategia aprovecha las oportunidades de entrada de borde a borde únicas del sistema Ichimoku.

Estrategia lógica

La estrategia emplea cinco líneas del sistema Ichimoku Kinko Hyo:

  1. Línea Tenkan: promedio de 9 períodos de máximo máximo y mínimo mínimo
  2. Línea Kijun: promedio de 26 períodos de máximo máximo y mínimo mínimo
  3. Senkou Span A: promedio de la línea Tenkan y la línea Kijun
  4. Senkou Span B: promedio de 52 períodos de máximo máximo y mínimo mínimo
  5. Línea Chikou: media móvil con retraso de 26 períodos de cierre

La nube es el área entre Senkou Span A y Senkou Span B, que representa el rango de tendencia actual en general.

Las señales de negociación se generan basándose en los siguientes escenarios:

  1. El precio rompe por encima de la parte superior de la nube: señal larga
  2. El precio rompe por debajo del fondo de la nube: señal corta
  3. Precio que entra en la nube desde abajo: oportunidad larga de borde a borde
  4. Precio que entra en la nube desde arriba: oportunidad corta de borde a borde

Además, la estrategia utiliza el cruce Tenkan/Kijun para determinar los niveles de toma de ganancias y stop loss.

Ventajas

La mayor fortaleza de esta estrategia radica en la capacidad de Ichimoku para determinar la dirección de la tendencia y los niveles de soporte / resistencia.

  1. La nube identifica la dirección de la tendencia principal, evitando el comercio contra la tendencia.
  2. Las líneas componentes detectan los niveles de soporte/resistencia para localizar oportunidades de ruptura.
  3. La entrada de extremo a extremo proporciona más potencial de ganancia.

Además, la estrategia incorpora el cruce Tenkan/Kijun para la obtención parcial de beneficios y el control de riesgos.

Riesgos y gestión

El principal riesgo proviene de posibles brechas en las líneas de Ichimoku causando una falsa ruptura.

Las soluciones incluyen la optimización de parámetros para reducir los intervalos de la línea descendente, o la adición de filtros para evitar el comercio en zonas variadas.

Optimización

Varios aspectos de la estrategia pueden mejorarse:

  1. Optimice los parámetros de Ichimoku y ajuste los períodos de promedio móvil para adaptarse a más símbolos y marcos de tiempo.

  2. Incorporar confirmación de volumen para evitar huecos que causen señales falsas.

  3. Añadir otros indicadores como el MACD, el RSI para tendencias adicionales y los filtros de oscilador.

  4. Mejorar las reglas de stop loss y take profit, por ejemplo, stop de seguimiento, dimensionamiento de posiciones, etc.

Resumen de las actividades

En resumen, este sistema Ichimoku identifica la dirección de la tendencia y las oportunidades de negociación con la nube y las líneas componentes.


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)


Más.