O valor da posição em risco deve ser calculado em função do valor da posição em risco.

Autora:ChaoZhang, Data: 2023-12-20 13:47:28
Tags:

img

Resumo

Esta é uma estratégia de negociação de tendência baseada em indicadores RSI e EMA. O nome da estratégia é RSI-EMA Trend Breakout Strategy. Incorpora indicadores de rastreamento de tendência e oscilação para capturar a direção da tendência de médio a longo prazo e entrar nos pontos de ruptura da tendência.

Estratégia lógica

A estratégia usa a EMA de 5 dias, a EMA de 20 dias e a EMA de 50 dias para construir o quadro de tendência longa e curta. Quando a EMA de 5 dias cruza a EMA de 20 dias e ambas as EMA estão acima da EMA de 50 dias, ela determina uma quebra de tendência de alta recente para entrada longa. Quando a EMA de 5 dias cruza a EMA de 20 dias e ambas as EMA estão abaixo da EMA de 50 dias, ela determina uma quebra de tendência de baixa recente para entrada curta.

Enquanto isso, a estratégia também incorpora o indicador RSI para julgar se atinge zonas de sobrecompra ou sobrevenda. O RSI pode identificar efetivamente condições de sobrecompra e sobrevenda para evitar sinais errados quando a tendência está em cima ou consolidando. Quando o indicador RSI se move de sobrecompra para zona neutra, a posição longa sai. Quando o indicador RSI se move de sobrevenda para zona neutra, a posição curta sai.

Análise das vantagens

Esta estratégia combina os indicadores EMA e RSI, que podem captar tendências de médio a longo prazo e evitar riscos no final da tendência, com características muito boas do rácio risco/recompensa.

  1. A EMA julga a direcção da tendência sem problemas com base nos preços
  2. RSI evita comprar zonas sobrecompradas e vender zonas sobrevendidas para mitigar os riscos
  3. A estratégia tem uma frequência de negociação relativamente baixa, adequada para a detenção a médio e longo prazo, reduzindo os custos de negociação e de deslizamento

Análise de riscos

Esta estratégia apresenta também alguns riscos:

  1. Em mercados variados, a EMA e o RSI produzirão mais sinais errados, levando a negociações invalidas excessivas
  2. Falhas de ruptura acontecem muito, por isso stop loss deve ser definido para controlar as perdas
  3. Em alguns mercados de tendência, o RSI não entra em zonas de sobrecompra ou sobrevenda.

Para reduzir esses riscos, podemos definir stop loss, ajustar os parâmetros do RSI ou incorporar outros indicadores para confirmação.

Orientações de otimização

A estratégia pode ser melhorada:

  1. Teste diferentes combinações de parâmetros como períodos EMA, parâmetros RSI para encontrar o ideal
  2. Incorporar outros indicadores como MACD, Bollinger Bands para confirmar sinais de negociação e reduzir erros
  3. Usar métodos de aprendizagem de máquina etc. para otimizar dinamicamente as configurações de parâmetros
  4. Construir um sistema de avaliação de tendências para ajustar dinamicamente os parâmetros da estratégia em diferentes ambientes de mercado

Conclusão

Esta estratégia de ruptura de tendência RSI-EMA considera compreensivamente o rastreamento da tendência e o julgamento do tempo de entrada para capturar lucros da tendência com base no controle de risco. É uma estratégia muito prática de médio a longo prazo. Podemos melhorar ainda mais a estabilidade e a lucratividade através da otimização de parâmetros, adicionando outros indicadores, etc.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 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/
// © BrendanW98

//@version=4
strategy("My Strategy", overlay=true)

ema5 = ema(close, 9)
ema20 = ema(close, 21)
ema50 = ema(close, 55)

//RSI Signals
// Get user input
rsiSource = close
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiMid = 50
// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)

//See if RSI crosses 50
doBuy = crossover(rsiValue, rsiOversold) and rsiValue < 50
doSell = crossunder(rsiValue, rsiOverbought) and rsiValue > 50

emacrossover = crossover(ema5, ema20) and ema5 > ema50 and ema20 > ema50 and close > ema50
emacrossunder = crossunder(ema5, ema20) and ema5 < ema50 and ema20 < ema50 and close < ema50

//Entry and Exit
longCondition = emacrossover
closelongCondition = doSell

strategy.entry("Long", strategy.long, 1, when=longCondition)
strategy.close("Long", when=closelongCondition)


shortCondition = emacrossunder
closeshortCondition = doBuy

strategy.entry("Short", strategy.short, 1, when=shortCondition)
strategy.close("Short", when=closeshortCondition)

Mais.