Estratégia de negociação de crossover descendente de bandas de Bollinger RSI Pullback


Data de criação: 2023-12-26 12:08:44 última modificação: 2023-12-26 12:08:44
cópia: 1 Cliques: 588
1
focar em
1621
Seguidores

Estratégia de negociação de crossover descendente de bandas de Bollinger RSI Pullback

Visão geral

A estratégia usa o indicador de Brin para determinar se o preço entrou na zona de sobrevenda e sobrevenda, combinado com o indicador RSI para determinar se há oportunidades de reversão, fazendo uma folga quando a zona de sobrevenda se forma e parando quando o preço sobe acima do Brin.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes princípios:

  1. Quando os preços de fechamento são sobrecarregados pela correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação da correlação
  2. O RSI é um indicador eficaz para determinar áreas de sobrecompra e sobrevenda. O RSI > 70 é uma área de sobrecompra
  3. Quando o preço de fechamento sai de cima para baixo, faça uma posição em curto
  4. Quando o RSI retrocede da zona de overbought ou a parada de perda é acionada, a parada de parada é acionada.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O uso da faixa de brinquedo para determinar áreas de sobrecompra e sobrevenda para aumentar a taxa de sucesso dos trades
  2. Combinando a possibilidade de um falso rompimento com o RSI, evitar perdas desnecessárias
  3. A relação de ganhos e perdas é alta, mas o risco é controlado.

Análise de Riscos

A estratégia apresenta os seguintes riscos:

  1. A subida continuada após a ruptura da rota levou à expansão da perda.
  2. RSI não retrocede em tempo, perdas aumentam
  3. A posição unilateral não permite a liquidação do mercado.

O risco pode ser reduzido através das seguintes medidas:

  1. Ajustar o ponto de parada apropriadamente, parar o prejuízo a tempo
  2. Combinação de outros indicadores para determinar o sinal de retorno do RSI
  3. Indicadores de equilíbrio para avaliar a correção

Direção de otimização

A estratégia pode ser otimizada em:

  1. Optimizar os parâmetros da faixa de Bryn para mais variedades de transação
  2. Optimizar os parâmetros do RSI para melhorar a eficácia do indicador
  3. Adicionar outros conjuntos de indicadores para determinar o ponto de reversão da tendência
  4. Adição de lógica de transação multi-cabeça
  5. Combinação de estratégias de stop loss e ajuste dinâmico de stop loss

Resumir

A estratégia é uma estratégia de negociação de linha curta rápida típica da zona de ultra-compra. Utiliza a faixa de Brin para determinar o ponto de compra e venda, os sinais de filtragem RSI. Controla o nível de risco com um stop loss razoável.

Código-fonte da estratégia
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule


strategy("Bollinger Band Below Price with RSI",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=70,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)



// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01

// Determine trail stop loss prices
//longStopPrice = 0.0
shortStopPrice = 0.0

//longStopPrice := if strategy.position_size > 0
    //stopValue = close * (1 - longTrailPerc)
    //math.max(stopValue, longStopPrice[1])
//else
    //0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999


//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', limit = shortStopPrice)