Esta estrategia utiliza breakouts dinámicos para generar señales comerciales. Determina si comprar o vender comparando los precios más altos y más bajos del marco de tiempo actual con el precio de cierre del marco de tiempo anterior más o menos un cierto número de puntos. Este enfoque puede adaptarse a diferentes tendencias y volatilidad del mercado, mejorando así la adaptabilidad y flexibilidad de la estrategia.
El núcleo de esta estrategia es usar los puntos altos y bajos de diferentes marcos de tiempo para determinar las tendencias de precios. Primero, obtiene los datos de precio más alto, precio más bajo y precio de cierre correspondientes al marco de tiempo seleccionado por el usuario. Luego, determina la señal de compra comparando si el precio más alto del marco de tiempo actual es mayor que el precio de cierre del marco de tiempo anterior más un cierto número de puntos. Del mismo modo, determina la señal de venta comparando si el precio más bajo del marco de tiempo actual es menor que el precio de cierre del marco de tiempo anterior menos un cierto número de puntos. Una vez que aparece una señal de compra o venta, la estrategia abrirá o cerrará posiciones en consecuencia. Además, la estrategia marcará las señales de compra y venta en el gráfico y trazará la curva de equidad de la estrategia para una evaluación intuitiva del rendimiento de la estrategia.
La estrategia de breakout de alto y bajo marco de tiempo dinámico genera señales de negociación basadas en las breakouts de precios de puntos altos y bajos en diferentes marcos de tiempo. La lógica de la estrategia es clara, adaptable y fácil de implementar y optimizar. Sin embargo, también tiene problemas como la sensibilidad de los parámetros, el exceso de ajuste y el riesgo de mercado, que necesitan ser continuamente optimizados y mejorados en la aplicación real. Al ajustar dinámicamente los parámetros, introducir la gestión de riesgos, combinar con otros indicadores y optimizar la eficiencia del código, se puede mejorar aún más la robustez y la rentabilidad de la estrategia, proporcionando herramientas e ideas efectivas para el comercio cuantitativo.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(" NIFTY 65-15 ", overlay=true) // Define input options for point settings and timeframe points = input.int(60, title="Point Threshold", minval=1, step=1) timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high and low of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + points) sellCondition = low_timeframe < (close_timeframe[1] - points) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)