Estrategia dinámica de suspensión de pérdidas

El autor:¿ Qué pasa?, Fecha: 2024-01-31 15:05:30
Las etiquetas:

img

Resumen general

Esta estrategia se basa en un mecanismo de stop loss dinámico para establecer líneas de stop loss para posiciones largas y cortas basadas en los precios más altos y más bajos de una acción. Cuando el precio alcanza la línea de stop loss, cerrará la posición actual y abrirá una nueva posición en la dirección opuesta.

Principio

Las principales etapas de esta estrategia son:

  1. Parámetros de entrada: elegir largo o corto, longitud establecida para el período, deslizamiento de parada de tracción
  2. Calcular los precios más altos y más bajos: obtener los precios más altos y más bajos basados en la longitud de entrada
  3. Calcular las líneas de stop loss de seguimiento: para el precio más bajo largo menos el deslizamiento; para el precio más alto corto más el deslizamiento
  4. Posiciones abiertas y cerradas: cuando el precio alcanza la línea de stop loss, cierra la posición de dirección actual y abre la posición de dirección opuesta.

La lógica básica de la estrategia es la siguiente: a medida que el precio se mueve, la línea de stop loss se mantiene actualizada para un seguimiento dinámico.

Análisis de ventajas

Las principales ventajas de esta estrategia:

  1. Lógica simple y limpia, fácil de entender e implementar
  2. Control de pérdidas de detención dinámicas de seguimiento de pérdidas de transacción única
  3. Flexible para elegir largo o corto, adaptable a diferentes entornos de mercado
  4. Personalización del período y el deslizamiento para la optimización

En resumen, mediante mecanismos de stop loss de seguimiento sencillos, esta estrategia puede gestionar eficazmente las posiciones y es una estrategia típica de gestión de riesgos.

Análisis de riesgos

También hay algunos riesgos a tener en cuenta:

  1. La volatilidad de los precios puede desencadenar con frecuencia el stop loss, lo que conduce a un exceso de negociación
  2. La configuración incorrecta del período puede causar líneas de stop loss inadecuadas
  3. El ajuste excesivo del deslizamiento puede dar lugar a una pérdida de parada floja, incapaz de detener la pérdida a tiempo.

Estos riesgos pueden optimizarse ajustando el período, reduciendo razonablemente el deslizamiento para hacer líneas de stop loss más sensatas.

Direcciones de optimización

La estrategia puede actualizarse en los siguientes aspectos:

  1. Añadir optimización para el ajuste dinámico de la línea de stop loss, evitar las líneas de stop loss apretadas o sueltas
  2. Añadir condiciones de posición abierta para evitar la apertura de posiciones en momentos inadecuados
  3. Incorporar indicadores de tendencia para seguir tendencias con mayor potencial de ganancia
  4. Añadir dimensionamiento de posiciones para ajustar dinámicamente las posiciones en función de los niveles de riesgo

Conclusión

La estrategia de negociación realiza la gestión de posiciones dinámicas a través de métodos simples de stop loss. Es fácil de entender e implementar, y puede controlar eficazmente la pérdida de una sola operación. Analizamos las ventajas, los riesgos potenciales y las direcciones de optimización futuras. En conclusión, esta es una estrategia de gestión de riesgos muy típica y práctica.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", 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(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)

//Levels
max = highest(high, length)
min = lowest(low, length)

//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)

//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)

if trailing > 0 and size <= 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)

Más.