Estratégia de posição longa RSI50_EMA

EMA RSI ATR
Data de criação: 2024-05-11 11:49:29 última modificação: 2024-05-11 11:49:29
cópia: 3 Cliques: 586
1
focar em
1617
Seguidores

Estratégia de posição longa RSI50_EMA

Visão geral

A estratégia é chamada de “estratégia de posição longa RSI50_EMA”, e a ideia principal é usar os sinais de cruzamento de dois indicadores técnicos, o índice relativamente forte ((RSI) e a média móvel do índice ((EMA)), para tomar decisões comerciais. Quando o preço se move de baixo para cima e quebra a trajetória superior da EMA e o RSI é maior do que 50, a posição é aberta. Quando o preço se move de cima para baixo e quebra a trajetória inferior da EMA ou o RSI cai abaixo de 50 posições.

Princípio da estratégia

  1. Calcule o EMA e o ATR, obtendo o EMA em andamento.
  2. Calcule o RSI.
  3. Quando o preço de fechamento entra em EMA e o RSI é maior do que 50, abra mais.
  4. Quando o preço de fechamento atravessa a EMA ou o RSI cai abaixo de 50, todos os excedentes são liquidados.
  5. Faça mais, não menos.

Vantagens estratégicas

  1. É uma estratégia de mercado forte que permite capturar a tendência de alta de ações fortes.
  2. Ao mesmo tempo, o uso de dois indicadores, EMA e RSI, permite uma melhor confirmação de sinais de tendência, aumentando a confiabilidade do sinal.
  3. A administração de posições é feita com um percentual de perda, o risco é controlado.
  4. A lógica do código é clara, simples, fácil de entender e implementar.

Risco estratégico

  1. Os mercados em turbulência são propensos a transações frequentes e grandes retrações.
  2. A escolha incorreta de parâmetros pode causar falha de sinal. Por exemplo, a escolha incorreta do comprimento da EMA pode atrasar o julgamento da tendência. A escolha incorreta do limite superior e inferior do RSI pode levar a pontos de compensação indesejáveis.
  3. A estratégia só consegue capturar o aumento unilateral, mas não consegue capturar o declínio e a oscilação.

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

  1. A introdução de indicadores de confirmação de tendências, como o MACD, aumentou a precisão do julgamento de tendências.
  2. Otimizar os parâmetros do RSI ou introduzir sinais de melhoria como o desvio do RSI.
  3. Considere a adição de travagem móvel ou travagem de taxa de flutuação, melhorando o controle de vento.
  4. A lógica de reversão de posições pode ser considerada para incluir a lógica de reversão de posições em mercados de baixa e baixa.

Resumir

A estratégia de longo prazo RSI50_EMA é uma estratégia de acompanhamento de tendências simples e fáceis de usar, baseada no RSI e na EMA, adequada para uso em situações de tendência unilateral. A lógica da estratégia é clara, as vantagens são evidentes, mas também existem algumas deficiências e riscos.

Código-fonte da estratégia
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level) 
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)

strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
    strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
    strategy.close("RSICLose", when=bull_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)