Porque a mesma vela no MT5 pode parecer diferente em contas de corretoras diferentes

Porque velas no MT5, valores de SMA, sinais de indicadores e o comportamento de EAs podem diferir entre contas de corretoras mesmo quando o nome do símbolo parece o mesmo.

Porque as velas no MT5 podem diferir

Uma vela nem sempre é um dado de mercado universal

Quando as pessoas começam a criar robôs de trading ou indicadores no MetaTrader 5, é fácil assumir que uma vela é um dado de mercado universal.

Por exemplo, pode pensar:

"A vela H1 às 20:00 de 6 de maio de 2026 deveria ser a mesma em todo o lado."

Mas, na prática, isso nem sempre é verdade.

Pode ter dois terminais MT5 a correr em países diferentes, ambos a mostrar as mesmas velas. Depois abre outra conta com o que parece ser a mesma corretora e o mesmo símbolo e, de repente, a vela abre, fecha, os valores da SMA ou os sinais do indicador são ligeiramente diferentes.

Este artigo explica porque isso acontece.

O equívoco: o MT5 recebe velas já concluídas

Gráficos ao vivo são construídos a partir de ticks e cotações

Uma suposição comum é que o MetaTrader 5 recebe dados de vela assim:

A corretora envia:

Vela H1 às 20:00
Abertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Fecho = 3306.80

Não é assim que os gráficos ao vivo normalmente funcionam.

Num gráfico ao vivo, o MT5 recebe um fluxo de atualizações de preço da corretora. Essas atualizações são normalmente chamadas de ticks ou cotações.

O terminal usa então esses preços recebidos para construir a vela atual.

Assim, em vez de receber uma vela H1 completa, o MT5 recebe atualizações de preço ao vivo assim:

20:00:01 preço = 3300.20
20:00:08 preço = 3301.10
20:01:15 preço = 3302.70
20:02:03 preço = 3299.80
...
20:59:47 preço = 3306.80

O MT5 constrói então a vela a partir desses preços.

Como uma vela ao vivo é construída

O timestamp da vela marca o início do período

Digamos que estamos a olhar para uma vela H1 com o timestamp:

2026.05.06 20:00

Isso não significa que a vela aconteceu apenas exatamente às 20:00.

Significa que a vela cobre o período que começa às 20:00 e termina antes de começar a próxima vela H1.

Em termos simples:

Vela das 20:00 = preços de 20:00:00 até imediatamente antes de 21:00:00

A vela é construída assim:

Abertura = primeiro preço recebido nessa hora
Máximo = preço mais alto recebido durante essa hora
Mínimo = preço mais baixo recebido durante essa hora
Fecho = último preço recebido durante essa hora

Enquanto a vela ainda está em formação, o fecho não é final.

O fecho continua a mudar sempre que chega um novo preço.

Exemplo de uma vela em formação

O fecho muda até a vela estar completa

Por exemplo:

20:00:01
Abertura = 3300.20
Máximo = 3300.20
Mínimo = 3300.20
Fecho = 3300.20

20:10:00
Abertura = 3300.20
Máximo = 3305.40
Mínimo = 3299.80
Fecho = 3303.10

20:45:00
Abertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Fecho = 3309.70

20:59:47
Abertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Fecho = 3306.80

Assim que a próxima vela H1 começa, a vela anterior é considerada fechada.

Na prática, isso acontece frequentemente quando chega o primeiro tick da hora seguinte.

Quem decide os valores finais da vela?

O feed da corretora e a hora do servidor definem o gráfico

Os valores finais da vela são determinados pelo feed de preços ao vivo da corretora e pela hora do servidor.

O seu terminal MT5 constrói o gráfico localmente, mas constrói-o a partir dos dados fornecidos pelo servidor da corretora.

Assim, a vela final é o resultado de:

Feed de preços da corretora
+ Hora do servidor da corretora
+ Especificação do símbolo
+ Definições da sessão de trading
+ Fluxo de ticks/cotações recebido pelo terminal

A sua localização física geralmente não importa.

Um trader em Londres e um trader na África do Sul podem ver exatamente a mesma vela se estiverem ligados ao mesmo servidor da corretora, usando o mesmo tipo de conta e o mesmo símbolo.

Mas um servidor de corretora diferente ou uma jurisdição de conta diferente pode produzir velas diferentes.

Exemplo: mesma corretora, região de conta diferente

O ambiente da conta importa mais do que a localização do terminal

Suponha que tem três terminais MT5:

Terminal A:
Localização: Londres
Conta na corretora: Deriv África do Sul
Símbolo: XAUUSD

Terminal B:
Localização: África do Sul
Conta na corretora: Deriv África do Sul
Símbolo: XAUUSD

Terminal C:
Localização: Londres
Conta na corretora: Deriv EAU
Símbolo: XAUUSD

O Terminal A e o Terminal B podem mostrar os mesmos valores de vela porque estão ligados ao mesmo ambiente de dados do lado da corretora.

Podem ter:

  • Mesmo servidor
  • Mesmo feed do símbolo
  • Mesmo fuso horário do servidor
  • Mesma especificação do símbolo
  • Mesma construção de velas

Mas o Terminal C pode diferir porque a conta dos EAU pode ligar-se a um servidor Deriv diferente ou a um ambiente de trading diferente.

Essa conta poderia ter:

  • Hora do servidor diferente
  • Feed de liquidez diferente
  • Configuração do símbolo diferente
  • Modelo de spread diferente
  • Sessões de trading diferentes
  • Filtragem de cotações diferente
  • Dados históricos diferentes

Mesmo que o nome do símbolo pareça o mesmo, o ambiente de dados real pode não ser idêntico.

O problema do timestamp

Uma vela das 20:00 é a hora do servidor da corretora

Uma das maiores fontes de confusão é a hora da vela.

Quando o MT5 mostra uma vela H1 às:

20:00

essa hora baseia-se na hora do servidor da corretora, não necessariamente na hora local do seu computador.

Assim, duas contas podem ambas mostrar uma vela etiquetada:

20:00

mas essas velas podem referir-se a períodos UTC do mundo real diferentes.

Por exemplo:

Servidor da corretora A:
20:00 hora do servidor = 18:00 UTC

Servidor da corretora B:
20:00 hora do servidor = 16:00 UTC

Ambos os gráficos exibem uma vela das 20:00, mas as velas não estão a cobrir a mesma hora no mundo real.

Isso significa que a abertura, máximo, mínimo, fecho e indicadores podem todos diferir.

Porque os timeframes mais altos são mais afetados

A hora do servidor molda velas H1, H4, D1 e W1

Isto torna-se especialmente importante para timeframes mais altos, tais como:

  • H1
  • H4
  • D1
  • W1

Quanto maior o timeframe, mais importante a hora do servidor se torna.

Uma vela D1 numa corretora pode abrir e fechar num horário do mundo real diferente de uma vela D1 noutra corretora.

Isso pode afetar:

  • Máximos e mínimos diários
  • Fechos diários
  • Médias móveis
  • ATR
  • Níveis de breakout
  • Zonas de suporte e resistência
  • Resultados de backtest
  • Entradas e saídas do EA

Porque a SMA pode diferir

Os indicadores são calculados a partir de dados de vela específicos da corretora

Uma SMA não é calculada a partir de alguma fonte de dados de mercado universal.

É calculada a partir dos fechos das velas disponíveis nesse gráfico específico.

Por exemplo, uma SMA de 10 períodos em H1 é calculada a partir dos fechos das últimas 10 velas H1.

Simplificando:

SMA = média dos últimos 10 fechos

Assim, se duas contas de corretoras tiverem fechos H1 ligeiramente diferentes, também terão valores de SMA ligeiramente diferentes.

Isto significa que pode acontecer o seguinte:

Conta A:
Preço fecha abaixo da SMA
EA aciona configuração de venda

Conta B:
Preço fecha ligeiramente acima da SMA
EA não aciona

Ambas as plataformas podem estar a funcionar corretamente. Estão apenas a usar dados de velas subjacentes diferentes.

Estratégias afetadas por diferenças nas velas

Fechos exatos podem alterar sinais exatos

Isto é especialmente relevante para estratégias que dependem de fechos exatos de velas, tais como:

  • Estratégias de cruzamento de SMA
  • Estratégias de breakout
  • Padrões de velas de rejeição
  • Lógica de swing high / swing low
  • Estratégias de range diário
  • Sistemas de caixa baseados em ATR

Pequenas diferenças nas velas podem ser suficientes para alterar um sinal, filtro ou decisão de gestão de trade.

Gráfico ao vivo vs gráfico histórico

Velas atuais mudam tick a tick

Num gráfico ao vivo, o MT5 constrói a vela atual a partir dos ticks ao vivo recebidos.

Para a vela atual, em MQL5:

iClose(_Symbol, PERIOD_H1, 0)

devolve o último fecho ao vivo da vela H1 atualmente em formação.

Esse valor pode mudar tick a tick.

A vela anterior é acedida com:

iClose(_Symbol, PERIOD_H1, 1)

Essa é a última vela H1 fechada.

No entanto, mesmo esse valor fechado veio originalmente do fluxo de ticks ao vivo da corretora. Não era um valor universal partilhado por todas as corretoras.

Foi formado dentro desse ambiente de corretora/conta/servidor.

Porque isto importa para Expert Advisors

O mesmo código pode comportar-se de forma diferente com dados diferentes

Se estiver a desenvolver um EA, este comportamento é muito importante.

Uma estratégia que funciona num servidor de corretora pode comportar-se de forma ligeiramente diferente noutro servidor de corretora, mesmo com o mesmo código e os mesmos parâmetros de entrada.

Por exemplo:

Corretora A:
Fecho H1 cruza abaixo da SMA
EA arma a caixa de breakout

Corretora B:
Fecho H1 não cruza abaixo da SMA
EA não faz nada

Ou:

Corretora A:
ATR diário = 24.5

Corretora B:
ATR diário = 26.1

Essa pequena diferença pode alterar:

  • Tamanho da caixa
  • Stop loss
  • Take profit
  • Timing de entrada
  • Cálculo de risco
  • Frequência de trades
  • Resultados de backtest
  • Resultados ao vivo

Isto não significa que o MT5 esteja avariado.

Significa que o seu EA é sensível aos dados.

A construção de velas da corretora faz parte do ambiente de trading.

Como comparar duas contas corretamente

Imprima os dados reais das velas

Se quiser comparar duas contas MT5, não olhe apenas para o gráfico visualmente.

Imprima os dados reais.

Por exemplo, em MQL5 pode comparar:

void OnStart()
{
MqlRates rates[];
ArraySetAsSeries(rates, true);

int copied = CopyRates(_Symbol, PERIOD_H1, 0, 20, rates);

Print("Account server: ", AccountInfoString(ACCOUNT_SERVER));
Print("Symbol: ", _Symbol);
Print("TimeTradeServer: ", TimeTradeServer());

for(int i = 0; i < copied; i++)
{
Print(
"shift=", i,
" time=", TimeToString(rates[i].time, TIME_DATE | TIME_MINUTES),
" open=", DoubleToString(rates[i].open, _Digits),
" high=", DoubleToString(rates[i].high, _Digits),
" low=", DoubleToString(rates[i].low, _Digits),
" close=", DoubleToString(rates[i].close, _Digits),
" tick_volume=", rates[i].tick_volume
);
}
}

Execute isto em ambas as contas e compare:

  • Nome do servidor
  • Nome do símbolo
  • Timestamp da barra
  • Abertura
  • Máximo
  • Mínimo
  • Fecho
  • Volume de ticks

Compare também as propriedades do símbolo

O feed pode não ser a única diferença

Também deve comparar as propriedades do símbolo:

void OnStart()
{
Print("Server: ", AccountInfoString(ACCOUNT_SERVER));
Print("Symbol: ", _Symbol);

Print("Digits: ", SymbolInfoInteger(_Symbol, SYMBOL_DIGITS));
Print("Point: ", SymbolInfoDouble(_Symbol, SYMBOL_POINT));
Print("Tick size: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE));
Print("Contract size: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE));
Print("Currency profit: ", SymbolInfoString(_Symbol, SYMBOL_CURRENCY_PROFIT));
}

Por vezes, a diferença não é apenas o feed de velas.

O próprio símbolo pode ter definições de contrato diferentes.

A conclusão prática

Uma vela do MT5 pertence a um ambiente específico da corretora

Uma vela do MT5 não é simplesmente "a vela do mercado".

É:

A vela de um símbolo específico,
num servidor específico da corretora,
a usar o feed de preços dessa corretora,
a usar a hora do servidor dessa corretora.

Assim, se dois terminais estiverem ligados ao mesmo servidor da corretora e ao mesmo ambiente de conta, normalmente deverão mostrar as mesmas velas ao vivo, mesmo que os terminais estejam em países diferentes.

Mas se outra conta se ligar a uma entidade, servidor ou feed de símbolo diferente, as velas podem diferir.

Isso explica porque:

Conta Deriv África do Sul em Londres
=
Conta Deriv África do Sul na África do Sul

mas:

Conta Deriv EAU em Londres
!=
Conta Deriv África do Sul em Londres

A localização do terminal não é o fator principal.

O servidor e o feed da corretora são.

Conclusão final

A sua estratégia negocia a versão do mercado da corretora

Para traders manuais, isto explica porque os gráficos podem diferir ligeiramente entre contas.

Para developers de EAs, é ainda mais importante: diferenças nas velas podem alterar sinais, backtests, entradas, saídas e rentabilidade.

Ao construir um robô de trading, lembre-se sempre:

A sua estratégia não está apenas a negociar o mercado.

Está a negociar a versão do mercado da corretora.

MetaTrader 5

Saiba mais sobre o MT5 e como as ferramentas Lanami operam na plataforma.

Considerações sobre corretoras

Reveja os fatores da corretora que podem afetar a execução, spreads e o comportamento de trading de breakout.

Expert Advisor Lanami

Veja o sistema automatizado de trading de breakout criado para uma execução disciplinada no MT5.