A taxa de variação da média móvel dupla combinada com a estratégia quantitativa de negociação do indicador RSI

Autora:ChaoZhang, Data: 2023-11-21 12:09:50
Tags:

img

Resumo

Esta estratégia combina crossover de média móvel e indicador RSI duplo para identificar a direção da tendência e situações de sobrecompra / sobrevenda.

Estratégia lógica

Quando a média móvel rápida de 9 períodos cruza acima da média móvel lenta de 50 períodos, ela sinaliza uma tendência de alta em um período de tempo mais curto se sobrepondo a uma tendência de alta em um período de tempo mais longo, o que é um sinal de alta típico.

Quando a média móvel rápida de nove períodos cruza abaixo da média móvel lenta de 50 períodos, sinaliza o início de um mercado de baixa e as posições longas existentes devem ser fechadas.

Análise das vantagens

  • As médias móveis duplas ajudam a determinar a direcção geral do mercado e a evitar falsas rupturas
  • Indicador RSI evita movimentos errados em pontos de virada
  • Flexibilidade no ajuste dos períodos de média móvel para se adequarem a diferentes símbolos e prazos
  • Estratégia de stop loss controlada

Análise de riscos

  • O sinal de cruzamento pode atrasar e causar algumas perdas
  • A configuração incorreta do parâmetro RSI pode perder o melhor momento de entrada
  • Precisa de observar o volume de negociação para ver se ele suporta o movimento de preço
  • Eventos de cisne negro exigem intervenção manual

Orientações de otimização

  • Otimizar os parâmetros do RSI para obter melhores resultados
  • Incorporar o volume de negociação para evitar sinais falsos
  • Ensaiar períodos de média móvel ótimos com base em símbolos e prazos
  • Relaxar o stop loss para evitar ser parado mais cedo

Resumo

Esta estratégia utiliza duplo cruzamento de média móvel para determinar a direção e o RSI para evitar perseguir tops e bottoms. Pode efetivamente montar tendências de médio a longo prazo para lucros constantes. Mas a natureza atrasada dos sinais de cruzamento e ajuste dos parâmetros do RSI deve ser observada. Também precisa correlacionar o preço com o volume. Com testes e otimização contínuos, esta estratégia mostra promessa para resultados ainda melhores.


/*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"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © joshuajcoop01

//@version=5
strategy("Bitpanda Coinrule Template",
         overlay=true,
         initial_capital=1000,
         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)





Mais.