La estrategia Supertrend Moving Stop Loss Take Profit es una estrategia de trading cuantitativa basada en el indicador Supertrend. La estrategia construye condiciones de entrada y salida largas y cortas para implementar la stop loss y movimiento take profit. La ventaja de la estrategia es que puede lograr mayores ganancias en tendencias sostenidas, mientras que bloquea la mayoría de las ganancias a través de movimiento take profit. Sin embargo, la estrategia también es sensible a los fracasos de ruptura.
Esta estrategia es una estrategia de seguimiento de tendencia basada en el indicador de Supertrend. El indicador de Supertrend puede determinar la dirección de la tendencia del precio. Genera señales de compra y venta cuando la línea de Supertrend cruza la línea 0. Específicamente, se genera una señal de compra cuando la línea de Supertrend cruza por encima de la línea de 0, se genera una señal de venta cuando la línea cruza por debajo de la línea de 0. La relación entre el precio de cierre y el precio de cierre del día anterior determina el punto de ganancia móvil.
La mayor ventaja de esta estrategia es la combinación de la identificación de tendencias y el movimiento de las ganancias. El indicador Supertrend puede capturar tendencias con bastante precisión a través de cruces de líneas cero. El movimiento de las ganancias permite bloquear la mayoría de las ganancias mientras la tendencia persiste. La configuración de stop loss también ayuda a controlar los riesgos. Por lo tanto, la estrategia puede lograr mayores ganancias en mercados de tendencias obvias. Además, la lógica simple y clara también es una ventaja de la estrategia.
El mayor riesgo de esta estrategia es su sensibilidad a los fracasos de ruptura. En períodos de rango, el indicador de Supertrend puede generar falsas rupturas que resultan en posiciones erróneamente establecidas. Esto puede llevar fácilmente a quedar atrapados en trampas. Además, el mecanismo de toma de ganancias móvil puede salir de las posiciones demasiado pronto, perdiendo movimientos posteriores. Por último, las configuraciones de stop loss inadecuadas también pueden ser demasiado sueltas o demasiado agresivas, aumentando los riesgos. Por lo tanto, estas son áreas contra las que la estrategia debe protegerse.
La estrategia se puede optimizar a partir de los siguientes aspectos: 1) Determinar razonablemente los parámetros de Supertrend para evitar señales falsas; 2) Agregar mecanismos para juzgar la confiabilidad de la ruptura, como las señales de volumen; 3) Optimizar los parámetros de movimiento de tomar ganancias para reducir la posibilidad de whipsaw mientras se garantiza la rentabilidad; 4) Utilice paradas dinámicas basadas en volatilidad en lugar de paradas estáticas; 5) Agregar otros indicadores para las estrategias de conjunto para mejorar la robustez.
En general, la estrategia de Supertrend Moving Stop Loss Take Profit es una buena estrategia de seguimiento de tendencia. Puede determinar razonablemente la dirección de la tendencia y tiene un mecanismo de movimiento de ganancias. Pero también es sensible a las rupturas inválidas y tiene algunos riesgos. La optimización adicional de parámetros, reglas de juicio, mecanismos de parada, etc. puede mejorar la estrategia y convertirla en una estrategia comercial estable y eficiente.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15) // Stop loss and profit amount stop_loss = input(1500, title="Stop Loss Amount") profit = input (15000, title="Profit Amount") LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking") ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking") atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) long_condition = ta.change(direction) <0 short_condition = ta.change(direction) >0 stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0) profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0) stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0) profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0) atr=ta.atr(10) intrade_long = strategy.position_size > 0 intrade_short = strategy.position_size < 0 exitConditionLong = (close < (close[1]*LongTrailProfit)) exitConditionShort = (close > (close[1]*ShortTrailProfit)) if (long_condition) strategy.entry("Long3", strategy.long) if (intrade_long and exitConditionLong) strategy.close("Long3") if (short_condition) strategy.entry("Short3", strategy.short) if (intrade_short and exitConditionShort) strategy.close ("Short3") if (strategy.position_size>0) strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long) if (strategy.position_size<0) strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)