Com base no RSI, Bandas de Bollinger e estratégia de suporte e resistência


Data de criação: 2024-02-19 14:43:34 última modificação: 2024-02-19 14:43:34
cópia: 0 Cliques: 642
1
focar em
1617
Seguidores

Com base no RSI, Bandas de Bollinger e estratégia de suporte e resistência

Visão geral

Esta estratégia de negociação permite decisões de negociação automatizadas por meio da combinação de três fortes indicadores tecnológicos, o RSI, a faixa de Brin e a resistência de suporte. O robô é capaz de identificar inteligentemente os pontos de entrada e saída potenciais de acordo com as condições do mercado, para que ele possa fazer pedidos automaticamente, sem a intervenção humana.

Princípio da estratégia

A lógica central do robô de negociação é baseada em três indicadores: RSI, Brinks e resistência de suporte.

Em primeiro lugar, o RSI é usado para avaliar a força ou fraqueza de uma tendência de mercado. Quando o RSI é maior que 70, o mercado está em um estado de sobrecompra. Quando o RSI é menor que 30, o mercado está em um estado de sobrevenda.

Em segundo lugar, a faixa de Brin representa a faixa de flutuação do mercado. A faixa de Brin é a faixa de flutuação normal do mercado. Quando os preços tocam a faixa de Brin em alta, o mercado entra em uma área relativamente alta, e esse mercado é propenso a reverter para baixo.

Finalmente, a partir da trajectória de alta e baixa da faixa de Bollinger, pode-se deduzir a resistência de suporte crucial. A resistência está localizada perto da trajectória de baixa da faixa de Bollinger, e a resistência está localizada perto da trajectória de alta da faixa de Bollinger. Isso significa que quando o preço sobe até a resistência, é provável que o preço caia em vez de vender; e quando o preço desce para a resistência, é provável que o preço volte para o comprador.

Combinando esses três indicadores, a lógica de entrada do robô é: quando o preço toca a trajetória de baixa da faixa de Brin (área de oversold) e está no ponto de suporte, emite um sinal de compra; quando o preço toca a trajetória de alta da faixa de Brin (área de oversold) e o ponto alto é maior que o ponto de resistência, emite um sinal de venda. A lógica de saída é a mudança de direção da linha média móvel.

Vantagens estratégicas

  1. A estratégia integra vários indicadores que permitem avaliar o estado do mercado de forma abrangente e os sinais são mais confiáveis.

  2. A realização de transações totalmente automatizadas, sem a necessidade de intervenção humana, para evitar a perda de oportunidades de negociação;

  3. O sistema de notificação de sinais em tempo real permite que os traders estejam sempre informados sobre as transações, em qualquer lugar.

  4. Os pontos de negociação são visualizados através de gráficos claros e marcados.

  5. Os parâmetros são ajustáveis e podem ser otimizados para diferentes variedades e períodos de tempo.

Riscos e soluções

  1. A ocorrência de flutuações anormais no mercado pode levar a um risco de perda. Pode-se definir um limite de perda para controlar a perda máxima.

  2. A configuração inadequada dos parâmetros do robô pode causar uma frequência de negociação excessiva ou má qualidade do sinal. Os parâmetros devem ser ajustados de acordo com os resultados do feedback para encontrar a configuração ideal.

  3. A falha do sistema pode causar interrupção da transmissão de sinais ou atrasos na encomenda. Deve-se adotar um host e uma rede estáveis e confiáveis para a construção.

Direção de otimização

  1. Aumentar a lógica de stop loss. Ativar o stop loss após uma perda de certa magnitude ajuda a controlar ainda mais o risco.

  2. Adição do módulo de gestão de fundos. Adaptação dinâmica da proporção de fundos para cada pedido de acordo com a situação dos fundos da conta, mais inteligente.

  3. Combinação de técnicas de aprendizagem de máquina coleta de dados históricos, uso de redes neurais para treinamento e otimização de parâmetros, entre outros, para a evolução contínua da estratégia

  4. Optimizar os parâmetros de todas as variedades. Os parâmetros existentes podem ser mais adequados para algumas variedades, e a otimização pode encontrar o melhor conjunto de parâmetros para cada variedade.

Resumir

A estratégia de negociação possui uma forte adaptabilidade e universalidade. Combina vários indicadores para avaliar o estado do mercado e é capaz de capturar efetivamente os pontos de reversão da tendência e automatizar a negociação. Com otimização contínua, espera-se obter lucros extras mais estáveis. É uma solução de negociação quantitativa confiável.

Código-fonte da estratégia
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI, Bollinger Bands, and Support/Resistance Trading Bot", overlay=true)

// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")

// Define Bollinger Bands parameters
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")

// Calculate RSI
rsiValue = rsi(close, rsiLength)

// Calculate Bollinger Bands
basis = sma(close, bbLength)
upperBand = basis + bbMultiplier * stdev(close, bbLength)
lowerBand = basis - bbMultiplier * stdev(close, bbLength)

// Calculate Support and Resistance based on Bollinger Bands
support = basis - bbMultiplier * stdev(close, bbLength)
resistance = basis + bbMultiplier * stdev(close, bbLength)

// Strategy logic
rsiCondition = rsiValue > rsiOverbought or rsiValue < rsiOversold
touchingUpperBand = close >= upperBand
touchingLowerBand = close <= lowerBand

// Entry conditions
longCondition = touchingLowerBand and low <= support
shortCondition = touchingUpperBand and high >= resistance

// Exit conditions
longExitCondition = crossover(close, basis)
shortExitCondition = crossunder(close, basis)

// Automatic close if moving in opposite direction
if (strategy.position_size > 0 and shortCondition)
    strategy.close("Long")

if (strategy.position_size < 0 and longCondition)
    strategy.close("Short")

// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot entry and exit arrows
plotarrow(series=longCondition ? 1 : na, colorup=color.new(color.green, 0), offset=-1, minheight=5)
plotarrow(series=shortCondition ? 1 : na, colordown=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=longExitCondition ? -1 : na, colorup=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=shortExitCondition ? -1 : na, colordown=color.new(color.green, 0), offset=-1, minheight=5)

// Plot Bollinger Bands on chart
plot(upperBand, title="Upper Band", color=color.red)
plot(lowerBand, title="Lower Band", color=color.green)

// Highlight areas where price touches Bollinger Bands
bgcolor(touchingUpperBand ? color.new(color.red, 90) : na)
bgcolor(touchingLowerBand ? color.new(color.green, 90) : na)

// Plot Support and Resistance
plot(support, title="Support", color=color.blue)
plot(resistance, title="Resistance", color=color.purple)

// Plot RSI on chart
hline(rsiOverbought, "Overbought Level", color=color.red)
hline(rsiOversold, "Oversold Level", color=color.green)
plot(rsiValue, title="RSI", color=color.blue)