Esta estrategia se basa en un mecanismo de stop loss dinámico para establecer líneas de stop loss para posiciones largas y cortas basadas en los precios más altos y más bajos de una acción. Cuando el precio alcanza la línea de stop loss, cerrará la posición actual y abrirá una nueva posición en la dirección opuesta.
Las principales etapas de esta estrategia son:
La lógica básica de la estrategia es la siguiente: a medida que el precio se mueve, la línea de stop loss se mantiene actualizada para un seguimiento dinámico.
Las principales ventajas de esta estrategia:
En resumen, mediante mecanismos de stop loss de seguimiento sencillos, esta estrategia puede gestionar eficazmente las posiciones y es una estrategia típica de gestión de riesgos.
También hay algunos riesgos a tener en cuenta:
Estos riesgos pueden optimizarse ajustando el período, reduciendo razonablemente el deslizamiento para hacer líneas de stop loss más sensatas.
La estrategia puede actualizarse en los siguientes aspectos:
La estrategia de negociación realiza la gestión de posiciones dinámicas a través de métodos simples de stop loss. Es fácil de entender e implementar, y puede controlar eficazmente la pérdida de una sola operación. Analizamos las ventajas, los riesgos potenciales y las direcciones de optimización futuras. En conclusión, esta es una estrategia de gestión de riesgos muy típica y práctica.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(false, defval = false, title = "Short") length = input(20, minval = 1) shift = input(0.0, minval = 0, title = "Trailing Stop") background = input(false) //Levels max = highest(high, length) min = lowest(low, length) //Trailing size = strategy.position_size longtrailing = 0.0 shorttrailing = 0.0 longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1]) shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1]) trailing = size <= 0 ? shorttrailing : longtrailing col = size == size[1] ? size > 0 ? color.red : color.lime : na plot(trailing, color = col, linewidth = 2, transp = 0) //Background bgcol = background ? size > 0 ? color.lime : color.red : na bgcolor(bgcol, transp = 80) if trailing > 0 and size <= 0 strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing) if trailing > 0 and size >= 0 strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)