Estrategia de movimiento gradual de suspensión de pérdidas

El autor:¿ Qué pasa?, Fecha: 2023-11-13 17:29:41
Las etiquetas:

img

Resumen general

La estrategia de movimiento de stop loss gradual es una estrategia simple pero muy útil que le recuerda que debe subir gradualmente la stop loss a medida que los precios aumentan.

Principios

La estrategia primero establece el stop loss inicial en el 95% del precio de entrada al tomar una posición larga. Luego define niveles de stop loss múltiples más altos en el 100%, el 105%, el 110% etc. del precio de entrada. La estrategia verifica si el mínimo de los últimos 7 días ha roto el nivel de stop loss anterior. Si es así, el stop loss se establece en ese nivel más alto. Así, a medida que los precios aumentan, el stop loss también se mueve gradualmente hacia arriba.

Específicamente, la estrategia define 8 niveles de stop loss en 95%, 100%, 105%, 110%, 115%, 120%, 125%, 130% del precio de entrada. Comprueba si el mínimo de los últimos 7 días está por encima del siguiente nivel de stop loss. Si es así, la stop loss se establece en ese nivel más alto.

Por ejemplo, si el precio de entrada es de $100, el stop loss inicial es de $95. Si el mínimo de los últimos 7 días sube a $105, por encima del siguiente stop loss de $100, el stop loss se establece en $100. Si continúa subiendo a $115, el stop loss se establece en $105, y así sucesivamente.

A medida que los precios aumentan, el stop loss también aumenta gradualmente, logrando un stop loss gradual para proteger algunas ganancias.

Ventajas

La mayor ventaja de esta estrategia de stop loss gradual es que puede subir la stop loss gradualmente a medida que aumentan los precios, para proteger algunas ganancias y evitar que la stop loss se golpee y pierda todas las ganancias inmediatamente.

En comparación con los trailing stops regulares, el stop loss gradual no produce resultados demasiado optimistas en las pruebas de retroceso. Debido a que los trailing stops regulares bajarán el stop loss inmediatamente cuando los precios retroceden, saltando el proceso de reducción y pasando directamente al siguiente aumento. Pero la reducción no se puede omitir en el comercio real. Esto hace que los trailing stops regulares no puedan lograr los mismos resultados en el comercio en vivo que en las pruebas de retroceso.

La estrategia de stop loss gradual aumenta el stop loss paso a paso, por lo que puede reflejar el proceso real del movimiento de stop loss en el comercio en vivo de manera más realista en las pruebas de retroceso, evitando resultados demasiado optimistas.

Además, esta estrategia proporciona indicaciones sobre cuándo modificar el stop loss, permitiendo a los operadores modificarlo manualmente.

Los riesgos

El mayor riesgo de esta estrategia es que el movimiento de stop loss puede no mantenerse al día con los aumentos de precios extremadamente rápidos.

Otro riesgo es que los comerciantes pueden perder o retrasar el momento de las modificaciones de stop loss. La estrategia solo proporciona indicaciones sobre cuándo modificar el stop loss. El ajuste real todavía depende de las operaciones manuales del comerciante. Negligenciar o retrasar las modificaciones puede resultar en que se golpee el stop loss.

Mejoras

La estrategia puede mejorarse de las siguientes maneras:

  1. Optimizar la configuración del porcentaje de pérdida de parada para adaptarse mejor a la volatilidad de instrumentos comerciales específicos.

  2. Optimizar el parámetro del período de observación para el mínimo más bajo, por ejemplo, 5 o 10 días, para adaptarse a diferentes volatilidades.

  3. Aumentar el número de niveles de stop loss para un movimiento más gradual.

  4. Agregue lógica para también subir un nivel de ganancia de venta.

  5. Automatizar las operaciones de modificación de pérdidas de parada para reducir la dificultad y los riesgos de retraso.

  6. Añadir alertas para las violaciones de stop loss para evitar que los operadores pierdan tales eventos.

Conclusión

La estrategia de movimiento de stop loss gradual es una idea de estrategia simple pero útil. Puede mover la stop loss gradualmente a medida que aumentan los precios para proteger las ganancias y evitar resultados de backtest demasiado optimistas. En comparación con las paradas de seguimiento regulares, es más adecuado para el comercio real y más fácil de implementar en todas las plataformas. Al optimizar parámetros como los porcentajes de stop loss, los períodos de retroceso más bajos, el número de niveles de stop, etc., se puede adaptar a diferentes instrumentos comerciales. Combinado con la ejecución automatizada de stop loss y el seguimiento de las ganancias, puede reducir aún más la dificultad y los riesgos operativos.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

///Moving Stops Script///
///by ShanghaiCryto///

///A simple, but very useful, script that reminds you to move up your stop losses as price trends upwards. ///
///The sma entry is just stock code to demonstrate how the stop works.///
///Doesn't throw off your backtesting the way a trailing stop does.///


strategy("Move Up Stops", overlay=true)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

first_stop = strategy.position_avg_price * .95
second_stop = strategy.position_avg_price 
third_stop = strategy.position_avg_price * 1.05
fourth_stop = strategy.position_avg_price * 1.1
fifth_stop = strategy.position_avg_price * 1.15
sixth_stop = strategy.position_avg_price * 1.2
seventh_stop = strategy.position_avg_price * 1.25
eighth_stop = strategy.position_avg_price * 1.3

move_trigger = lowest(low,7)

first_check = na
first_check := move_trigger > second_stop ? second_stop : first_stop

second_check = na
second_check := move_trigger > third_stop ? third_stop : first_check

third_check = na
third_check := move_trigger > fourth_stop ? fourth_stop : second_check

fourth_check = na
fourth_check := move_trigger > fifth_stop ? fifth_stop : third_check

fifth_check = na
fifth_check := move_trigger > sixth_stop ? sixth_stop : fourth_check

sixth_check = na
sixth_check := move_trigger > seventh_stop ? seventh_stop : fifth_check

stop_level = na
stop_level := move_trigger > eighth_stop ? eighth_stop : sixth_check

strategy.exit("Stop Loss","My Long Entry Id", stop=stop_level)

plot(stop_level, color=red)

Más.