Estrategia comercial cuantitativa basada en el avance de Yiyun y el indicador ADX


Fecha de creación: 2024-02-02 17:50:30 Última modificación: 2024-02-02 17:50:30
Copiar: 0 Número de Visitas: 411
1
Seguir
1214
Seguidores

Estrategia comercial cuantitativa basada en el avance de Yiyun y el indicador ADX

Descripción general

El nombre de la estrategia se llama Trades Based on a Cloud Breakout and ADX Quantitative Trading Strategy. Combina un análisis técnico de gráficos en la nube y un indicador de tendencia promedio (ADX) para decidir cuándo establecer una posición de más o de menos. Específicamente, establece posiciones en áreas clave donde el precio ha roto el gráfico de la nube y el indicador ADX muestra una fuerte tendencia.

Principio de estrategia

La estrategia utiliza un par de gráficos de la nube de las nubes en los indicadores de la tabla para determinar las áreas de soporte y resistencia clave. Al mismo tiempo, combina el indicador ADX para determinar la fuerza de la tendencia. Las reglas de la estrategia de negociación específica son las siguientes:

La señal de construcción de la base de operaciones de varios jefes:

  • La línea de antena se desplaza hacia arriba a través de la línea de referencia
  • La línea de retraso se desplaza hacia arriba a través del eje 0
  • El precio es más alto que el gráfico de las nubes
  • Un ADX inferior a 45 (indicando que la tendencia no se ha expandido demasiado)
  • + DI más alto que - DI (indicando una tendencia al alza)

La cabeza vacía es la señal de construcción de la bodega:

  • La línea de antena se desvía hacia abajo a través de la línea de referencia
  • La línea de retraso gira hacia abajo a través del eje 0
  • Precios por debajo de la nube
  • Un ADX superior a 45 indica que la tendencia podría cambiar
  • + DI por debajo de - DI (indicando una tendencia a la baja)

Análisis de las ventajas

Esta estrategia, combinada con el análisis gráfico técnico y los indicadores de análisis de tendencias, permite determinar con eficacia el movimiento del mercado y las áreas de fuerza. Las ventajas específicas son las siguientes:

  1. Utiliza un gráfico de una nube para determinar las áreas de resistencia de soporte clave y captar las tendencias fuertes
  2. Combina el índice ADX para determinar la verdadera intensidad de la tendencia y evitar errores en las operaciones
  3. Las reglas son claras, fáciles de manejar, fáciles de instalar.

Riesgos y soluciones

La estrategia también presenta algunos riesgos, principalmente la inestabilidad en la determinación del índice ADX. Los riesgos específicos y las soluciones son:

  1. Los cálculos de ADX son retrasados, y es posible que se pierda la inversión rápida. Se pueden reducir los parámetros de ADX de manera adecuada para que sean más sensibles.
  2. El ADX no es muy eficaz en situaciones de convulsiones. Se pueden agregar filtros de otros indicadores, como el canal BOLL.
  3. El gráfico de una nube también puede fallar. Se pueden ajustar los parámetros adecuadamente o agregar otros indicadores auxiliares.

Recomendaciones para optimizar la estrategia

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Adaptación de los parámetros gráficos de una nube para más variedades
  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales
  3. Combinación de más indicadores para formar una combinación de indicadores para filtrar la señal
  4. Agregando un módulo de predicción de modelos para usar el aprendizaje automático para determinar más a fondo el efecto de la señal de tendencia

Resumir

Esta estrategia combina un análisis técnico de gráficos en la nube y un indicador de determinación de tendencias de ADX para formar un conjunto de estrategias de comercio cuantitativo claras y completas. Determina las áreas de resistencia de soporte clave y al mismo tiempo toma en cuenta la determinación de tendencias para aprovechar eficazmente las oportunidades de mercado. La estrategia es fácil de implementar en el entorno físico, también hay espacio para optimizar, y en general es un conjunto de estrategias cuantitativas de alta calidad.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with ADX (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


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

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

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

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen')
plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen')
plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span')
sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A')
sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B')
fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90)

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


// ADX
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and avg_dm < 45 and pos_dm > neg_dm
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and avg_dm > 45 and pos_dm < neg_dm

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)