O recurso está a ser carregado... Carregamento...

RSI50_EMA Estratégia única de longo prazo

Autora:ChaoZhang, Data: 2024-05-11 11:49:29
Tags:EMARSIATR

img

Resumo

A estratégia chamada RSI50_EMA Long Only Strategy usa principalmente os sinais de cruzamento de dois indicadores técnicos, Índice de Força Relativa (RSI) e Média Móvel Exponencial (EMA), para tomar decisões de negociação.

Princípio da estratégia

  1. Calcular a EMA e a ATR para obter as faixas superior e inferior da EMA.
  2. Calcule o RSI.
  3. Quando o preço de fechamento cruzar acima da faixa superior da EMA e o RSI estiver acima de 50, abra uma posição longa.
  4. Quando o preço de encerramento cruzar abaixo da faixa inferior da EMA ou o RSI cair abaixo de 50, feche todas as posições longas.
  5. Só longa, não curta.

Vantagens da estratégia

  1. Adequado para utilização num mercado forte, pode capturar eficazmente a tendência ascendente das existências fortes.
  2. Utiliza os indicadores EMA e RSI para confirmar melhor os sinais de tendência e melhorar a fiabilidade dos sinais.
  3. A gestão de posições utiliza percentagem de stop loss, o risco é controlado.
  4. A lógica do código é clara e simples, fácil de entender e implementar.

Riscos estratégicos

  1. Tendência a negociações frequentes e grandes saques em mercados voláteis.
  2. Por exemplo, a seleção inadequada do comprimento da EMA levará a um julgamento da tendência atrasado; a seleção inadequada dos limites superiores e inferiores do RSI levará a pontos de entrada e saída indesejáveis.
  3. A estratégia só pode capturar tendências ascendentes unilaterais, e não pode captar tendências descendentes e oscilantes, fácil de perder oportunidades.

Orientações para a otimização da estratégia

  1. Introduzir indicadores de confirmação da tendência, como o MACD, para melhorar a precisão do julgamento da tendência.
  2. Otimizar os parâmetros do RSI ou introduzir a divergência do RSI e outras melhorias nos sinais.
  3. Considerar a adição de stop loss de atraso ou de stop loss de volatilidade para melhorar o controlo do risco.
  4. Considere a adição de uma lógica de entrada de reversão em mercados oscilantes e tendências descendentes.

Resumo

A estratégia RSI50_EMA Long Only é uma estratégia simples e fácil de usar baseada em RSI e EMA, adequada para uso em tendências ascendentes unilaterais. A estratégia tem lógica clara e vantagens óbvias, mas também tem algumas deficiências e riscos. Ao introduzir mais indicadores auxiliares, otimizar parâmetros, melhorar o controle de risco e outras medidas, a estabilidade e rentabilidade da estratégia podem ser melhoradas. No entanto, na aplicação real, é necessário ajustar e melhorar de forma flexível de acordo com as características do mercado, preferências pessoais de risco e outros fatores.


/*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)


Relacionados

Mais.