Esta estrategia implementa una parada de seguimiento y compra de seguimiento basada en un simple porcentaje.
La estrategia utiliza principalmente dos métricas para lograr el stop loss y la compra de trailing:
Línea de parada de seguimiento (TSL): Calculada sobre la base de N barras recientes de precios de cierre y porcentaje de compensación de pérdida de parada establecido por el usuario.
Línea de compra posterior (TBL): Se calcula en función de las barras N recientes de los precios más altos y el porcentaje de compensación de compra establecido por el usuario.
Al comparar el precio con estas dos métricas, se implementan las reglas de stop loss y trailing buy.
Las ventajas de esta estrategia son:
Simple e intuitivo, fácil de entender e implementar.
El valor de las pérdidas y pérdidas de los activos de la entidad en el mercado de valores de mercado se determinará en función de los valores de los activos de la entidad en el mercado.
Aplicable en todos los mercados y plazos.
Permite seguir la tendencia y detener las pérdidas oportunamente.
Los riesgos de esta estrategia incluyen:
La configuración incorrecta de los parámetros puede causar un stop loss o una compra demasiado agresivos.
Comercio frecuente y deslizamiento en mercados variados.
Requiere la optimización de parámetros para diferentes características del mercado.
La estrategia puede reforzarse mediante:
Algoritmos adaptativos para optimizar automáticamente los parámetros de compra y parada.
Adición de módulos de dimensionamiento de posiciones y gestión de riesgos.
Incorporación de otros indicadores para medir la tendencia general para evitar problemas.
En resumen, esta es una estrategia de seguimiento de tendencias muy simple e intuitiva. Con el ajuste de parámetros, se puede adaptar en todos los mercados. La incorporación adicional de algoritmos adaptativos y filtros adicionales puede mejorar la robustez. En general, proporciona un marco básico pero efectivo para el comercio cuantitativo.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //Developed from ©Finnbo code strategy("Simple Trailing Buy & Stop Strategy", overlay=true) offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1) buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1) sumbars = input(defval=6, title="Use last x bars for calculation", minval=1) srcts = input(title="Source Trailing Stop calculation", defval=close) srctb = input(title="Source Trailing Buy calculation", defval=close) srctrigger = input(title="Source Stop Trigger", defval=low) srctriggerbuy = input(title="Source Buy Trigger", defval=high) tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100)) tbuy = rma(srctb, sumbars)*(1+(buyoffset/100)) plot(tsl, color=(srctrigger<tsl)?red:green) plot(tbuy, color=(srctriggerbuy>tbuy)?red:green) //plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red) alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL") //plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green) alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY") longCondition = crossover(srctriggerbuy,tbuy) if (longCondition) strategy.entry("Long", strategy.long) closeCondition = crossunder(srctrigger,tsl) if (closeCondition) strategy.close("Long")