
Trata-se de uma estratégia de negociação quantitativa com múltiplos indicadores que combinam a faixa de Brin, o gráfico de equilíbrio de primeira vista e a resistência de suporte. A estratégia identifica potenciais oportunidades de negociação através da análise da volatilidade do mercado, a força da tendência e os níveis de preços críticos.
A estratégia utiliza três principais componentes de indicadores técnicos: a faixa de Bryn para medir a volatilidade do mercado e o estado de sobrecompra e sobrevenda; o gráfico de equilíbrio de um olho para avaliar a direção e a intensidade da tendência; e o nível de resistência de suporte para identificar níveis críticos de preços. O uso combinado de múltiplos indicadores fornece uma visão mais abrangente do mercado.
A geração de sinais de negociação baseia-se nas seguintes condições: quando o preço quebra a faixa de Brin e está acima da nuvem inicial e quebra o ponto mais alto do período anterior, o sinal de multiplicação é acionado; quando o preço quebra a faixa de Brin e está abaixo da nuvem inicial e quebra o ponto mais baixo do período anterior, o sinal de ruptura é acionado. A estratégia também inclui uma configuração de stop loss baseada em porcentagem para controlar o risco.
Trata-se de uma estratégia de negociação quantitativa que utiliza vários indicadores técnicos para aproveitar as oportunidades de negociação através de rupturas de tendência e confirmação de múltiplos sinais. A vantagem da estratégia reside na alta confiabilidade do sinal e no gerenciamento perfeito do risco, mas é necessário prestar atenção a problemas como rupturas falsas e otimização 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))