Estratégia de salto de preço de média móvel dupla


Data de criação: 2023-11-21 14:28:35 última modificação: 2023-11-21 14:28:35
cópia: 0 Cliques: 586
1
focar em
1617
Seguidores

Estratégia de salto de preço de média móvel dupla

Visão geral

A estratégia usa o indicador RSI para avaliar a tendência de compra e venda, combinando a linha rápida, a linha média e a linha lenta, para avaliar a oportunidade de abrir uma posição quando o preço se move.

Princípio da estratégia

  1. O indicador RSI é usado para avaliar o excesso de compra e venda.
  • Parâmetro RSI definido para 14 ciclos
  • A linha de superalimento é de 30, a linha de superalimento é de 70.
  1. Tendências de medição de SMA usando três períodos diferentes
  • A linha rápida é um SMA de 9 ciclos, representando uma tendência de curto prazo
  • A linha central é um SMA de 50 ciclos, representando a tendência a médio prazo
  • A linha lenta é um SMA de 200 ciclos, representando uma tendência de longo prazo
  1. Quando a linha rápida atravessa a linha média e o indicador RSI mostra um excesso de venda, faça uma entrada adicional

  2. Quando a linha abaixo atravessa a linha média e o indicador RSI mostra um excesso de compra, faça um shorting

  3. Stop loss definido como 4% do preço de entrada

  4. O lucro é obtido através de um bloqueio em lotes, primeiro bloqueio de 20%, e depois bloqueio de 15% se o preço continuar a subir, e, em seguida, sair da posição

Análise de vantagens

  1. A linha média SMA de três períodos diferentes permite avaliar a variação da tendência em diferentes períodos de tempo
  2. O uso do RSI evita a criação de posições em áreas que não são supercompradas
  3. O bloqueio de lotes aumentou o ciclo de manutenção da estratégia e também o lucro médio da manutenção

Análise de Riscos

  1. Probabilidade de três linhas equidistantes emitirem um sinal errado
  2. Risco de que não seja completada a entrega dos lotes
  3. A necessidade de escolher a variedade de ações apropriada para a maior volatilidade dos preços

Direção de otimização da estratégia

  1. Parâmetros podem ser testados para modificar a média e o RSI, otimizando as chances de entrada e saída
  2. Pode-se adicionar outros indicadores para melhorar a precisão da estratégia
  3. Controle de riscos através de traçamento dinâmico de stop loss

Resumir

Esta estratégia, combinada com o indicador de linha média e o indicador RSI de overbought e oversold, para julgar oportunidades de compra e venda ao mesmo tempo em que capta a tendência de mudança de preço, é uma das estratégias de acompanhamento de tendências mais comuns. A estratégia pode ser otimizada e aumentada ainda mais através de testes de parâmetros e adição de outros indicadores de julgamento auxiliares.

Código-fonte da estratégia
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
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/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")