Tendência Seguindo a Estratégia Baseada na Média Móvel Renko

Autora:ChaoZhang, Data: 2024-02-21 16:36:00
Tags:

img

Resumo

Esta é uma estratégia de negociação que utiliza médias móveis Renko para identificação e rastreamento de tendências. A lógica central desta estratégia é ir longo ou curto quando o preço quebra a média móvel HL2 de 22 períodos nas barras Renko. Enquanto isso, esta estratégia também define mecanismos de gerenciamento de risco como stop loss, take profit e trailing stop.

Princípio da estratégia

Quando o preço de fechamento da barra Renko ultrapassa a média móvel HL2 de 22 períodos, vá longo. Quando o preço de fechamento da barra Renko ultrapassa a média móvel HL2 de 22 períodos, vá curto. Ao julgar a relação entre o preço e a média móvel, capta a direção da tendência.

A média móvel HL2 (Highest High + Lowest Low)/2 é uma média móvel que segue a tendência, que incorpora as informações dos preços mais altos e mais baixos para determinar com mais precisão a direção da tendência.

Além disso, a estratégia também estabelece a restrição de apenas abrir posições durante sessões de negociação específicas para evitar potenciais grandes oscilações de mercado.

Análise das vantagens

Esta é uma estratégia relativamente simples e intuitiva de seguir tendências com os benefícios abaixo:

  1. Usar barras Renko como sinais de negociação pode efetivamente filtrar o ruído do mercado e capturar a tendência principal.

  2. A média móvel HL2 combina informações sobre os preços mais altos e mais baixos para um julgamento da tendência mais confiável.

  3. A definição de pontos fixos de stop loss e take profit pode controlar o risco de negociações individuais.

  4. O trailing stop pode bloquear os lucros ao longo do desenvolvimento da tendência para realizar o rastreamento da tendência.

  5. A limitação das sessões de negociação pode atenuar, até certo ponto, o impacto de grandes oscilações.

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. As estratégias de média móvel tendem a gerar mais sinais falsos.

  2. Não pode fazer face eficazmente ao risco de lacuna causado por acontecimentos súbitos.

  3. Configurações incorretas do Renko podem perder melhores oportunidades de negociação.

  4. O stop loss fixo e o take profit não podem adaptar-se às alterações do mercado.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Adicionar outros indicadores ou condições para filtrar sinais falsos, por exemplo, volume, osciladores, etc.

  2. Teste as médias móveis com diferentes parâmetros para determinar o período mais adequado.

  3. O tamanho da caixa de Renko também pode ser testado e otimizado para o melhor parâmetro.

  4. O valor da posição em risco deve ser calculado de acordo com o método de classificação da posição em risco.

  5. Teste diferentes configurações de sessão de negociação para otimizar esta condição.

Conclusão

Em conclusão, esta é uma estratégia simples e prática para a identificação e rastreamento de tendências usando a média móvel Renko. Tem uma lógica de negociação intuitiva e mecanismos de controle de risco, adequados para os traders que buscam retornos constantes.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HL2 - 22 Cross", overlay=true)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 300, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600',  title="My Defined Hours")

longCondition1 = crossover(close, ema(hl2, 22))
longCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if longCondition1 and longCondition2
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = crossunder(close, ema(hl2, 22))
shortCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if shortCondition1 and shortCondition2
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

Mais.