Siguiendo la estrategia de supertendencia

El autor:¿ Qué pasa?, Fecha: 2023-10-24 14:28:29
Las etiquetas:

img

Siguiendo la estrategia de supertendencia

Resumen general

Esta estrategia se basa en el indicador de Supertrend para determinar la dirección de la tendencia utilizando líneas de Supertrend, y tomar líneas de Supertrend como líneas de stop loss para implementar una estrategia de negociación automatizada que sigue las tendencias de Supertrend.

Principio de la estrategia

El indicador de Supertrend se calcula a partir del rango verdadero promedio (ATR) y un multiplicador, que puede determinar efectivamente la dirección de la tendencia del precio. Cuando el precio está por encima de la línea superior de Supertrend, es una tendencia alcista. Cuando el precio está por debajo de la línea inferior de Supertrend, es una tendencia descendente.

La estrategia primero calcula las líneas superiores e inferiores de Supertrend. La línea superior de Supertrend se calcula como la media de los precios más altos y más bajos menos el ATR multiplicado por N. La línea inferior de Supertrend se calcula como la media de los precios más altos y más bajos más el ATR multiplicado por N. Donde N es el parámetro multiplicador establecido por el usuario.

Luego calcula la dirección de la tendencia en relación con el precio. Cuando el precio es superior a la línea de Supertrend inferior de la barra anterior, se define como una tendencia al alza. Cuando el precio es inferior a la línea de Supertrend superior de la barra anterior, se define como una tendencia a la baja.

De acuerdo con la dirección de la tendencia determinada, elija la línea de Supertrend superior o la línea de Supertrend inferior como la línea de Supertrend. Cuando sea una tendencia al alza, tome la línea de Supertrend superior como la línea de Supertrend. Cuando sea una tendencia a la baja, tome la línea de Supertrend inferior como la línea de Supertrend.

Finalmente, la estrategia toma la línea de Supertrend como la línea de stop loss. Va largo cuando el precio cruza por encima de la línea de Supertrend, y va corto cuando el precio cruza por debajo de la línea de Supertrend.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El uso del indicador Supertrend para determinar la dirección de la tendencia del precio puede seguir las tendencias de manera efectiva.

  2. La línea Supertrend como línea de stop loss puede limitar las pérdidas.

  3. La estrategia tiene un pequeño descenso con una relación Sharpe de 2.51, lo que muestra un rendimiento estable.

  4. Hay hasta 1988 operaciones, lo que permite la optimización de parámetros para mejorar la tasa de ganancia.

  5. Implementa operaciones totalmente automatizadas sin intervención manual.

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. El indicador Supertrend es sensible a los cambios de precios y puede generar más señales de whipsaw, lo que reduce la rentabilidad.

  2. Es propenso a detener las pérdidas en tendencias de rango y no es adecuado para productos laterales.

  3. No tiene en cuenta el impacto de los principales acontecimientos económicos, que pueden causar grandes pérdidas durante esos períodos.

  4. El índice de ganancias es sólo del 41% y la tasa de ganancias necesita mejorar.

  5. Los parámetros deben optimizarse para diferentes productos y plazos.

  6. Se requiere una gestión estricta del dinero para evitar pérdidas excesivas en operaciones individuales.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Añadir filtros con otros indicadores para evitar golpes y mejorar la tasa de ganancia, como MA, MACD, etc.

  2. Aumentar la confirmación de tendencia para evitar señales erróneas de errores de juicio de la línea de Supertrend.

  3. Ajustar los parámetros para que se adapten a los diferentes productos y plazos, como ajustar el período de ATR.

  4. Agregue estrategias para evitar los principales acontecimientos de noticias económicas.

  5. Optimizar las estrategias de stop loss a través de trailing stop loss, SAR parabólico, etc.

  6. Optimizar el tamaño de las posiciones en función de las condiciones del mercado ajustando las posiciones para controlar la exposición al riesgo.

Conclusión

Esta estrategia diseñó una estrategia de tendencia simple basada en el indicador Supertrend con un rendimiento decente, pero más señales comerciales y espacio para mejorar la tasa de ganancia. Al optimizar con otros indicadores para la filtración, ajustar los parámetros para diferentes productos y aplicar una gestión prudente del dinero, esta estrategia puede convertirse en una estrategia de tendencia estable con un ligero descenso. Pero tenga en cuenta los riesgos asociados con errores de juicio.


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

//@version=4
strategy("QuantNomad - SuperTrend - XBTUSD - 1m", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// INPUTS //
st_mult   = input(2,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(14, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev = hl2 - (st_mult * atr(st_period))
dn_lev = hl2 + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := close[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_line, linewidth = 2, title = "SuperTrend")

plotshape(crossover( close, st_line), location = location.belowbar, color = color.green)
plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red)

// Strategy with stop orders
strategy.entry("long",  true,  stop = st_line)
strategy.entry("short", false, stop = st_line)

Más.