Este artigo analisa principalmente a estratégia quantitativa de negociação desenvolvida por Ravikant_sharma com base em múltiplas médias móveis exponenciais (EMA) e índice de força relativa (RSI).
A estratégia usa 5 EMAs com períodos diferentes, incluindo linhas de 9 dias, 21 dias, 51 dias, 100 dias e 200 dias.
Antes da compra, deve preencher-se uma das seguintes condições:
Ao mesmo tempo, o RSI deve ser superior a 65, indicando uma forte tendência de alta.
Uma das seguintes condições deve ser preenchida antes do encerramento da posição:
Trata-se de uma tendência típica que segue uma estratégia com os seguintes pontos fortes:
Ainda existem alguns riscos:
A estratégia pode ser ainda melhorada das seguintes maneiras:
Em conclusão, esta é uma estratégia geral confiável e fácil de implementar. Com o crossover da EMA para a direção da tendência e o filtro RSI para sinais falsos, bons resultados de backtest fornecem uma base sólida para mais parâmetros e otimização do modelo para obter lucros constantes. No entanto, os traders ainda devem ser cautelosos com inversões acentuadas e parâmetros inadequados que representam riscos.
/*backtest start: 2024-01-30 00:00:00 end: 2024-02-29 00:00:00 period: 3h basePeriod: 15m 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/ // © Ravikant_sharma //@version=5 strategy('new', overlay=true) start = timestamp(1990, 1, 1, 0, 0) end = timestamp(2043, 12, 12, 23, 59) ema0 = ta.ema(close, 9) ema1 = ta.ema(close, 21) ema2 = ta.ema(close, 51) ema3 = ta.ema(close, 100) ema4 = ta.ema(close, 200) rsi2=ta.rsi(ta.sma(close,14),14) plot(ema0, '9', color.new(color.green, 0)) plot(ema1, '21', color.new(color.black, 0)) plot(ema2, '51', color.new(color.red, 0)) plot(ema3, '200', color.new(color.blue, 0)) //plot(ema4, '100', color.new(color.gray, 0)) //LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) // LongEntry=false if ta.crossover(ema0,ema1) if rsi2>65 LongEntry:=true if ta.crossover(ema1,ema2) if rsi2>65 LongEntry:=true LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98) if time >= start and time <= end if(LongEntry and rsi2>60) strategy.entry('Long', strategy.long, 1) if(LongExit) strategy.close('Long')