Este artigo apresenta principalmente uma estratégia de negociação quantitativa baseada no RSI e WMA. A estratégia gera sinais de compra e venda calculadamente os valores do RSI e WMA para descobrir pontos de reversão dos preços das ações, com o objetivo de comprar baixo e vender alto.
Os indicadores centrais desta estratégia incluem RSI e WMA. RSI (Relative Strength Index) é um indicador de volatilidade usado para medir a mudança na velocidade de aumentos e quedas recentes de preços. WMA (Weighted Moving Average) é uma média móvel ponderada.
O sinal de compra da estratégia é gerado quando o RSI cruza acima da WMA, indicando uma reversão de preço e um possível início de uma tendência ascendente.
Especificamente, a estratégia primeiro calcula o RSI de 14 dias, depois calcula o WMA de 45 dias. Se o RSI cruzar acima do WMA, um sinal de compra é gerado. Se o RSI cruzar abaixo do WMA, um sinal de venda é gerado. A combinação de RSI e WMA pode capturar pontos de reversão de preço com mais precisão.
Esta estratégia tem as seguintes vantagens:
Os riscos incluem:
Estes riscos podem ser mitigados através do ajuste de parâmetros, stop loss, filtragem dos riscos de mercado, etc.
A estratégia pode ser otimizada a partir dos seguintes aspectos:
Esta estratégia integra RSI e WMA para capturar crossovers para sinais comerciais, permitindo uma negociação de algo simples e eficaz. É fácil de implementar e lucrativo em mercados de alta.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI WMA Strategy", overlay=true) // Input parameters rsiLength = input(14, title="RSI Length") wmaLength = input(45, title="WMA Length") // Calculate RSI and WMA rsiValue = ta.rsi(close, rsiLength) wmaValue = ta.wma(rsiValue, wmaLength) // Define overbought and oversold levels for RSI overboughtLevel = 70 oversoldLevel = 30 // Strategy logic longCondition = ta.crossover(rsiValue, wmaValue) shortCondition = ta.crossunder(rsiValue, wmaValue) // Execute trades if (longCondition) strategy.entry("Long", strategy.long, comment="BUY") if (shortCondition) strategy.entry("Short", strategy.short, comment="SELL") // Plotting for visualization plot(rsiValue, title="RSI", color=color.blue) plot(wmaValue, title="WMA", color=color.orange) hline(overboughtLevel, "Overbought Level", color=color.red) hline(oversoldLevel, "Oversold Level", color=color.green) // Plot buy and sell signals on the chart plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)