Estrategia de stop loss adaptativa siguiendo tendencia


Fecha de creación: 2023-10-17 14:04:28 Última modificación: 2023-10-17 14:04:28
Copiar: 0 Número de Visitas: 878
1
Seguir
1617
Seguidores

Estrategia de stop loss adaptativa siguiendo tendencia

Descripción general

La estrategia utiliza el método Wilder volatility trailing stop, combinado con el indicador ATR y diferentes tipos de medias móviles, para lograr una estrategia de parada de seguimiento de tendencias muy adaptable.

Principio de estrategia

El núcleo de esta estrategia es el algoritmo de trailing stop de Wilder volatility. Primero calcula el indicador ATR, calcula la longitud y el multiplicador del indicador ATR de acuerdo con los parámetros de entrada, y obtiene una línea de parada dinámica. Luego, combina el precio de cierre, el precio más alto y una opción entre los precios más bajos para actualizar constantemente los puntos altos y bajos de la línea de parada.

En el código, primero se implementan varias medias móviles, como RMA, EMA, SMA, Hull MA, etc., a través de la función f_ma. Luego se calcula el indicador ATR, multiplicado por el múltiplo establecido por el usuario, para obtener una línea de parada basada en la volatilidad. A través de las funciones más altas y más bajas, se rastrean los puntos más altos y más bajos de la línea de parada, y se realiza una operación cuando el precio supera la línea de parada.

La estrategia utiliza el indicador ATR de forma flexible, diferentes tipos de medias y configuraciones de parámetros, para lograr una estrategia de seguimiento de tendencias muy adaptable. Puede seguir la tendencia de manera efectiva y detener los pérdidas cuando el mercado se retira más.

Análisis de las ventajas

  • La estrategia primero utiliza el algoritmo Wilder Volatility Trailing Stop, un método probado y fiable para seguir la tendencia y detener los pérdidas.

  • La estrategia de utilizar el indicador ATR para calcular dinámicamente la línea de pérdida evita que el punto de parada sea demasiado rígido. El indicador ATR puede reflejar eficazmente la volatilidad y el nivel de riesgo del mercado.

  • El código permite la opción de varias líneas medias, como RMA, EMA, SMA y Hull MA, lo que mejora la adaptabilidad de las estrategias.

  • Al ajustar la longitud de ATR y los parámetros de multiplicación, se puede encontrar un parámetro óptimo para diferentes mercados y optimizar el efecto de la estrategia.

  • La estrategia utiliza diferentes opciones de precios, como el precio más alto, el precio más bajo y el precio de cierre, para calcular la línea de pérdida, que se puede optimizar para diferentes variedades.

  • En general, la estrategia es una estrategia de seguimiento de la tendencia que es fiable, adaptable y fácil de optimizar.

Análisis de riesgos

  • La estrategia depende principalmente de la optimización de parámetros, y los diferentes mercados y variedades requieren pruebas para encontrar la combinación adecuada de parámetros de ATR y multiplicador, de lo contrario, el efecto de deterioro puede no ser bueno.

  • En situaciones de crisis, la línea de pérdidas de ATR puede desencadenar pérdidas frecuentes. Se debe optimizar en combinación con indicadores de juicio de tendencia para evitar perder la tendencia de crisis.

  • Una línea de parada demasiado floja puede perder la oportunidad de retirar la parada; demasiado apretada puede aumentar la frecuencia de las operaciones y los costos de los puntos de deslizamiento. Se necesita una prueba cuidadosa para encontrar el punto de equilibrio.

  • Una variedad de medias puede desviar la eficacia de la estrategia. Se debe elegir una media principal para cada variedad, y las demás son solo una referencia auxiliar.

  • La estrategia se centra en el seguimiento de tendencias y no en obtener ganancias directas. Se debe considerar su uso en combinación con otras estrategias de salida o de parada.

  • Si los parámetros no están en ese momento, la estrategia puede tener problemas con el comercio demasiado frecuente o el tiempo de tenencia de posiciones demasiado largo. Esto debe resolverse mediante la optimización.

Dirección de optimización

  • Se puede considerar la inclusión de indicadores de tendencia para determinar si existe una tendencia o no, para evitar ser atrapados en situaciones de crisis.

  • Se puede probar la adición de un elemento de indicador de reversión para que el stop loss cambie más rápidamente hacia la derecha cuando la tendencia de cabeza vacía y la tendencia de cabeza múltiple se alternan.

  • Se puede tratar de relacionar los parámetros de longitud ATR con las características de las variedades de comercio. Las diferentes variedades tienen diferentes configuraciones de longitud ATR.

  • Se puede intentar agregar un indicador de volumen de transacciones para aumentar la velocidad de ajuste de la línea de detención de pérdidas cuando el volumen de transacciones disminuye significativamente.

  • Se puede considerar el aumento de la pérdida de la proporción de retirada, pero no demasiado apretado, para evitar la pérdida de la recuperación normal.

  • Se puede combinar con otros indicadores de la capacidad de juicio y optimizar los parámetros, con un margen de pérdida adecuado cuando la capacidad es insuficiente.

Resumir

Esta estrategia se basa en la idea de Wilder Volatility Trailing Stop, y utiliza el indicador ATR para diseñar una estrategia de parada de seguimiento de tendencias muy adaptable. Se puede adaptar muy bien a diferentes variedades de operaciones a través de la optimización de parámetros, es una estrategia de parada de pérdidas confiable y práctica. Pero también debemos tener en cuenta el riesgo y optimizar aún más al agregar elementos de juicio de tendencia y volumen de transacción, por ejemplo, para que sea más estable y confiable.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Wilder's Volatility Trailing Stop Strategy with various MA's
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Wilder's Volatility Trailing Stop Strategy with various MA's", shorttitle="Trailing Stop Strategy", overlay=true)

AtrMult = input(3.0, title="ATR multiplier")
ATRlength = input(7, title="ATR length")
ATRavgType = input("RMA", title="ATR moving average type", options=["RMA", "EMA", "SMA", "HULL"])
sicType = input("close", title="significant close type for trail calculation", options=["close", "high-low"])

//function for choosing moving averages
f_ma(type, src, len) =>
    float result = 0
    if type == "RMA" // Wilder's moving averaege or Running moving average
        result := rma(src, len)
    if type == "EMA" // Exponential moving average
        result := ema(src, len)
    if type == "SMA" // Simple moving average
        result := sma(src, len)
    if type == "HULL" // Hull moving average
        result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
    result

ATR = f_ma(ATRavgType, tr, ATRlength)
upperTrail = lowest(sicType=="close"?close:low, ATRlength) + AtrMult * ATR
lowerTrail = highest(sicType=="close"?close:high, ATRlength) - AtrMult * ATR

float TS = 0
TS := close < TS[1] ? upperTrail[1] : close > TS[1] ? lowerTrail[1] : TS

//plot
plot(TS, title="trailing stop", color=close<TS?color.red:color.green)

//Strategy
buy = crossover(close, TS)
//sell = close < TS
short = crossunder(close, TS)
//cover = close > TS

strategy.entry(id="enter long", long=true, when=buy)
//strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
//strategy.close(id="enter short", comment="exit short", when=cover)