VSTOCHASTIC RSI EMA CROSSOVER COMBINADO COM VMACD WAVEFINDER STRATEGY

Autora:ChaoZhang, Data: 2023-11-21 17:12:06
Tags:

img

Resumo

Esta é uma estratégia que incorpora o RSI estocástico, os crossovers da EMA e o VMACD para identificar pontos de reversão do mercado e tem melhor desempenho quando uma reversão da tendência de baixa é iminente.

Estratégia lógica

A estratégia baseia-se principalmente na combinação dos seguintes indicadores:

  1. RSI estocástico: para identificar condições de sobrecompra e sobrevenda
  2. Crossover EMA entre Fast EMA e Slow EMA: Para determinar a direcção da tendência e reversões potenciais
  3. VMACD: Para confirmar sinais de inversão

Quando o RSI estocástico se recupera da região de supervenda, a EMA rápida cruza acima da EMA lenta e, ao mesmo tempo, o VMACD começa a subir, um sinal de compra é gerado.

A estratégia rastreia as mudanças desses indicadores em tempo real e calcula a SMA, EMA e outras informações durante um período de retrospectiva fixo. Quando as condições de compra são desencadeadas, ela vai comprar e abrir posição com um número fixo de contratos.

Análise das vantagens

A estratégia combina múltiplos indicadores e é capaz de identificar eficazmente as oportunidades de reversão do mercado.

  1. O RSI estocástico é forte na captura de condições de sobrecompra e sobrevenda
  2. O crossover EMA tem alta precisão na determinação de sinais de reversão
  3. O VMACD ajuda a filtrar sinais falsos de forma eficaz
  4. A combinação de vários indicadores melhora a qualidade do sinal
  5. A utilização da SMA a curto prazo como método de stop loss é razoável

Em resumo, esta estratégia pode captar eficazmente os sinais de reversão, estabelecer posições longas após uma certa diminuição e, assim, obter lucros.

Análise de riscos

Apesar de ter alguma vantagem, há também riscos a serem observados para esta estratégia:

  1. O mercado pode não reverter e continuar a diminuir - risco sistemático
  2. A probabilidade de múltiplos indicadores desencadear a compra conjunta não é alta - poucos sinais
  3. O SMA de stop loss pode ser demasiado subjetivo e resultar num controlo de drawdown medíocre
  4. Não tem em conta ambientes de mercado de alta volatilidade

Algumas formas de reduzir os riscos:

  1. Adicionar mais indicadores de reversão para um melhor efeito de combinação
  2. O valor da posição em risco deve ser calculado de acordo com o método de classificação da posição em risco.
  3. Julgar as condições do mercado e evitar tomar posições em ambientes agitados
  4. Otimizar a lógica de stop loss para evitar que a stop loss excessivamente agressiva seja interrompida

Orientações de otimização

Principais domínios que poderiam ser otimizados para a estratégia:

  1. Adicionar mais indicadores para formar um conjunto de indicadores, melhorando a qualidade do sinal
  2. Selecionar parâmetros ideais com base nas características das diferentes classes de ativos
  3. Incorporar modelos de aprendizagem de máquina para estimar a probabilidade de reversão com base em dados históricos
  4. Adicionar deslizamento ao backtesting para tornar os resultados mais próximos do desempenho ao vivo
  5. Refinar a metodologia de stop loss para tornar mais suave e razoável
  6. Detetar condições de tendência para distinguir os ambientes de variação e tendência antes de entrar em posições às cegas

Conclusão

No geral, este cruzamento VRSI-EMA com a Estratégia VMACD Wavefinder é bastante capaz de capturar oportunidades de reversão de tendência de baixa. Ele gera sinais de compra efetivamente, combinando vários indicadores para determinar o momento ideal para reversões. No entanto, ainda há algumas áreas para melhorias. Se otimizado, o desempenho da estratégia na negociação ao vivo pode ser ainda melhor.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Wavefinder+", overlay=true)
length = input(20)
confirmBars = input(2)
price = close

slow = input(12, "Short period")
fast = input(26, "Long period")
signal = input(9, "Smoothing period")


maFast = ema( volume * close, fast ) / ema( volume, fast ) 
maSlow = ema( volume * close, slow ) / ema( volume, slow ) 
da = maSlow - maFast 
maSignal = ema( da, signal ) 
dm=da-maSignal


source = close
lengthRSI = input(14, minval=8), lengthStoch = input(14, minval=5)
smoothK = input(3,minval=3), smoothD = input(3,minval=3)
OverSold = input(25), OverBought = input(75)
rsi1 = rsi(source, lengthRSI)
rsi2= rsi(low, 20)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
k1= sma(stoch(rsi2, rsi2, rsi2, lengthStoch), smoothK)
d1= sma(k1, smoothD)
delta=k-d1
ma = ema(low, length)
ema5= ema(price,20)
sma= sma(price,10)
bcond = price < ma
lcond = price> ema5
bcount = 0
lcount= 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
lcount := lcond ? nz(lcount[1]) + 1 : 0

if (lcount>1 and change(k)>3 and k>d and k<55 and rising(dm,1)) or ( k[1]-k[2]<-2 and k-k[1]>5 and k>35 and k<80) or (ma-sma>0.05*sma and rising(sma,3) and rising(dm,2)) 
    strategy.entry("Long", strategy.long, qty=10000/close)

if (bcount == confirmBars)
    strategy.close("Long")
if close<0.99*sma
    strategy.close("Long")

plot(0.99*sma)
plot(ma)

//hline(OverSold,color=blue)
//hline(OverBought,color=blue)

//plot(d, color=red)
//plot(k, color=green,title="k-line")
    
//(close-close[3]<-0.05*close[3]) or (close-close[2]<-0.05*close[2]) or (close-close[2]<-0.05*close[2]) or (close-close[4]<-0.05*close[4]) or
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.