A estratégia de média móvel de nível por nível é uma estratégia de negociação baseada em gráficos RENKO. Ele usa indicadores de média móvel para suavizar o preço e cruzar entre médias móveis de diferentes prazos como sinais de negociação. Enquanto isso, ele também usa o indicador ATR para determinar níveis de stop loss para paradas mais razoáveis.
A lógica central desta estratégia inclui:
Usar a entrada para selecionar o período de tempo RENKO e ATR
Calcule RENKO preço e cor. Vire para cima quando o preço quebra acima do preço anterior RENKO mais ATR atual. Vire para baixo quando o preço cai abaixo do preço anterior RENKO menos ATR atual.
Usar dois números inteiros BUY e SELL para registar as posições longas e curtas correntes.
Quando o breakout, se não houver posição curta, então vá longo. Quando a breakout for para baixo, se não houver posição longa, então vá curto.
Gráfico RENKO gráfico usando gráfico.
Com essa lógica, a estratégia pode abrir longo ou curto quando o preço quebra o nível anterior e fechar posições quando o preço reverte.
Esta estratégia tem as seguintes vantagens:
A RENKO filtra o ruído e identifica tendências A RENKO pode filtrar eficazmente o ruído dos preços e identificar tendências significativas.
Os crossovers da média móvel geram sinais comerciais Os crossovers entre médias móveis de diferentes prazos podem fornecer sinais de negociação fiáveis e evitar sinais falsos de ruído.
Paradas dinâmicas com ATR O uso do ATR para definir dinamicamente o stop loss pode tornar as paradas mais razoáveis com base na volatilidade atual, evitando paradas muito largas ou muito apertadas.
Combinação de tendência e média móvel A combinação de indicadores de tendência e média móvel utiliza os pontos fortes de ambos - capturando tendências com a RENKO, garantindo sinais confiáveis com médias móveis.
A estratégia apresenta também alguns riscos:
Identificação incorreta da tendência A forma como a RENKO determina tendências pode resultar em longs ou shorts desnecessários.
Falsos sinais de cruzamento da média móvel
Pode haver sinais falsos de cruzamento de médias móveis, causando negociações desnecessárias.
Parâmetros ATR inadequados A definição inadequada do período ATR pode também levar a paradas demasiado largas ou demasiado apertadas.
Mercados de Whipsaw Em mercados laterais ou fortes, a RENKO pode gerar muitos negócios desnecessários, ocupando capital.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os parâmetros RENKO e ATR
Ajuste estes parâmetros para minimizar os falsos sinais RENKO e melhor detectar tendências.
Adicionar filtros de cruzamento de média móvel Adicione mais médias móveis e exija que a maioria se alinhe antes de gerar sinais, para filtrar falsos sinais.
Adicionar outros filtros de indicadores Por exemplo, adicione volume para apenas realizar transações quando o volume confirmar o preço, evitando armadilhas.
Melhorar a estratégia de stop loss Pesquise como usar paradas baseadas em tendências em vez de simplesmente rastrear o ATR, para paradas mais lógicas.
Otimizar a gestão do dinheiro Pesquise a alocação de capital ideal sob esta estratégia para maximizar os retornos, controlando os riscos.
Em geral, esta é uma estratégia que vale a pena otimizar e testar em mercados ao vivo. A ideia central de usar o RENKO para tendência e cruzamento de médias móveis como sinais filtrados é sólida. Com paradas ATR dinâmicas, ele pode se tornar um sistema sólido de tendência. O próximo passo é continuar otimizando com base nos riscos conhecidos para melhorar os parâmetros e o desempenho.
/*backtest start: 2022-09-19 00:00:00 end: 2023-09-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Renko Level Strategy 2", shorttitle="RLS2", overlay=true, pyramiding=2, currency=currency.USD, default_qty_value=50, initial_capital=2000, default_qty_type=strategy.percent_of_equity) TF = input(title='TimeFrame', type=input.resolution, defval="D") ATRlength = input(title="ATR length", type=input.integer, defval=14, minval=2, maxval=100) HIGH = security(syminfo.tickerid, TF, high) LOW = security(syminfo.tickerid, TF, low) CLOSE = security(syminfo.tickerid, TF, close) ATR = security(syminfo.tickerid, TF, atr(ATRlength)) float RENKO = na color COLOR = na int BUY = na int SELL = na bool UP = na bool DN = na RENKO := na(RENKO[1]) ? close : RENKO[1] COLOR := na(COLOR[1]) ? color.white : COLOR[1] BUY := na(BUY[1]) ? 0 : BUY[1] SELL := na(SELL[1]) ? 0 : SELL[1] UP := false DN := false if(close > RENKO[1]+ATR[1]) UP := true RENKO := close COLOR := color.lime SELL := 0 BUY := BUY+1 if(close < RENKO[1]-ATR[1]) DN := true RENKO := close COLOR := color.red BUY := 0 SELL := SELL+1 if(BUY[1]==1 and BUY==2) strategy.entry("long", strategy.long)//, limit = RENKODN) if(DN) strategy.cancel_all() strategy.close_all(comment = "close") plot(RENKO, style=plot.style_line, linewidth=2, color=COLOR)