Esta estrategia es un sistema de negociación de ruptura de tendencia que combina promedios móviles con conceptos de ruptura de precios. El mecanismo central es generar señales de negociación basadas en cierre de precios que rompen por encima del promedio móvil, con niveles de stop-loss establecidos en mínimos recientes y una relación de ganancia-pérdida de 2: 1 para la gestión de riesgos. La estrategia utiliza un promedio móvil simple como indicador de tendencia e identifica cambios de tendencia a través de cruces de líneas de precios.
La estrategia emplea un promedio móvil simple (SMA) de 20 períodos como indicador de tendencia. Las señales largas se generan cuando el precio de cierre se rompe por encima del promedio móvil desde abajo. Los niveles de stop-loss se establecen en el punto más bajo de las últimas 7 velas para evitar colocarlas demasiado cerca de los puntos de entrada. Los niveles de take-profit se establecen utilizando una clásica relación recompensa-riesgo de 2: 1, lo que significa que el objetivo de ganancia es el doble de la distancia de la stop-loss. La estrategia incluye componentes de visualización que marcan las líneas de tendencia, las señales de negociación y los niveles de stop-loss / take-profit en el gráfico.
Esta es una estrategia bien estructurada de seguimiento de tendencias con lógica clara. Genera señales a través de breakouts de promedios móviles, combinados con mecanismos razonables de gestión de riesgos, lo que la hace prácticamente aplicable. Si bien existen riesgos inherentes, las direcciones de optimización sugeridas pueden mejorar aún más la estabilidad y la rentabilidad de la estrategia. La estrategia es adecuada para las condiciones de tendencia del mercado, y los operadores pueden ajustar los parámetros de acuerdo con las características específicas del mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Breakout with SL and TP", overlay=true) // Parametrlar length = input(25, title="Length for SL Calculation") trendLength = input(20, title="Trend Line Length") // Trend chizig'ini hisoblash trendLine = ta.sma(close, trendLength) // Yopilish narxi trend chizig'ini yorib o'tganda signal longSignal = close > trendLine and close[1] <= trendLine // Oxirgi 7 shamning minimumini hisoblash lowestLow = ta.lowest(low, 7) // Stop Loss darajasini belgilash longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng // Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida // Savdo bajarish if longSignal strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=longTP) strategy.exit("Stop Loss", "Long", stop=longSL) // Grafikda trend chizig'ini chizish plot(trendLine, title="Trend Line", color=color.blue, linewidth=2) // Signal chizish plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") // SL va TP darajalarini ko'rsatish // if longSignal // // SL chizig'i // line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed) // // TP chizig'i // line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed) // // SL va TP label'larini ko'rsatish // label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)