Supply Demand Zones Base Impulse ATR
- Indicadores
-
Kazuma Uezono
MQL5 / MQL4 / Pine Script v6 developer and active trader.
Seller on the MQL5 Market (indicators for MT4/MT5).
Services:
- TradingView Pine Script to MT5/MT4 conversion (bar-by-bar matching, with tester report)
- MT4 to MT5 migration - Versão: 1.1
Supply & Demand Zones marca zonas de oferta e zonas de demanda em um gráfico do MetaTrader 5 com uma única regra fixa e totalmente publicada: uma barra forte (corpo de pelo menos X vezes o ATR) que deixa para trás uma "base" curta de barras de corpo pequeno. A base se torna uma zona de demanda quando a barra forte é de alta e fecha acima dela, ou uma zona de oferta quando a barra forte é de baixa e fecha abaixo dela. Cada zona mostra seu estado: nova, tocada (com uma contagem) ou rompida.
Ele é destinado a traders que desenham essas zonas à mão e querem que sejam desenhadas sempre da mesma forma. É apenas uma ferramenta de exibição: não dá sinais de compra ou venda e não envia ordens. Uma zona é uma área tirada de barras passadas, não uma previsão de que o preço vá parar ou virar ali.
Recursos
- Zonas de demanda e de oferta pela regra acima, avaliadas apenas em barras fechadas. Depois que uma zona é criada, seu topo, seu fundo e seu início não se movem.
- Rótulo em cada zona: "Demand fresh" (demanda nova), "Supply touched 2" (oferta tocada 2 vezes), "Demand broken" (demanda rompida). Ao passar o mouse sobre uma zona, aparecem seus preços, o número de barras da base e o horário da primeira barra da base.
- Cores por estado: nova, tocada, rompida (contorno cinza). As zonas rompidas ficam ocultas por padrão e podem ser exibidas.
- As zonas não rompidas são estendidas algumas barras à direita da barra atual; uma zona rompida termina na barra que a rompeu.
- Zonas sobrepostas: a mais antiga é preenchida e a mais recente é desenhada como contorno, para que as cores continuem legíveis.
- Um timeframe superior opcional (desativado por padrão). Suas zonas usam a mesma regra e são desenhadas com contornos mais grossos e o timeframe no rótulo, por exemplo "H4 Supply fresh".
- Um alerta opcional (desativado por padrão): o preço entra em uma zona nova vindo de fora. Pop-up, som e notificação push.
- A cor dos rótulos acompanha automaticamente o fundo do gráfico (ou escolha uma cor). Textos do gráfico e alertas em inglês ou japonês (Auto segue o idioma do terminal).
- Seis buffers ocultos para EAs (veja abaixo).
Como é calculado
- True Range de uma barra = o maior entre (máxima, fechamento anterior) menos o menor entre (mínima, fechamento anterior).
- ATR = média simples do True Range das N barras anteriores à barra forte (a própria barra forte não é incluída).
- Barra forte: corpo absoluto |close - open| >= X x ATR.
- Base: contando para trás a partir da barra imediatamente anterior à barra forte, as barras consecutivas cujo corpo é <= Y x ATR, até a quantidade máxima. Se a barra imediatamente anterior à barra forte não for pequena o suficiente, nenhuma zona é criada.
- Topo e fundo da zona = máxima mais alta e mínima mais baixa das barras da base (ou a abertura/fechamento mais alto e mais baixo se "Bodies only" (apenas corpos) for escolhido).
- Demanda: a barra forte é de alta e fecha acima do topo da zona. Oferta: a barra forte é de baixa e fecha abaixo do fundo da zona.
- Estado, a partir da barra seguinte à barra forte: uma zona de demanda é rompida quando uma barra fecha abaixo do seu fundo, e tocada quando a mínima de uma barra alcança o seu topo. Uma zona de oferta é rompida quando uma barra fecha acima do seu topo, e tocada quando a máxima de uma barra alcança o seu fundo.
- Contagem de toques = número de barras que entraram na zona estando a barra anterior fora dela. "Nova" = ainda sem nenhum toque.
- Apenas as barras dentro de "Bars to scan" (barras a analisar) são usadas. Zonas mais antigas que "Remove zones older than N bars" (remover zonas com mais de N barras) são removidas.
Parâmetros principais
- Regras da zona: período do ATR (14), X para a barra forte (1.5), Y para as barras da base (0.5, deve ser menor que X), máximo de barras da base (3, 1-10), bordas da zona (pavios ou apenas corpos), barras a analisar (5000, 300-100000).
- Exibição: zonas não rompidas exibidas por lado (5), remover zonas com mais de N barras (1000, 0 = nunca), zonas rompidas (ocultar ou exibir como contorno cinza), zonas rompidas exibidas por lado (3), estender à direita (10 barras), rótulos ligados/desligados, tamanho da fonte (8), cinco cores de zona, cor do rótulo (None = automática).
- Zonas do timeframe superior: timeframe (atual = desativado), zonas exibidas por lado (3).
- Alertas: entrada em uma zona nova (desativado), pop-up, som, push, idioma.
Se um parâmetro estiver fora do intervalo, o indicador não é carregado e registra o motivo no log Experts.
Para usuários de EA e iCustom
- Buffers: 0 = topo da zona de demanda, 1 = fundo da zona de demanda, 2 = contagem de toques da zona de demanda, 3 = topo da zona de oferta, 4 = fundo da zona de oferta, 5 = contagem de toques da zona de oferta. Cada barra guarda a zona não rompida mais recente de cada lado conforme conhecida no fechamento daquela barra; a barra em formação repete a última barra fechada. EMPTY_VALUE quando não há zona (ou a mais recente é mais antiga que "Remove zones older than N bars").
- Os buffers contêm apenas zonas do timeframe do gráfico. As zonas do timeframe superior não estão nos buffers.
- Parâmetros do iCustom: após o nome do indicador, passe 30 valores nesta ordem, incluindo as 4 strings vazias dos grupos de parâmetros:
"", período do ATR, X, Y, máximo de barras da base, bordas da zona (0 pavios, 1 corpos), barras a analisar,
"", zonas não rompidas por lado, remover com mais de N barras, zonas rompidas (0 ocultar, 1 exibir), zonas rompidas por lado, barras de extensão, exibir rótulos, tamanho da fonte, cor de demanda nova, cor de demanda tocada, cor de oferta nova, cor de oferta tocada, cor de zona rompida, cor do rótulo,
"", timeframe superior, zonas do timeframe superior por lado,
"", alerta ao entrar, pop-up, som, push, idioma (0 auto, 1 inglês, 2 japonês).
- Chamado via iCustom, ele apenas preenche os buffers: nada é desenhado e nenhum alerta é emitido.
- Se um EA ou script o adicionar a um gráfico com ChartIndicatorAdd(), o MetaTrader 5 limita o que ele pode fazer: as zonas desenhadas podem permanecer no gráfico enquanto esse programa ainda mantiver o handle, e em um gráfico diferente daquele em que o programa é executado nenhuma zona é desenhada (os buffers continuam funcionando).
Notas e limitações
- As zonas são criadas apenas quando uma barra fecha. A barra em formação nunca cria uma zona nem altera um estado; um rótulo continua "fresh" até que a barra que entrou na zona tenha fechado.
- O alerta é verificado a cada tick em relação às zonas como estavam na última barra fechada, por isso pode chegar enquanto o rótulo ainda mostra "fresh". Cada zona alerta uma única vez. Logo após o carregamento, o primeiro preço é apenas memorizado.
- Após um recarregamento (novo histórico, reconexão, alteração de "Bars to scan") o cálculo recomeça a partir da primeira barra do intervalo, por isso as zonas próximas à parte mais antiga do gráfico podem ser diferentes. As zonas recentes não são afetadas.
- Os resultados dependem dos parâmetros e dos dados de preço da sua corretora: outros valores ou outra corretora podem gerar outras zonas.
- Em mercados laterais e calmos podem surgir muitas zonas pequenas; em tendências fortes muitas zonas são rompidas pouco depois de se formarem. A contagem de toques e o estado de nova descrevem apenas o passado e não são uma probabilidade de nenhum resultado.
- A segunda cópia e as seguintes no mesmo gráfico desenham apenas contornos, para que suas zonas não apaguem o preenchimento da primeira cópia.
- No modo visual do Testador de Estratégia as zonas são desenhadas como em um gráfico. Alertas não são emitidos no testador.
- Com um timeframe superior configurado, o log do testador mostra linhas "history cache". Elas são escritas pelo terminal quando ele carrega esse timeframe e não são erros do indicador.
- Configurações de exibição grandes (por exemplo 50 zonas por lado, zonas rompidas exibidas e 100000 barras no M1) deixam os testes no testador visivelmente mais lentos. Os valores padrão são leves.
- Os objetos cujos nomes começam com "SDZ#" pertencem a este indicador e são removidos com ele. Variáveis globais temporárias que começam com "SDZ_" são usadas para manter as cópias separadas. As configurações do gráfico não são alteradas.
Compatibilidade e suporte
- MetaTrader 5, qualquer símbolo e timeframe. A versão para MT4 é um produto gratuito separado.
- Várias cópias em um mesmo gráfico (por exemplo com valores de X/Y diferentes). Funciona com templates e após reiniciar o terminal.
- Sem DLLs, sem acesso à internet, nenhum arquivo gravado.
- Suporte por mensagens do MQL5 para instalação, configurações e relatos de erros. Perguntas sobre a direção do mercado ou sobre operações individuais não podem ser respondidas.
- Apenas para análise de gráficos. Ele não opera e não garante nenhum resultado de trading. Gráficos passados não garantem resultados futuros.
