
Se trata de una estrategia de trading cuantificada con múltiples indicadores que combinan la banda de Brin, el gráfico de equilibrio a primera vista y el soporte de los niveles de resistencia. La estrategia identifica las oportunidades potenciales de negociación mediante el análisis de la volatilidad del mercado, la fuerza de la tendencia y los niveles de precios clave. La estrategia utiliza condiciones de entrada precisas y métodos de gestión de riesgos para lograr un buen rendimiento de las operaciones.
La estrategia utiliza tres componentes de indicadores técnicos principales: la banda de Bryn para medir la volatilidad del mercado y el estado de sobreventa y sobreventa; el gráfico de equilibrio a primera vista para evaluar la dirección y la fuerza de la tendencia; y el nivel de resistencia de soporte para identificar los niveles de precios clave. El uso combinado de múltiples indicadores proporciona una visión más completa del mercado.
La generación de señales de negociación se basa en las siguientes condiciones: cuando el precio rompe la banda de Brin y se encuentra por encima de la nube inicial y rompe los máximos previos, se activa una señal de multiplicación; cuando el precio cae por debajo de la banda de Brin y se encuentra por debajo de la nube inicial y cae los mínimos previos, se activa una señal de ruptura. La estrategia también incluye un parámetro de stop loss basado en porcentajes para controlar el riesgo.
Se trata de una estrategia de comercio cuantitativa que utiliza varios indicadores técnicos para aprovechar las oportunidades de comercio a través de brechas de tendencia y confirmación de múltiples señales. La estrategia tiene la ventaja de una alta fiabilidad de la señal y una gestión de riesgos perfecta, pero debe tener en cuenta problemas como brechas falsas y optimización de parámetros.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Ichimoku S/R Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input parameters
bb_length = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
ichimoku_tenkan = input.int(9, "Ichimoku Tenkan-sen")
ichimoku_kijun = input.int(26, "Ichimoku Kijun-sen")
ichimoku_senkou = input.int(52, "Ichimoku Senkou Span B")
sr_lookback = input.int(14, "S/R Lookback Period")
profit_target = input.float(1.5, "Profit Target (%)", minval=0.1, step=0.1)
stop_loss = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1)
// Bollinger Bands
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_mult)
// Ichimoku Cloud
tenkan = ta.ema(hl2, ichimoku_tenkan)
kijun = ta.ema(hl2, ichimoku_kijun)
spanA = (tenkan + kijun) / 2
spanB = ta.ema(hl2, ichimoku_senkou)
// Support and Resistance
highest_high = ta.highest(high, sr_lookback)
lowest_low = ta.lowest(low, sr_lookback)
// Entry conditions
long_condition = close > bb_upper and close > spanA and close > spanB and close > highest_high[1]
short_condition = close < bb_lower and close < spanA and close < spanB and close < lowest_low[1]
// Execute trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set profit target and stop loss
strategy.exit("TP/SL", "Long", profit=strategy.position_avg_price * (1 + profit_target / 100), loss=strategy.position_avg_price * (1 - stop_loss / 100))
strategy.exit("TP/SL", "Short", profit=strategy.position_avg_price * (1 - profit_target / 100), loss=strategy.position_avg_price * (1 + stop_loss / 100))
// Plot indicators
plot(bb_middle, color=color.blue, title="BB Middle")
plot(bb_upper, color=color.red, title="BB Upper")
plot(bb_lower, color=color.red, title="BB Lower")
plot(tenkan, color=color.orange, title="Tenkan-sen")
plot(kijun, color=color.purple, title="Kijun-sen")
spanA_plot = plot(spanA, color=color.green, title="Senkou Span A")
spanB_plot = plot(spanB, color=color.red, title="Senkou Span B")
plot(highest_high, color=color.green, title="Resistance")
plot(lowest_low, color=color.red, title="Support")
// Fill Ichimoku Cloud
fill(spanA_plot, spanB_plot, color=spanA > spanB ? color.rgb(76, 175, 80, 90) : color.rgb(255, 82, 82, 90))