Estratégia de negociação de longo swing baseada em bandas de Bollinger e RSI


Data de criação: 2024-03-11 11:51:22 última modificação: 2024-03-11 11:51:22
cópia: 0 Cliques: 698
1
focar em
1617
Seguidores

Estratégia de negociação de longo swing baseada em bandas de Bollinger e RSI

Visão geral

A estratégia baseia-se em dois indicadores técnicos, a faixa de Bollinger e o índice de força relativa, o RSI, para negociações de oscilação em alta. A lógica da estratégia é simples, mas eficaz: abre-se quando o preço desce a faixa de Bollinger e o RSI fica abaixo de 35 e abre-se quando o RSI passa de 69.

Princípio da estratégia

  1. Calcular o RSI: usar RMA (Relative Moving Average) para calcular a amplitude média de subidas e descidas de preços, e depois dividir a amplitude de subidas para obter o RSI. O RSI reflete a força dos preços durante um período de tempo.

  2. Cálculo da faixa de Brin: a linha média de preços é calculada usando a SMA (Simple Moving Average) e a diferença padrão é adicionada e subtraída. A faixa de Brin é capaz de refletir dinamicamente o intervalo de variação dos preços.

  3. Abrir um longo prazo: quando o preço cai abaixo do trajeto da faixa de Brin e o RSI é menor que 35, é considerado um excesso de venda. Essas duas condições podem capturar o momento da reversão para cima.

  4. Pinto: Quando o RSI passa de 69, é considerado um overbought, e a posição é liquidada para bloquear o lucro.

  5. Stop Loss: após a abertura da posição, o preço de parada e o preço de perda são calculados de acordo com a porcentagem definida pelo usuário. Quando o preço de parada ou o preço de perda é atingido, o preço de parada é zero. Isso permite controlar o risco e o retorno de cada transação.

Análise de vantagens

  1. A faixa de Brin é capaz de refletir objetivamente o intervalo de operação dos preços, ajustando-se em sincronia com a movimentação dos preços, sem restrições de depreciação fixa.

  2. O RSI é capaz de refletir de forma mais intuitiva a comparação de forças entre os dois parâmetros, e também é relativamente objetivo, sendo frequentemente usado para julgar sobrecompra e sobrevenda.

  3. Usado em uma tendência ascendente, é mais adequado para negociação de oscilação. Capturar a reversão de preço através do Bollinger Band Downtrend e do RSI baixo, através do RSI alto, pode efetivamente capturar a tendência do intervalo de ondas.

  4. A configuração de Stop Loss permite que o risco da estratégia seja controlado e que os investidores possam ajustar os parâmetros de forma flexível de acordo com suas preferências de risco.

  5. A lógica e o código da estratégia são relativamente simples, fáceis de entender e implementar, e os resultados da retrospectiva são relativamente estáveis.

Análise de Riscos

  1. Em situações de turbulência, o Brin e o RSI podem emitir mais sinais de negociação, resultando em uma frequência de negociação excessiva e custos de comissões mais elevados.

  2. Indicadores individuais, como o RSI, são suscetíveis à influência de flutuações de preços de curto prazo, gerando sinais enganosos. Portanto, os sinais do RSI são melhor analisados em combinação com movimentos de preços.

  3. A escolha dos parâmetros da faixa de Brin e do RSI tem um grande impacto na performance da estratégia, e diferentes mercados e variedades podem exigir parâmetros diferentes. Os usuários precisam fazer o ajuste apropriado de acordo com as circunstâncias.

  4. Em situações anormais, como eventos inesperados, os Brinks e RSI podem falhar. Neste momento, se não houver outros meios de controle de vento, a estratégia pode ter um retorno maior.

Direção de otimização

  1. Pode-se considerar a introdução de outros indicadores técnicos, como a média móvel, como filtro, por exemplo, abrir uma posição somente quando o MA é multi-cabeça, aumentando a confiabilidade do sinal.

  2. Pode-se otimizar os limites do RSI, os parâmetros da faixa de Bryn, etc., para encontrar a melhor combinação de parâmetros em cada variedade e em cada período.

  3. Pode ser testado em retrospectiva e simulado, verificando a eficácia e a estabilidade da estratégia antes da operação.

  4. Pode-se controlar ainda mais a retirada da estratégia através de métodos como a gestão de posições, o stop loss dinâmico e outros, e aumentar o rendimento após o ajuste de risco.

  5. A estratégia pode ser incluída em uma carteira de investimentos e utilizada em conjunto com outras estratégias de cobertura, em vez de ser usada isoladamente, para aumentar a estabilidade da carteira de investimentos.

Resumir

Este artigo descreve uma estratégia de negociação de oscilação múltipla baseada em dois indicadores técnicos, a faixa de Brin e o RSI. A estratégia é adequada para capturar a tendência de ondas em uma tendência ascendente. A lógica e a implementação são relativamente simples.

Código-fonte da estratégia
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(69, "Upper Band", color=#C0C0C0)
band0 = hline(31, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 35.58 and src < lower
exit_long = rsi > 69
 
plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)