Esta es una estrategia de negociación inteligente que combina bandas de Bollinger y indicadores de SuperTrend. La estrategia utiliza principalmente bandas de Bollinger para identificar los rangos de volatilidad del mercado mientras utiliza el indicador de SuperTrend para confirmar la dirección de la tendencia del mercado, lo que permite operaciones en posiciones de alta probabilidad.
La lógica central de la estrategia se basa en los siguientes elementos clave: 1. Utiliza bandas de Bollinger de 20 períodos con 2 desviaciones estándar de ancho de banda, construyendo bandas superiores, medias e inferiores y dos líneas medianas 2. Utiliza ATR de 10 períodos y un factor de 3 para calcular el indicador SuperTrend Las señales de entrada: - Entrada larga: Cuando el precio toca la banda de Bollinger inferior y SuperTrend indica la dirección alcista - Entrada corta: Cuando el precio toca la banda superior de Bollinger y SuperTrend indica la dirección bajista 4. Señales de salida: - Salida larga: Cuando el precio de cierre se rompe por debajo de la línea SuperTrend y la tendencia se vuelve bajista - Salida corta: Cuando el precio de cierre se rompe por encima de la línea SuperTrend y la tendencia se vuelve alcista
Este es un sistema de trading completo que combina indicadores clásicos de análisis técnico, que puede funcionar bien tanto en mercados de tendencia como volátiles a través de la sinergia de Bollinger Bands y SuperTrend. El diseño de visualización de la estrategia y la flexibilidad de los parámetros lo hacen altamente práctico. A través de las direcciones de optimización sugeridas, la estabilidad y rentabilidad de la estrategia se pueden mejorar aún más. Se recomienda realizar una completa prueba de retroceso y optimización de parámetros antes de la negociación en vivo.
/*backtest start: 2024-12-05 00:00:00 end: 2024-12-12 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band & SuperTrend Strategy (Standard Chart)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Bollinger Bands Settings length_bb = input.int(20, title="Bollinger Band Length") mult_bb = input.float(2.0, title="Bollinger Band Multiplier") [bb_upper, bb_basis, bb_lower] = ta.bb(close, length_bb, mult_bb) // Median Bands bb_median_upper = (bb_upper + bb_basis) / 2 bb_median_lower = (bb_lower + bb_basis) / 2 // SuperTrend Settings atr_length = input.int(10, title="ATR Length") factor = input.float(3.0, title="SuperTrend Factor") // SuperTrend Calculation based on standard chart OHLC data [supertrend, direction] = ta.supertrend(factor, atr_length) // Plotting Bollinger Bands plot(bb_upper, color=color.red, title="Bollinger Upper Band") plot(bb_median_upper, color=color.orange, title="Bollinger Median Upper Band") plot(bb_basis, color=color.blue, title="Bollinger Basis") plot(bb_median_lower, color=color.purple, title="Bollinger Median Lower Band") plot(bb_lower, color=color.green, title="Bollinger Lower Band") // Plotting SuperTrend supertrend_color = direction > 0 ? color.green : color.red plot(supertrend, color=supertrend_color, style=plot.style_line, title="SuperTrend Line") // Customizable Signal Shape Inputs buy_shape = input.string("shape_triangle_up", title="Buy Signal Shape", options=["shape_triangle_up", "shape_circle", "shape_cross", "shape_diamond", "shape_flag"]) sell_shape = input.string("shape_triangle_down", title="Sell Signal Shape", options=["shape_triangle_down", "shape_circle", "shape_cross", "shape_diamond", "shape_flag"]) // Entry Conditions buy_condition = ta.crossover(low, bb_lower) and direction > 0 sell_condition = ta.crossunder(high, bb_upper) and direction < 0 // Exit Conditions exit_buy_condition = ta.crossunder(close, supertrend) and direction < 0 exit_sell_condition = ta.crossover(close, supertrend) and direction > 0 // Strategy Logic if buy_condition strategy.entry("Buy", strategy.long) if sell_condition strategy.entry("Sell", strategy.short) if exit_buy_condition strategy.close("Buy") if exit_sell_condition strategy.close("Sell") // Plot Buy Signal Shape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=buy_shape, text="BUY", textcolor=color.white) // Plot Sell Signal Shape plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=sell_shape, text="SELL", textcolor=color.white)