Estrategia de negociación de doble avance adaptativa

El autor:¿ Qué pasa?, Fecha: 2024-02-06 15:31:36
Las etiquetas:

img

Resumen general

La estrategia de negociación de doble avance adaptativa es una estrategia cuantitativa que hace juicios y operaciones comerciales basadas en la relación entre el precio de apertura y el precio de cierre de las acciones. Esta estrategia tomará posiciones largas o cortas cuando se cumplan las condiciones del parámetro establecido. Al mismo tiempo, tiene un mecanismo de salida adaptativo que puede decidir cuándo salir de la posición actual basado en cambios recientes en los precios de apertura y cierre.

Principio de la estrategia

La lógica central de esta estrategia es juzgar la dirección basada en la relación de tamaño entre el precio de apertura y el precio de cierre. Específicamente, si el precio de cierre es mayor que el precio de apertura que excede el valor umbral establecido1, se genera una señal larga; si el precio de apertura es mayor que el precio de cierre que excede el valor umbral1, se genera una señal corta. Una vez que se ingresa una posición, la estrategia continuará monitoreando los cambios de precio. Si los precios de apertura y cierre se invierten más allá del valor umbral establecido2, se ejecutará la operación de salida. Se puede ver que esta estrategia incluye tanto la lógica de apertura como la lógica de salida, formando un marco comercial relativamente completo.

En términos de implementación de código, la estrategia primero define las condiciones de posición larga y corta, y coloca órdenes cuando se cumple la lógica de posición de apertura. Luego detecta continuamente si se ha activado la condición de salida, y una vez que se cumple la condición de salida, ejecuta la operación de cierre.

Ventajas de la estrategia

La estrategia de negociación de doble avance adaptativa tiene las siguientes ventajas:

  1. Funcionamiento claro y sencillo, fácil de entender e implementar
  2. Ajuste dinámico de las posiciones para adaptarse a los cambios del mercado
  3. Tiene una función de stop loss para controlar los riesgos
  4. Puede aplicarse a diferentes variedades ajustando los parámetros
  5. Fácil de optimizar algoritmos con un gran espacio de expansión

Riesgos de la estrategia

Aunque esta estrategia tiene ciertas ventajas, también presenta los siguientes riesgos:

  1. Las estrategias de stop loss pueden fallar durante las violentas fluctuaciones del mercado
  2. Incapacidad para detectar tendencias a largo plazo, cambios frecuentes de posición
  3. La configuración incorrecta de los parámetros puede conducir a un exceso de negociación
  4. Las fallas del sistema pueden dar lugar a la imposibilidad de detener las pérdidas

Estos riesgos deben controlarse de cerca durante la negociación en vivo para ajustar rápidamente los parámetros u optimizar los algoritmos.

Direcciones de optimización

Los principales aspectos para optimizar esta estrategia incluyen:

  1. Mejorar la optimización de la pérdida de parada para controlar el cambio de posición frecuente al tiempo que se garantiza la sensibilidad.
  2. Añadir indicadores de evaluación de tendencias para reducir la frecuencia de las operaciones en entornos que no son de tendencia.
  3. Combinar estrategias de negociación intradiaria a corto plazo para mejorar los rendimientos de la estrategia.
  4. Optimizar los mecanismos de parámetros adaptativos para el ajuste dinámico del umbral.
  5. Añadir modelos de aprendizaje automático para juzgar las direcciones de tendencia.

A través de la optimización de algoritmos y modelos, se puede mejorar la estabilidad general y la rentabilidad de la estrategia.

Resumen de las actividades

La estrategia de negociación de doble avance adaptativa combina el juicio de tendencia y los mecanismos de salida adaptativos, que pueden controlar eficazmente los riesgos.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct

val1 = input(123)
val2 = input(234)

from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)

to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)

long = (close-open) > val1
short = (open-close) > val1

exitLong = (open-close) > val2
exitShort = (close-open) > val2

term = true

strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG",  when = exitLong and not short and term)

strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)


Más.