Estrategia de patrones de velas de combinación de modelos múltiples


Fecha de creación: 2023-10-17 15:53:06 Última modificación: 2023-10-17 15:53:06
Copiar: 0 Número de Visitas: 671
1
Seguir
1617
Seguidores

Estrategia de patrones de velas de combinación de modelos múltiples

Descripción general

Esta estrategia se utiliza para el comercio de acciones mediante el uso combinado de varios modelos de forma de cubo. Combina el modelo de línea de paquete, el modelo de cubo vacío y el modelo de estrella cruzada para capturar oportunidades de negociación en diferentes condiciones de mercado.

El principio

La lógica central de esta estrategia es la construcción de varias reglas de juicio de la forma de la cuña, y luego combinar estas reglas para generar señales de negociación.

En primer lugar, define algunas variables básicas para describir las propiedades de un hilo de aluminio, como el tamaño de la entidad de aluminio body, el precio de apertura open, el precio de cierre close, etc.

Luego, define 3 tipos de barras de negociación en función de la relación entre el precio de cierre y el precio de apertura de la barra: 1 para la barra, -1 para la barra baja y 0 para la barra baja.

En base a esto, se han construido tres reglas para juzgar la forma de la cola:

  1. Patrón de Engulfing: la línea K actual envuelve a la línea K anterior, generando una señal de compra o venta.

  2. Harami Pattern: La línea K superior envuelve la línea K actual, generando una señal de compra o venta.

  3. Harami Cross Pattern: la combinación de una estrella de la cruz con un eje vacío produce una señal de compra o venta.

De acuerdo con estas reglas de forma de cubo, se puede determinar el momento de comprar y vender. Y se combina con algunas condiciones adicionales, como la limitación del rango de tiempo de negociación, para filtrar las señales de negociación que no cumplen con los requisitos.

En la parte de negociación, primero se determina la posición, y si la posición es en la dirección opuesta a la del indicador, se elimina la posición, y luego se abre la posición en la dirección de la señal.

Las ventajas

  • La combinación de varias formas es estable. Una sola forma puede verse más afectada por el entorno de un mercado específico, y la combinación de formas puede mejorar la estabilidad.

  • Confirmación de formas en la misma dirección, juicio integral, evita errores. Diferentes modelos de formas juzgan las tendencias desde diferentes ángulos y pueden verificar las señales entre sí.

  • Los parámetros son ajustables y adaptables. Los usuarios pueden combinar libremente diferentes modelos de forma, ajustar el rango de tiempo de negociación, etc. Los parámetros son flexibles para responder a los cambios en el mercado.

  • Una lógica de negociación perfectamente desarrollada. Combinado con la lógica de retiro de la posición y el juicio de pérdidas y pérdidas, el riesgo puede ser controlado de manera efectiva.

El riesgo

  • La combinación de múltiples parámetros aumenta la complejidad. Se necesita probar la compatibilidad de las combinaciones de cada uno de los parámetros, y la combinación incorrecta de parámetros puede reducir la eficacia.

  • La configuración de los parámetros de forma depende de la experiencia. Los parámetros de forma, como si el tamaño de la entidad es adecuado, requieren experiencia acumulada para ajustarse.

  • El riesgo de una posición unilateral. Sólo hacer más o solo hacer menos puede limitar el espacio de ganancia. Se puede hacer más a la vez a través de la configuración de parámetros.

  • Es posible que se pierda el punto de reversión de la tendencia. Esta estrategia se basa en la identificación de formas y no puede juzgar eficazmente la reversión de la tendencia. Se puede combinar con otros indicadores para juzgar el momento.

Optimización

  • Aumentar las estrategias de stop loss para reducir el riesgo de una posición unilateral.

  • En combinación con otros indicadores técnicos, para determinar la dirección de la tendencia general y evitar el comercio de contravalores, como MACD, Bollinger Band, etc.

  • Prueba las preferencias de los parámetros de las diferentes variedades y crea una combinación de formas adecuadas para las diferentes variedades.

  • Aumentar los algoritmos de aprendizaje automático para ayudar con la optimización de parámetros y el reconocimiento de formas a través de la IA.

Resumir

La estrategia utiliza las ventajas de una variedad de formas de acoplamiento para construir un sistema de operaciones de línea corta relativamente estable y confiable. Sin embargo, algunos parámetros de configuración y control de riesgo aún necesitan ser optimizados para adaptarse a un entorno de mercado más complejo. En general, la estrategia es razonable y tiene un amplio potencial de optimización inteligente a través de aprendizaje automático, basado en la acumulación de suficiente experiencia y datos.

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

//Noro
//2018

//@version=3
strategy(title = "Noro's CandleModels Tests", shorttitle = "CandleModels tests", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

eng = input(true, defval = true, title = "Model Engulfing")
har = input(true, defval = true, title = "Model Harami")
harc = input(true, defval = true, title = "Model Harami Cross")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
rev = input(false, defval = false, title = "Reversive trading")

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
doji = body < abody / 10
up1 = eng and bar == 1 and bar[1] == -1 and min <= min[1] and max >= max[1]
dn1 = eng and bar == -1 and bar[1] == 1 and min <= min[1] and max >= max[1]
up2 = har and bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1]
dn2 = har and bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1]
up3 = harc and doji and bar[1] == -1 and low >= min[1] and high <= max[1]
dn3 = harc and doji and bar[1] == 1 and low >= min[1] and high <= max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2 and rev == false

//Trading
if up1 or up2 or up3
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2 or dn3
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()