Esta estrategia es un sistema de negociación inteligente basado en señales de caída de precios, que combina características dinámicas de take-profit y trailing stop-loss. La estrategia identifica oportunidades de compra potenciales mediante el monitoreo de caídas de precios mientras emplea esquemas flexibles de take-profit y mecanismos de trailing stop para proteger las ganancias. La idea central es ingresar posiciones durante caídas significativas de precios y maximizar los rendimientos a través de la gestión inteligente de posiciones.
La estrategia opera a través de tres componentes principales: primero, identifica las señales de compra estableciendo un umbral de porcentaje de caída de precio (por defecto -0,98%), que se activa cuando el precio bajo de una vela cae por debajo del precio de apertura multiplicado por (1 + porcentaje de caída). Segundo, utiliza un porcentaje fijo (por defecto 1,23%) como el beneficio objetivo para establecer los niveles de toma de ganancias. Finalmente, incorpora un mecanismo de trailing stop (por defecto 0,6%) para proteger las ganancias durante los retrocesos de precios. La estrategia incluye componentes de visualización, que muestran señales de compra a través de varias formas de marcadores.
Esta estrategia construye un sistema de trading completo mediante la combinación de la identificación de señales de caída de precios, mecanismos dinámicos de toma de ganancias y mecanismos de stop-loss. Sus fortalezas se encuentran en la identificación precisa de señales y la gestión de riesgos integral, aunque se debe prestar atención a las fallas de breakouts y riesgos de sensibilidad de parámetros. La estabilidad y rentabilidad de la estrategia se pueden mejorar aún más agregando indicadores auxiliares y optimizando mecanismos de ajuste de parámetros. Proporciona un marco estratégico valioso adecuado para la investigación y optimización en profundidad.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Price Drop Buy Signal Strategy", overlay=true) // 输入参数 percentDrop = input.float(defval=-0.98, title="Price Drop Percentage", minval=-100, step=0.01) / 100 plotShapeStyle = input.string("shape_triangle_up", "Shape", options=["shape_xcross", "shape_cross", "shape_triangle_up", "shape_triangle_down", "shape_flag", "shape_circle", "shape_arrow_up", "shape_arrow_down", "shape_label_up", "shape_label_down", "shape_square", "shape_diamond"], tooltip="Choose the shape of the buy signal marker") targetProfit = input.float(1.23, title="目标利润百分比", step=0.01) / 100 trailingStopPercent = input.float(0.6, title="Trailing Stop Percentage", step=0.01) / 100 // 计算每根K线的涨跌幅 priceDrop = open * (1.0 + percentDrop) isBuySignal = low <= priceDrop // 在当前K线下方标注买入信号(可选) plotshape(series=isBuySignal, location=location.belowbar, color=color.green, style=plotShapeStyle, size=size.small, title="Buy Signal", text="Buy") // 显示信息 if bar_index == na label.new(x=bar_index, y=na, text=str.tostring(percentDrop * 100, format.mintick) + "% Drop", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=color.new(color.green, 0)) else label.delete(na) // 策略逻辑 if (isBuySignal) strategy.entry("买入", strategy.long) // 目标卖出价 if (strategy.position_size > 0) targetSellPrice = strategy.position_avg_price * (1 + targetProfit) strategy.exit("卖出", from_entry="买入", limit=targetSellPrice, trail_offset=strategy.position_avg_price * trailingStopPercent)