Estratégia RSI Diagonal Stacked Multi-Time Frame


Data de criação: 2023-09-28 16:12:25 última modificação: 2023-09-28 16:12:25
cópia: 2 Cliques: 735
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é uma estratégia de RSI não-redesenho em vários prazos e só é redesenhada quando dois prazos mais altos são superados. Eu escrevi sobre a linha de 1 minuto do BTC/USD, mas a lógica pode ser aplicada a outros ativos.

Princípios

A estratégia de superposição de ângulo reduz esse problema através da contraposição, ou seja, quando o quadro de tempo mais rápido é vendido e quando o quadro de tempo mais lento é vendido.

Portanto, esta estratégia é diagonal. Eu poderia criar um script separado para alternar entre o diagonal para cima e o diagonal para baixo de acordo com a tendência geral, pois o indicador pode não piscar com frequência durante uma tendência ascendente prolongada. Isso pode ser visto como um ângulo X na sequência de tempo e no gráfico do quadro de tempo.

Vantagens

  • Utilização de indicadores RSI em vários prazos para aumentar a confiabilidade dos sinais de negociação
  • Entradas para as camadas de cantos, com mais oportunidades em uma tendência de queda
  • Indicadores não redesenhados, sinais confiáveis
  • Parâmetros RSI configuráveis e limites de sobrecompra e sobrevenda para diferentes mercados
  • Considere os custos de transação e busque lucros estáveis em vez de transações de alta frequência

Riscos e soluções

  • O RSI é propenso a falsos sinais, podendo ajustar os parâmetros ou adicionar condições de filtragem adequadamente
  • A superposição de cantos aumenta a dificuldade de entrada e reduz o número de quadros de tempo de superposição
  • Fazer apenas mais, assumir riscos direcionais, considerar fazer mais equilíbrio
  • Utilização de stop loss fixo para controlar perdas individuais

Direção de otimização

  • Aumentar o julgamento de tendências, usando a superposição de contra-ângulos quando a tendência é baixa, usando contra-ângulos para cima quando a tendência é alta
  • Optimizar os parâmetros do RSI para encontrar a melhor combinação de parâmetros
  • Aumentar o volume, MA e outros indicadores de filtragem para melhorar a qualidade do sinal
  • Aumentar as estratégias de shorting para que sejam lucrativas em todos os mercados
  • Optimizar a estratégia de parada de perdas e reduzir a retração

Resumir

Esta estratégia é, em geral, uma estratégia de negociação de tendências de baixa muito eficaz. Utilizando o indicador RSI de múltiplos quadros temporais e o modo de entrada de camadas de contracorrente, é possível capturar oportunidades de rebote na fase de queda.

Código-fonte da estratégia
/*backtest
start: 2022-09-21 00:00:00
end: 2023-06-24 00:00:00
period: 1d
basePeriod: 1h
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/
// © wbburgin

//@version=5
strategy("MTF Layered RSI - Bitcoin Bot [wbburgin]",overlay=false, pyramiding = 20, initial_capital=10000)

length = input.int(7,"RSI Length")
tf2 = input.timeframe("3",title="HT 1")
tf3 = input.timeframe("5",title="HT 2")
ob = input.int(80,"Overbought Level")
os = input.int(20,"Oversold Level")

rsi = ta.rsi(close,length)
rsi2 = request.security(syminfo.tickerid, tf2, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
rsi3 = request.security(syminfo.tickerid, tf3, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)

plot(rsi,color=color.yellow,title="RSI Current TF")
plot(rsi2,color=color.new(color.yellow,50),title="RSI HT1")
plot(rsi3,color=color.new(color.yellow,75),title="RSI HT2")

lm=hline(os,title="Oversold")
hm=hline(ob,title="Overbought")

fill(hm,lm,color=color.new(color.blue,95))

htCross = (ta.crossover(rsi2,os) and rsi3>os and rsi>os) or (ta.crossover(rsi3,os) and rsi2>os and rsi>os)
buySig = (ta.crossover(rsi,os) and rsi2 < os and rsi3 < os) or htCross
sellSig = ta.crossunder(rsi,ob)

if buySig
    strategy.entry("Long",strategy.long)
if sellSig
    strategy.close("Long")

plotshape(buySig,title="Buysig",style=shape.triangleup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(sellSig,title="Sellsig",style=shape.triangledown,location=location.top,color=color.red,size=size.tiny)