Estratégia de negociação baseada em zonas de oferta e demanda e stop loss deslizante com EMA
Visão Geral
Esta estratégia utiliza zonas de oferta e demanda, médias móveis exponenciais (EMA) e trailing stop baseado no Average True Range (ATR) para identificar sinais de negociação. O usuário pode ajustar os parâmetros da EMA e a visibilidade dos sinais de compra e venda. A estratégia marca zonas de oferta e demanda como High High (HH), Low Low (LL), Low High (LH) e High Low (HL). Os sinais de entrada são gerados após a confirmação do terceiro candle. Este script é adequado para backtest.
Princípio da Estratégia
Cálculo dos Indicadores
Média Móvel Exponencial (EMA):
- A EMA é calculada com base no preço de fechamento de um determinado período (padrão 200).
- Fórmula da EMA: \(EMA = (Preço_t \times \alpha) + (EMA_{t-1} \times (1-\alpha))\), onde \(\alpha = \frac{2}{período+1}\).
Average True Range (ATR):
- O ATR é um indicador que mede a volatilidade do mercado, calculado a partir da amplitude real de preço.
- A amplitude real é o máximo entre:
- Máxima atual menos mínima atual
- Máxima atual menos fechamento anterior (em valor absoluto)
- Mínima atual menos fechamento anterior (em valor absoluto)
- O período típico para cálculo do ATR é 14.
Esses cálculos são usados para determinar a tendência da EMA e definir o trailing stop baseado na volatilidade do mercado. O objetivo da estratégia é fornecer sinais de compra e venda com base na relação entre preço de fechamento, EMA e valores do ATR.
Identificação de Zonas de Oferta e Demanda
A estratégia utiliza os termos "HH" (High High), "LL" (Low Low), "HL" (High Low) e "LH" (Low High) para identificar diferentes padrões de comportamento de preço, comumente usados na análise de tendências:
-
High High (HH): A máxima atual é maior que a máxima anterior, indicando momentum potencial de alta.
-
Low Low (LL): A mínima atual é menor que a mínima anterior, indicando momentum potencial de baixa.
-
High Low (HL): A mínima atual é maior que a mínima anterior, indicando possível continuação da tendência de alta.
-
Low High (LH): A máxima atual é menor que a máxima anterior, indicando possível continuação da tendência de baixa.
Esses padrões, combinados com outros indicadores técnicos, ajudam a determinar possíveis reversões ou continuações de tendência. A estratégia usa esses padrões para identificar pontos de entrada ou saída.
Entrada e Stop Loss/Saída
Sinal de Entrada: Um sinal de compra/venda é gerado quando o fechamento do terceiro candle é maior/menor que a máxima/mínima do candle anterior.
Método de Stop: Utiliza um trailing stop baseado em um múltiplo do valor do ATR (padrão 2x).
Vantagens da Estratégia
- Combina múltiplos fatores como tendência, reversão e volatilidade para uma análise abrangente do mercado, evitando falsos rompimentos.
- Utiliza zonas de oferta e demanda para identificar suportes e resistências chave.
- O sistema de trailing stop com ATR acompanha dinamicamente a volatilidade do mercado.
- Parâmetros da EMA e ATR são personalizáveis.
- Regras de entrada simples e fáceis de implementar.
Riscos e Otimizações
- Risco de falsos sinais; é necessário otimizar adequadamente o comprimento da EMA.
- Um múltiplo do ATR muito grande pode gerar risco de comprar na alta e vender na baixa (chasing).
- Pode-se considerar combinar com outros filtros para refinar os sinais de entrada.
- Sugere-se uma abordagem focada em seguir tendência, complementada por zonas de oferta e demanda.
Resumo
Esta estratégia emprega uma combinação de indicadores técnicos (tendência, reversão, volatilidade) e padrões de preço, apresentando bom desempenho em backtests. No entanto, o mercado real é complexo e mutável, sendo necessário otimizar e filtrar adequadamente os sinais de entrada. Esta é uma estratégia base que pode ser expandida com outros fatores ou modelos.
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true)
showBuySignals = input(true, title="Show Buy Signals", group="Signals")- 1

