Estratégia de acompanhamento de tendências com base em RSI e médias móveis


Data de criação: 2023-12-13 17:50:34 última modificação: 2023-12-13 17:50:34
cópia: 1 Cliques: 825
1
focar em
1621
Seguidores

Estratégia de acompanhamento de tendências com base em RSI e médias móveis

Visão geral

Esta estratégia usa o indicador RSI e a média móvel rápida e lenta para determinar o momento de comprar e vender. Quando o RSI sobe 5 pontos e fica abaixo de 70; e faz mais quando cruza a média móvel de 50 dias acima da média móvel de 9 dias; e faz zero quando cruza a média móvel de 9 dias abaixo da média móvel de 50 dias.

Princípio da estratégia

Esta estratégia utiliza principalmente uma combinação de indicadores RSI e médias móveis. O indicador RSI pode mostrar se uma ação ou moeda digital está sobrevalorizada ou subvalorizada. Quando o RSI está abaixo de 30, é considerado um excesso de venda, e quando está acima de 70, é considerado um excesso de compra.

As médias móveis são amplamente usadas para determinar a direção da tendência. As médias móveis rápidas capturam as mudanças de preço mais rapidamente, enquanto as médias móveis lentas filtram as falsas rupturas. Quando uma média móvel lenta é atravessada em uma média móvel rápida, significa que uma tendência ascendente está sendo iniciada.

Análise de vantagens

A maior vantagem desta estratégia é que, através do indicador RSI, é possível determinar se há áreas de sobrevenda, evitando compras altas; e, usando a média móvel lenta e rápida para filtrar as falsas rupturas e bloquear a direção da tendência, pode-se obter uma taxa de lucro mais alta.

Ao mesmo tempo, a estratégia inclui a condição de que o RSI suba 5 pontos consecutivos, evitando ainda mais compras desnecessárias em áreas de sobrecompra. Além disso, a estratégia adota uma forma de negociação de posições parcialmente posicionadas, o que reduz significativamente o risco de perda de uma única transação.

Riscos e prevenção

O maior risco desta estratégia é que tanto o RSI quanto a média móvel podem se atrasar. Quando os preços se movem drasticamente, seus sinais podem se atrasar, levando ao risco de comprar altos ou vender baixos.

Para evitar esse risco, a estratégia inclui a média móvel rápida, que usa a sua capacidade de resposta mais rápida às mudanças de preço para reduzir a possibilidade de atraso. Além disso, algumas negociações de posições também podem reduzir os prejuízos de uma única negociação.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Teste os parâmetros do indicador RSI em diferentes períodos para encontrar a combinação ideal de parâmetros

  2. Teste mais combinações de médias móveis rápidas e lentas para obter melhores filtragens

  3. Optimizar o tamanho da posição, testar diferentes parâmetros de posição

  4. Aumentar o limite de perda para bloquear o lucro

Resumir

Esta estratégia é muito adequada para a negociação de tendências em geral. Evite as áreas de sobrevenda com o indicador RSI, e use a média móvel lenta para determinar a direção da tendência e a resistência de suporte importante. Ao mesmo tempo, com a negociação de algumas posições, pode-se obter uma maior taxa de vitória e lucro.

Código-fonte da estratégia
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
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/
// © Coinrule

//@version=5
strategy("RSI with Slow and Fast MA Crossing Strategy (by Coinrule)",
         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)