O recurso está a ser carregado... Carregamento...

Estratégia de sinalização longa-curta baseada no QQE e no RSI

Autora:ChaoZhang, Data: 2024-05-27 15:17:45
Tags:RSIQQE

img

Resumo

Esta estratégia é baseada no indicador QQE e no indicador RSI. Ele calcula a média móvel suavizada e a faixa de oscilação dinâmica do indicador RSI para construir intervalos de sinal longos e curtos. Quando o indicador RSI atravessa o trilho superior, ele gera um sinal longo, e quando atravessa o trilho inferior, ele gera um sinal curto. A ideia principal da estratégia é usar as características de tendência do indicador RSI e as características de volatilidade do indicador QQE para capturar mudanças nas tendências do mercado e oportunidades de volatilidade.

Princípio da estratégia

  1. Calcular a média móvel suavizada RsiMa do indicador RSI como base para julgar a tendência.
  2. Calcular o valor de desvio absoluto AtrRsi do indicador RSI e a sua média móvel suavizada MaAtrRsi como base para julgar a volatilidade.
  3. Calcular a faixa de oscilação dinâmica dar de acordo com o fator QQE, e combiná-lo com RsiMa para construir os intervalos de sinal longa-curta banda longa e banda curta.
  4. Julgue a relação entre o indicador RSI e os intervalos de sinal longo-curto. Quando o indicador RSI cruza acima da banda longa, ele gera um sinal longo e quando cruza abaixo da banda curta, ele gera um sinal curto.
  5. Quando um sinal longo é acionado, abra uma posição longa e quando um sinal curto é acionado, feche a posição.

Vantagens da estratégia

  1. Combina as características do indicador RSI e do indicador QQE, que permitem captar melhor as tendências do mercado e as oportunidades de volatilidade.
  2. Utiliza um intervalo de oscilação dinâmica para construir intervalos de sinal, que podem adaptar-se às alterações na volatilidade do mercado.
  3. Ele suaviza o indicador RSI e a faixa de volatilidade, reduzindo efetivamente a interferência de ruído e a frequência de negociação.
  4. A lógica é clara, com menos parâmetros, e é adequada para uma melhor otimização e melhoria.

Riscos estratégicos

  1. Para mercados voláteis e mercados com baixa volatilidade, o desempenho desta estratégia pode não ser ideal.
  2. Não dispõe de um mecanismo de stop-loss claro e pode enfrentar um risco de retirada maior quando o mercado reverte repentinamente.
  3. As definições dos parâmetros têm um impacto maior no desempenho da estratégia e devem ser ajustadas em função dos diferentes mercados e variedades.

Orientações para a otimização da estratégia

  1. Introduzir mecanismos de stop-loss claros, tais como stop-loss de percentagem fixa, ATR stop-loss, etc., para controlar o risco de retirada.
  2. Otimizar as configurações de parâmetros. A combinação ideal de parâmetros pode ser encontrada através de algoritmos genéticos, pesquisa em grade e outros métodos.
  3. Considerar a introdução de outros indicadores, tais como o volume de negociação e o volume de posições, para enriquecer os sinais de negociação e melhorar a estabilidade da estratégia.
  4. Para mercados voláteis, considerar a introdução de uma lógica de negociação de intervalo ou de negociação de balanço para aumentar a adaptabilidade da estratégia.

Resumo

Esta estratégia constrói sinais long-short baseados no indicador RSI e no indicador QQE, e tem as características de captura de tendência e captura de volatilidade. A lógica da estratégia é clara, com menos parâmetros, e é adequada para otimização e melhoria adicionais. No entanto, a estratégia também tem certos riscos, como controle de drawdown e configuração de parâmetros, que precisam ser melhorados. No futuro, a estratégia pode ser otimizada a partir de aspectos como mecanismo de stop-loss, otimização de parâmetros, enriquecimento de sinal e adaptabilidade a diferentes mercados, a fim de melhorar a robustez e lucratividade da estratégia.


/*backtest
start: 2023-05-21 00:00:00
end: 2024-05-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=4
// modified by swigle
// thanks colinmck

strategy("QQE signals bot", overlay=true)


RSI_Period = input(14, title='RSI Length')
SF = input(5, title='RSI Smoothing')
QQE = input(4.236, title='Fast QQE Factor')
ThreshHold = input(10, title="Thresh-hold")

src = close
Wilders_Period = RSI_Period * 2 - 1

Rsi = rsi(src, RSI_Period)
RsiMa = ema(Rsi, SF)
AtrRsi = abs(RsiMa[1] - RsiMa)
MaAtrRsi = ema(AtrRsi, Wilders_Period)
dar = ema(MaAtrRsi, Wilders_Period) * QQE

longband = 0.0
shortband = 0.0
trend = 0

DeltaFastAtrRsi = dar
RSIndex = RsiMa
newshortband = RSIndex + DeltaFastAtrRsi
newlongband = RSIndex - DeltaFastAtrRsi
longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? max(longband[1], newlongband) : newlongband
shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? min(shortband[1], newshortband) : newshortband
cross_1 = cross(longband[1], RSIndex)
trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1)
FastAtrRsiTL = trend == 1 ? longband : shortband

// Find all the QQE Crosses

QQExlong = 0
QQExlong := nz(QQExlong[1])
QQExshort = 0
QQExshort := nz(QQExshort[1])
QQExlong := FastAtrRsiTL < RSIndex ? QQExlong + 1 : 0
QQExshort := FastAtrRsiTL > RSIndex ? QQExshort + 1 : 0

//Conditions

qqeLong = QQExlong == 1 ? FastAtrRsiTL[1] - 50 : na
qqeShort = QQExshort == 1 ? FastAtrRsiTL[1] - 50 : na

// Plotting

plotshape(qqeLong, title="QQE long", text="Long", textcolor=color.white, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(qqeShort, title="QQE short", text="Short", textcolor=color.white, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny)

// trade

//if qqeLong > 0
strategy.entry("buy long", strategy.long, 100, when=qqeLong)
    
if qqeShort > 0
    strategy.close("buy long")
    // strategy.exit("close_position", "buy long", loss=1000)
    // strategy.entry("sell", strategy.short, 1, when=strategy.position_size > 0)
    


Relacionados

Mais.