
La estrategia se basa en un mecanismo de seguimiento de pérdidas calculado de forma dinámica, que establece una línea de pérdidas para posiciones largas y cortas en función de los precios máximos y mínimos de los precios de las acciones. Cuando el precio toca la línea de pérdidas, se cancela la posición actual y se abre una nueva posición en la dirección opuesta. La estrategia es simple y fácil de entender, y puede controlar eficazmente el riesgo individual.
La estrategia se lleva a cabo principalmente a través de los siguientes pasos:
Esta es la lógica básica de funcionamiento de la estrategia. Cuando el precio funciona, la línea de stop loss se actualiza constantemente, lo que permite el seguimiento dinámico. Con este método de seguimiento de stop loss, se puede controlar eficazmente la pérdida individual.
La estrategia tiene las siguientes ventajas:
En general, la estrategia permite administrar posiciones de manera eficiente a través de un simple mecanismo de suspensión de pérdidas y es una estrategia típica de gestión de riesgos.
La estrategia también tiene algunos riesgos a tener en cuenta:
Para estos riesgos, se puede optimizar mediante el ajuste de los ciclos de cálculo y la reducción adecuada de la amplitud del punto de deslizamiento, para que la configuración de la línea de parada sea más razonable.
La estrategia puede ser optimizada en los siguientes aspectos:
La estrategia de negociación permite el manejo dinámico de las posiciones mediante un método simple de seguimiento de pérdidas. La estrategia es fácil de entender y implementar, y permite controlar eficazmente las pérdidas individuales. Analizamos las ventajas de la estrategia, los posibles riesgos y la dirección de optimización posterior. En general, 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)