
Esta é uma estratégia de negociação que utiliza a média de Renko para determinar e acompanhar a tendência. A lógica central da estratégia é fazer uma compra ou venda correspondente quando o preço quebra a média HL2 de 22 ciclos.
Faça mais quando a linha de fechamento de Renko cruza a média de 22 períodos de HL2 acima do preço; faça um vazio quando a linha de fechamento de Renko cruza a média de 22 períodos de HL2 abaixo do preço. Assim, para capturar a direção da tendência, julgue a relação entre o preço e a média.
A média HL2 ((Highest High + Lowest Low) /2) é uma média de tendência que combina informações sobre os preços mais altos e mais baixos para determinar com mais precisão a direção da tendência. 22 é um valor empirico usado para equilibrar a sensibilidade da média.
Além disso, a estratégia estabelece restrições para abrir posições apenas em determinados períodos de negociação, evitando as fortes flutuações que podem ocorrer no mercado.
É uma estratégia de rastreamento de tendências simples e intuitiva, com as seguintes vantagens:
O uso da linha Renko como sinal de negociação pode filtrar o ruído do mercado e capturar as principais tendências.
A média HL2 combina informações sobre os preços mais altos e mais baixos para ser mais precisa e confiável na determinação de tendências.
A definição de um ponto de parada e de perda fixo permite um bom controlo do risco de uma única transação.
O Stop Loss móvel permite o bloqueio de lucros e o acompanhamento de tendências conforme a tendência evolui.
A restrição do período de negociação pode evitar, até certo ponto, o impacto de uma forte tendência.
A estratégia também apresenta alguns riscos, como:
A estratégia da média pode gerar mais falsos sinais.
A falta de capacidade para lidar com o risco de interrupção causado por eventos inesperados.
A configuração inadequada da Renko pode fazer com que você perca uma boa oportunidade de negociação.
Os stop loss fixos são difíceis de adaptar às mudanças do mercado.
A estratégia pode ser otimizada em várias direções:
Adicionar outros indicadores ou condições para filtrar o sinal e reduzir os falsos sinais. Por exemplo, indicadores de quantidade de energia, indicadores de vibração, etc.
Pode-se testar a média de diferentes parâmetros para encontrar um valor de ciclo mais adequado.
O tamanho da caixa do Renko também pode ser testado e otimizado para obter os melhores parâmetros.
Aumentar o mecanismo de parada de prejuízos baseado na volatilidade.
Para otimizar essa condição, é possível testar diferentes configurações de períodos de tempo de negociação.
Em geral, é uma estratégia simples e prática para determinar e acompanhar tendências usando a média de Renko. Tem uma lógica de negociação mais intuitiva, mecanismos de controle de risco e é adequado para os comerciantes que buscam ganhos estáveis. Mas há também algum espaço para melhorias, através de parâmetros de otimização, aumento de condições de filtragem, auto-detenção de perdas e outros meios para obter melhores efeitos da estratégia.
/*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)