Estrategia de stop dinámico porcentual


Fecha de creación: 2023-09-19 21:18:39 Última modificación: 2023-09-19 21:18:39
Copiar: 0 Número de Visitas: 636
1
Seguir
1617
Seguidores

Descripción general

La estrategia implementa un mecanismo de seguimiento de pérdidas porcentual configurable para controlar el riesgo de negociación. Permite establecer un porcentaje de pérdidas por posiciones largas y cortas y seguir continuamente el precio más alto o más bajo en la dirección favorable desde el precio de entrada, lo que permite un alto dinámico.

Principio de estrategia

La principal lógica de esta estrategia es la siguiente:

  1. Porcentaje de pérdidas en las posiciones largas y cortas
  2. Cuando se mantiene una posición larga: seguir los puntos bajos y calcular el límite de pérdida en función del precio mínimo
  3. Posiciones cortas: seguir los altibajos y calcular los límites de pérdida en función de los precios máximos
  4. Cuando el precio toque la línea de stop loss, el stop loss se retirará de la posición actual.

La estrategia permite un porcentaje de stop loss personalizado, por ejemplo, se puede configurar en un 10% . Cuando se toma una posición larga, se calcula en tiempo real el 10% por encima del precio mínimo como una línea de stop loss; cuando se toma una posición corta, se calcula el 10% por debajo del precio máximo como una línea de stop loss .

De esta manera, la línea de parada se mueve constantemente en la dirección favorable, permitiendo el seguimiento dinámico de la parada, protegiendo al máximo las ganancias y al mismo tiempo controlando el riesgo.

Ventajas estratégicas

  • Implementación de un sistema de seguimiento automático de pérdidas sin necesidad de intervenciones manuales
  • Línea de parada dinámica para proteger al máximo las ganancias
  • Porcentaje de Stop Loss personalizado para diferentes tipos de operaciones
  • Ayudar a controlar el riesgo y reducir las pérdidas por encima de lo esperado
  • Aplicable a varias estrategias de negociación y fácil de integrar

Riesgo estratégico y respuesta

  • La velocidad de seguimiento es lenta y el riesgo es incesante.
  • El cierre de pérdidas demasiado flexible podría aumentar las pérdidas
  • El cierre de pérdidas demasiado ajustado puede causar cierre de pérdidas demasiado frecuente

Cómo hacer frente a esto:

  1. Optimización del porcentaje de pérdidas, equilibrio de los efectos de las pérdidas
  2. Combinado con otros métodos de deterioro, como el deterioro del tiempo
  3. Optimización de parámetros de stop loss en función de las fluctuaciones del mercado
  4. Mantener la consistencia de la pérdida y evitar que los parámetros cambien demasiado al azar

Dirección de optimización de la estrategia

La estrategia se puede optimizar:

  1. Optimización dinámica de los parámetros de stop loss con algoritmos de aprendizaje automático
  2. Ajuste automático de la magnitud de los paros en función de indicadores como el máximo retiro
  3. Establecer un punto de parada en combinación con indicadores como las medias móviles
  4. Selección de configuraciones de parámetros diferentes en función de las fluctuaciones
  5. Ajuste de la posición de parada para obtener ganancias después de establecer un parón parcial

Resumir

La estrategia ofrece un método de seguimiento de pérdidas por porcentaje que funciona y puede ajustar dinámicamente la línea de pérdidas. Puede proteger al máximo los beneficios y controlar el riesgo de manera efectiva. La estrategia de pérdidas puede ser más inteligente y optimizada a través de la optimización de parámetros, la integración de indicadores, etc.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster

//@version=4
strategy("Percent Trailing Stop %", overlay=true)

//ENTER SOME SETUP TRADES FOR TSL EXAMPLE
longCondition = crossover(sma(close, 10), sma(close, 20))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 10), sma(close, 20))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    

//TRAILING STOP CODE
trailStop = input(title="Long Trailing Stop (%)", type=input.float, minval=0.0, step=0.1, defval=10) * 0.01

longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    max(stopValue, longStopPrice[1])
else
    0
shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + trailStop)
    min(stopValue, shortStopPrice[1])
else
    999999

//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Long Trail Stop", offset=1, title="Long Trail Stop")
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.red, style=plot.style_linebr, linewidth=1, title="Short Trail Stop", offset=1, title="Short Trail Stop")


//EXIT TRADE @ TSL
if strategy.position_size > 0
    strategy.exit(id="Close Long", stop=longStopPrice)
if strategy.position_size < 0
    strategy.exit(id="Close Short", stop=shortStopPrice)