
A estratégia RSI OBV da Bollinger Bands combina a faixa de Bollinger, o indicador de força relativa (RSI) e o indicador de equilíbrio (OBV) para identificar os pontos de ruptura e de reversão do preço das ações. A estratégia emite um sinal de negociação quando o preço das ações quebra a faixa de Bollinger e se desvia, e o indicador RSI mostra um excesso de compra e venda, enquanto o indicador OBV ocorre uma reversão.
A lógica de negociação da estratégia baseia-se principalmente na faixa de Brin, no indicador RSI e no indicador OBV.
A maior vantagem da estratégia é que a combinação de três tipos diferentes de indicadores, o RSI e o OBV, pode capturar sinais de mudança antecipadamente quando o preço da ação começa a mudar de direção. Por exemplo, depois que a ação quebra o trajeto do Brin para cima, se apenas olhar para a linha K, pode ser diretamente construído um polinômio, mas a combinação do RSI e do OBV pode determinar se há possibilidade de ajuste de curto prazo neste momento e evitar a construção de posições. Em segundo lugar, a estratégia estabelece simultaneamente uma condição de entrada para quebrar a trajetória de Brin e uma condição de parada para quebrar novamente a trajetória de Brin na direção oposta. Isso permite controlar a taxa de ganho e perda de cada ação dentro de um certo limite razoável, reduzindo a possibilidade de perdas individuais. Finalmente, a lógica do código da estratégia é clara e concisa, a configuração de parâmetros é razoavelmente fácil de entender e é adequada para otimizar e melhorar a estrutura da estratégia para simular o disco real. Isso reduz os riscos que podem surgir quando a estratégia é real.
O maior risco dessa estratégia é que a configuração inadequada da largura do trajeto de Brin pode levar a perda de uma grande quantidade de oportunidades de negociação. Se a configuração do trajeto de Brin for muito grande, o preço da ação precisará de uma flutuação mais significativa para desencadear a lógica de posição ou stop loss. Isso pode perder algumas oportunidades de tendência menores. Além disso, a estratégia atualmente considera apenas a lógica de escolha do ponto de compra e venda, sem a integração de otimização em termos de gestão de capital, gestão de posição e assim por diante. Isso leva a uma possibilidade de acumulação ilimitada de posições unilaterais, que pode facilmente causar grandes perdas por não conseguir parar a saída de perdas a tempo. Finalmente, o RSI e a combinação de indicadores OBV também podem apresentar sinais errados. O RSI não pode determinar a tendência de longo prazo apenas com base na velocidade de queda do preço das ações em um determinado período. O OBV também pode tornar-se menos confiável devido às características de cada ação.
Tendo em conta a análise acima, a estratégia pode ser otimizada em várias direções:
A estratégia de Bollinger Bands RSI OBV utiliza três tipos diferentes de indicadores técnicos, garantindo uma certa estabilidade e critérios de triagem, além de fornecer uma base de estrutura para otimização e melhoria subsequentes. A estratégia é adequada para ações e ações de opções e de ações de linha média e longa, e também pode servir de base para uma estratégia de linha curta para ajustes e otimização substanciais.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © atakhadivi
//@version=4
strategy("BB+RSI+OBV", overlay=true)
src = close
obv = cum(sign(change(src)) * volume)
// plot(obv, color=#3A6CA8, title="OnBalanceVolume")
source = close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = source > basis and rsi(close, 14) > 50 and obv[1] < obv
buyExit = source < lower
sellEntry = source < basis and rsi(close, 14) < 50 and obv[1] > obv
sellExit = source > upper
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",comment="BBandLE", when=buyEntry)
strategy.exit(id='BBandLE', when=buyExit)
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE", when=sellEntry)
strategy.exit(id='BBandSE', when=sellExit)