Como os Gráficos do MT4 São Calculados: Fórmula, Entradas e Limites
O que “gráficos do MT4 calculados” geralmente significa
No MT4, a palavra “calculado” é melhor entendida como: a plataforma transforma os dados de mercado recebidos (ticks ou barras já formadas) nos valores que compõem a série plotada do gráfico. Essas séries plotadas então direcionam o que você vê na tela (candles, linhas, volumes e muitos indicadores sobrepostos).
Um gráfico não é um único cálculo. Geralmente, é um pipeline com três partes:
- Preparação de dados: a plataforma armazena e organiza os dados de preço ao longo do tempo.
- Construção de barras/períodos de tempo: ela agrupa os dados em intervalos de tempo fixos (por exemplo, barras de 5 minutos).
- Cálculo e exibição da série: ela calcula o que cada elemento visual representa (por exemplo, os campos OHLC de cada barra) e mapeia os valores para coordenadas.
Como os dados de entrada e as configurações do gráfico mudam, a aritmética exata depende do tipo de gráfico e do período de tempo.
Mecânica central: construção de barras e definições de OHLC
A maioria dos visuais de “gráfico MT4” que você encontra é construída a partir de barras. Uma barra corresponde a um intervalo de tempo em um período de tempo escolhido. Para cada barra, os gráficos comumente usam valores OHLC:
- O (Abertura): o primeiro preço negociado naquele intervalo.
- H (Máxima): o preço máximo negociado observado durante aquele intervalo.
- L (Mínima): o preço mínimo negociado observado durante aquele intervalo.
- C (Fechamento): o último preço negociado naquele intervalo.
Uma maneira simples de expressar isso é definir um intervalo de barra ([t_k, t_{k+1})) e o conjunto de preços de ticks que caem dentro dele. Seja (P_i) a sequência de preços de negociação (ou preços médios, dependendo do que o feed da plataforma define) para ticks com timestamps (t_i) tal que (t_k \le t_i < t_{k+1}). Então:
- (O_k = P_{primeiro})
- (H_k = \max(P_i))
- (L_k = \min(P_i))
- (C_k = P_{último})
Esta construção OHLC é o cálculo material por trás do corpo e dos pavios visíveis do candle para muitos modos de gráfico padrão.
Volumes e contagem de ticks (quando exibidos)
Se o gráfico mostra volume (ou volume baseado em ticks), uma definição conceitual comum é:
- Volume para a barra k é igual ao número de ticks em ([t_k, t_{k+1})), ou a soma dos tamanhos relatados se o feed fornecer o tamanho.
Qual significado exato se aplica depende do que o feed de dados da plataforma fornece e qual opção de volume está selecionada.
Como os gráficos de linha são derivados das séries de barras
Um gráfico de linha é frequentemente calculado a partir de uma fonte escolhida dentro de cada série de barras. Por exemplo:
- Uma “linha de fechamento” conceitualmente plota (C_k) ao longo do tempo.
- Uma linha de “preço típico” (em algumas configurações de gráfico) conceitualmente usa uma média como ((H_k + L_k + C_k)/3).
Portanto, o padrão geral é: escolha uma função (f) de cada OHLC da barra (e às vezes volume), e então plote (S_k = f(O_k,H_k,C_k,L_k,\text{Volume}_k)).
Para linhas de preço comuns, (f) é simplesmente selecionar um componente (como o fechamento). Para outras séries derivadas, (f) pode calcular a média ou transformar valores, mas ainda opera barra por barra.
Exemplo com suposições explícitas (verificável por você)
Assuma um período de tempo de 1 minuto e que você tenha preços de ticks para um único intervalo de minuto ([t_0, t_0+1m)). Suponha que dentro desse intervalo a sequência de ticks (em ordem cronológica) seja:
- (P_1 = 1.1000)
- (P_2 = 1.1010)
- (P_3 = 1.0995)
- (P_4 = 1.1020) Então os valores OHLC para essa barra são:
- (O = 1.1000) (primeiro tick)
- (H = 1.1020) (máximo)
- (L = 1.0995) (mínimo)
- (C = 1.1020) (último tick) Se o seu gráfico usa uma linha de fechamento, o ponto plotado para esse minuto é (S=C=1.1020).
Ideia de verificação independente: se você puder acessar os dados de ticks ou barras subjacentes usados pelo seu gráfico (por exemplo, via exportação de dados da plataforma ou uma API que forneça timestamps e preços), você pode recalcular o OHLC usando os mesmos limites de intervalo e confirmar se os candles plotados correspondem.
Limitações materiais e modos de falha
Mesmo com as fórmulas OHLC acima, os valores do gráfico podem diferir por vários motivos:
-
Histórico ausente ou incompleto Se os dados de ticks estiverem ausentes para um período de tempo, o OHLC só pode ser calculado a partir do subconjunto disponível. Isso pode alterar (O), (H), (L) e (C). Um candle pode parecer “diferente” do que você espera porque a plataforma não recebeu todos os ticks.
-
Alinhamento de tempo e diferenças de fuso horário/relógio As barras são criadas a partir de intervalos de tempo fixos. Se o horário do servidor do gráfico diferir dos timestamps que você assume, você pode agrupar ticks em minutos diferentes (ou horas diferentes). O conjunto de ticks por intervalo muda, então o OHLC muda.
-
A definição de “preço” varia conforme o feed e o modo Dependendo da plataforma e do modo de dados, a série pode ser derivada de bid/ask, último negócio ou um preço médio construído. Se sua expectativa assume uma definição, mas o feed fornece outra, seu recálculo não corresponderá.
-
Custos e execução não são representados dentro dos candles históricos Os candles representam preços observados ou registrados para intervalos de tempo passados. Eles não levam em conta inerentemente custos futuros (spreads no momento da execução, slippage, comissões). Portanto, qualquer raciocínio que trate o histórico do gráfico exibido como uma previsão para resultados líquidos mistura conceitos distintos.
-
Sobreposições semelhantes a indicadores dependem de parâmetros adicionais Se “Gráficos MT4” inclui médias móveis, osciladores ou sobreposições personalizadas, então o cálculo inclui parâmetros extras (comprimento do período de lookback, método de suavização, preço aplicado e se a sobreposição usa apenas os fechamentos das barras ou dados intrabarra). Essas configurações, não apenas a construção OHLC, determinam os valores finais plotados.
Como verificar o cálculo que você vê
Um método prático de verificação, sem assumir nenhum comportamento específico do provedor, é:
- Identifique o tipo de gráfico (candles vs linha) e o período de tempo.
- Exporte ou obtenha os dados de barras ou ticks subjacentes usados pelo gráfico.
- Recalcule o OHLC para uma barra usando os limites do intervalo e a definição de preço assumida.
- Compare seus (O,H,L,C) recalculados e qualquer série plotada (como a linha de fechamento) com o que o gráfico mostra.
Se a comparação falhar, inspecione qual suposição mudou: limites do intervalo, a definição do preço de entrada ou se o histórico está incompleto.
O que perguntar em seguida
Se você me disser:
- seu tipo de gráfico (candles, linha ou uma sobreposição específica),
- o período de tempo,
- e qual fonte de dados você está usando (ticks vs barras, e se é bid/ask/último/médio), posso reformular a função exata (S_k = f(\cdot)) para essa configuração e listar as entradas específicas que você precisaria para recalculá-la de ponta a ponta.