
Esta estratégia é chamada de RSI-MA, uma estratégia de acompanhamento de tendências que utiliza o indicador RSI e a linha média de MA para determinar a tendência dos preços e emitir um sinal de negociação. O indicador RSI gera um sinal de negociação quando ultrapassa um valor de alta ou baixa definido, enquanto a linha média de MA é usada para filtrar os falsos sinais e emitir um sinal apenas quando os preços continuam a subir ou cair.
A estratégia usa principalmente o indicador RSI e a linha média de MA. O RSI é usado para determinar o excesso de compra e a MA é usada para determinar a direção da tendência. A lógica específica é:
Calcule o valor do indicador RSI e defina um limite de alta de 90 e um limite de baixa de 10. Quando o RSI é superior a 90 é um sinal de sobrecompra e menor a 10 é um sinal de sobrevenda.
Calcule a média da MA de um determinado período (por exemplo, 4 dias). Quando o preço continua a subir, a linha MA sobe; Quando o preço continua a cair, a linha MA desce.
Quando o RSI for superior a 90 e o MA for acima da linha, faça short; quando o RSI for inferior a 10 e o MA for abaixo da linha, faça over.
O Stop Loss é definido como um número fixo de pontos por mão, e o Stop Stop é definido como uma porcentagem fixa por mão.
A estratégia combina o indicador RSI e a dupla filtragem da linha média MA, para filtrar efetivamente os falsos sinais em situações de turbulência. Ao mesmo tempo, a configuração do RSI evita que os sinais cheguem muito tarde, garantindo uma certa margem de lucro.
Os principais riscos desta estratégia são:
O RSI e o MA não reagiram, podendo causar grandes perdas.
Os RSI e MA podem emitir sinais com frequência em situações de turbulência, resultando em taxas de transação e custos de deslizamento aumentados por negociações muito frequentes.
Parâmetros mal definidos também podem afetar o desempenho da estratégia, como o RSI acima ou abaixo de um limite muito amplo, o sinal é atrasado, o sinal é muito estreito, o sinal é muito frequente.
A estratégia pode ser melhorada em várias áreas, incluindo:
Testar e otimizar de acordo com diferentes variedades e parâmetros de ciclo, definindo a melhor combinação de parâmetros.
A adição de outros indicadores, como a adição de KDJ, BOLL, etc., estabelece condições de filtragem mais rigorosas e reduz a probabilidade de transações erradas.
Configure um mecanismo de parada de perda adaptável, como o ajuste dinâmico do preço de parada de acordo com a volatilidade e o ATR.
Adição de algoritmos de aprendizagem de máquina para ajustar automaticamente os parâmetros da estratégia de acordo com a situação do mercado, permitindo a otimização dinâmica dos parâmetros.
A estratégia RSI-MA é simples e prática em geral, mas combina o acompanhamento de tendências e o julgamento de supercompra e supervenda para obter melhores retornos em um bom ambiente de mercado. No entanto, há um risco de erro de negociação de certa probabilidade, que precisa ser otimizado para reduzir o risco e aumentar a estabilidade.
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//This strategy is best used with the Chrome Extension AutoView for automating TradingView alerts.
//You can get the AutoView extension for FREE using the following link
//https://chrome.google.com/webstore/detail/autoview/okdhadoplaoehmeldlpakhpekjcpljmb?utm_source=chrome-app-launcher-info-dialog
strategy("4All", shorttitle="Strategy", overlay=false)
src = close
len = input(4, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)
band1 = hline(90)
band0 = hline(10)
fill(band1, band0, color=purple, transp=90)
rsin = input(5)
sn = 100 - rsin
ln = 0 + rsin
short = crossover(rsi, sn)
long = crossunder(rsi, ln)
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)
TP = input(15) * 10
SL = input(23) * 10
TS = input(0) * 10
CQ = 100
TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)