Estrategia comercial adaptativa basada en avances bidireccionales


Fecha de creación: 2024-02-06 15:31:36 Última modificación: 2024-02-06 15:31:36
Copiar: 0 Número de Visitas: 683
1
Seguir
1617
Seguidores

Estrategia comercial adaptativa basada en avances bidireccionales

Descripción general

La estrategia de negociación de adaptación de ruptura bidireccional es una estrategia cuantitativa para juzgar y operar en función de la relación entre el precio de apertura y el precio de cierre de la acción. La estrategia, que cumple con los parámetros establecidos, hace más o menos.

Principio de estrategia

La lógica central de la estrategia es determinar la dirección en función de la relación entre el precio de apertura y el precio de cierre. En concreto, si el precio de cierre es mayor que el precio de apertura y supera el umbral establecido val1, se produce una señal de multitarea; si el precio de apertura es mayor que el precio de cierre y supera el umbral val1, se produce una señal de cancelación. Una vez en posición, la estrategia continúa monitoreando los cambios en el precio.

Desde el punto de vista de la implementación del código, la estrategia primero define la expresión de las condiciones de las posiciones largas y cortas, y luego ingresa una sola vez que cumple con la lógica de creación de la posición. Luego, detecta continuamente si se activa la condición de salida y, una vez que se cumplen las condiciones de salida, ejecuta la operación de posición plana. Por lo tanto, la estrategia monitorea los cambios en el mercado en tiempo real y es adaptable y flexible.

Ventajas estratégicas

La estrategia de negociación de adaptación de ruptura bidireccional tiene las siguientes ventajas:

  1. Las operaciones son claras, sencillas, fáciles de entender e implementar.
  2. Adaptación dinámica a los cambios en el mercado
  3. Tiene una función de control de pérdidas para controlar el riesgo
  4. Se puede ajustar para diferentes variedades mediante parámetros
  5. Fácil de optimizar con algoritmos y mucho espacio para expandir

Riesgo estratégico

A pesar de las ventajas de esta estrategia, también hay riesgos:

  1. Las estrategias de pérdidas pueden fallar cuando los mercados están en crisis
  2. No capta las tendencias a largo plazo, cambia de posición con frecuencia
  3. La configuración incorrecta de los parámetros puede conducir a un exceso de comercio
  4. La falla en el sistema de cuantificación puede causar daños irreparables.

Estos riesgos requieren una estrecha atención en el proceso de la operación, para ajustar los parámetros o optimizar los algoritmos en el momento oportuno.

Dirección de optimización de la estrategia

La estrategia se puede optimizar principalmente en las siguientes direcciones:

  1. Aumentar la optimización de las estrategias de stop loss y controlar el cambio frecuente de posiciones al mismo tiempo que se garantiza la sensibilidad.
  2. Aumentar los indicadores de tendencia y reducir la frecuencia de las transacciones fuera de tendencia.
  3. En combinación con estrategias de operaciones de corto plazo en el día, mejorar la rentabilidad de las estrategias.
  4. Mecanismo de adaptación de los parámetros optimizados para que los valores límite se ajusten dinámicamente.
  5. Añadir un modelo de aprendizaje automático para determinar la dirección.

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

Resumir

La estrategia de negociación bidireccional de ruptura auto-adaptativa combina los dos mecanismos de juicio de tendencia y salida auto-adaptativa para controlar el riesgo de manera efectiva. Su simple principio y sus parámetros flexibles hacen que la estrategia sea fácil de entender y ampliar. Es una estrategia cuantitativa que merece ser recomendada y estudiada en profundidad.

Código Fuente de la Estrategia
/*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)