Por qué la misma vela de MT5 puede verse diferente en distintas cuentas de bróker

Por qué las velas de MT5, los valores de SMA, las señales de indicadores y el comportamiento de los EA pueden diferir entre cuentas de bróker incluso cuando el nombre del símbolo parece el mismo.

Por qué pueden diferir las velas de MT5

Una vela no siempre es un dato de mercado universal

Cuando la gente empieza a crear bots de trading o indicadores en MetaTrader 5, es fácil asumir que una vela es una pieza universal de datos de mercado.

Por ejemplo, podrías pensar:

"La vela H1 a las 20:00 del 6 de mayo de 2026 debería ser la misma en todas partes".

Pero en la práctica, eso no siempre es cierto.

Puedes tener dos terminales de MT5 funcionando en distintos países, ambas mostrando las mismas velas. Luego abres otra cuenta con lo que parece ser el mismo bróker y símbolo, y de repente la vela abre, cierra, los valores de SMA o las señales de indicadores son ligeramente diferentes.

Este artículo explica por qué ocurre eso.

El malentendido: MT5 recibe velas completadas

Los gráficos en vivo se construyen a partir de ticks y cotizaciones

Un supuesto común es que MetaTrader 5 recibe datos de velas así:

El bróker envía:

Vela H1 a las 20:00
Apertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Cierre = 3306.80

Así no es como suelen funcionar los gráficos en vivo.

En un gráfico en vivo, MT5 recibe un flujo de actualizaciones de precios del bróker. Estas actualizaciones suelen llamarse ticks o cotizaciones.

Luego, el terminal usa esos precios entrantes para construir la vela actual.

Así que, en lugar de recibir una vela H1 completa, MT5 recibe actualizaciones de precios en vivo como estas:

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

MT5 entonces construye la vela a partir de esos precios.

Cómo se construye una vela en vivo

La marca de tiempo de la vela indica el inicio del período

Digamos que estamos viendo una vela H1 con la marca de tiempo:

2026.05.06 20:00

Eso no significa que la vela ocurrió solo exactamente a las 20:00.

Significa que la vela cubre el período que comienza a las 20:00 y termina antes de que comience la siguiente vela H1.

En términos simples:

Vela de 20:00 = precios desde las 20:00:00 hasta justo antes de las 21:00:00

La vela se construye así:

Apertura = primer precio recibido en esa hora
Máximo = precio más alto recibido durante esa hora
Mínimo = precio más bajo recibido durante esa hora
Cierre = último precio recibido durante esa hora

Mientras la vela siga en formación, el cierre no es definitivo.

El cierre sigue cambiando cada vez que llega un nuevo precio.

Ejemplo de una vela en formación

El cierre cambia hasta que la vela se completa

Por ejemplo:

20:00:01
Apertura = 3300.20
Máximo = 3300.20
Mínimo = 3300.20
Cierre = 3300.20

20:10:00
Apertura = 3300.20
Máximo = 3305.40
Mínimo = 3299.80
Cierre = 3303.10

20:45:00
Apertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Cierre = 3309.70

20:59:47
Apertura = 3300.20
Máximo = 3312.50
Mínimo = 3298.10
Cierre = 3306.80

Una vez que comienza la siguiente vela H1, la vela anterior se considera cerrada.

En la práctica, esto suele ocurrir cuando llega el primer tick de la siguiente hora.

¿Quién decide los valores finales de la vela?

El feed del bróker y la hora del servidor definen el gráfico

Los valores finales de la vela los determinan el feed de precios en vivo del bróker y la hora del servidor.

Tu terminal de MT5 construye el gráfico localmente, pero lo construye a partir de los datos proporcionados por el servidor del bróker.

Así que la vela final es el resultado de:

Feed de precios del bróker
+ Hora del servidor del bróker
+ Especificación del símbolo
+ Configuración de sesiones de trading
+ Flujo de ticks/cotizaciones recibido por el terminal

Tu ubicación física normalmente no importa.

Un trader en Londres y un trader en Sudáfrica pueden ver exactamente la misma vela si están conectados al mismo servidor del bróker, usando el mismo tipo de cuenta y el mismo símbolo.

Pero un servidor de bróker diferente o una jurisdicción de cuenta distinta puede producir velas diferentes.

Ejemplo: mismo bróker, diferente región de cuenta

El entorno de la cuenta importa más que la ubicación del terminal

Supongamos que tienes tres terminales de MT5:

Terminal A:
Ubicación: Londres
Cuenta del bróker: Deriv Sudáfrica
Símbolo: XAUUSD

Terminal B:
Ubicación: Sudáfrica
Cuenta del bróker: Deriv Sudáfrica
Símbolo: XAUUSD

Terminal C:
Ubicación: Londres
Cuenta del bróker: Deriv EAU
Símbolo: XAUUSD

El Terminal A y el Terminal B pueden mostrar los mismos valores de vela porque están conectados al mismo entorno de datos del lado del bróker.

Pueden tener:

  • El mismo servidor
  • El mismo feed del símbolo
  • La misma zona horaria del servidor
  • La misma especificación del símbolo
  • La misma construcción de velas

Pero el Terminal C puede diferir porque la cuenta de EAU puede conectarse a un servidor de Deriv o entorno de trading diferente.

Esa cuenta podría tener:

  • Hora del servidor diferente
  • Feed de liquidez diferente
  • Configuración del símbolo diferente
  • Modelo de spread diferente
  • Sesiones de trading diferentes
  • Filtrado de cotizaciones diferente
  • Datos históricos diferentes

Aunque el nombre del símbolo parezca el mismo, el entorno de datos real puede no ser idéntico.

El problema de la marca de tiempo

Una vela de las 20:00 es la hora del servidor del bróker

Una de las mayores fuentes de confusión es la hora de la vela.

Cuando MT5 muestra una vela H1 a las:

20:00

esa hora se basa en la hora del servidor del bróker, no necesariamente en la hora local de tu ordenador.

Así que dos cuentas pueden mostrar ambas una vela etiquetada:

20:00

pero esas velas pueden referirse a períodos UTC reales distintos.

Por ejemplo:

Servidor del bróker A:
20:00 hora del servidor = 18:00 UTC

Servidor del bróker B:
20:00 hora del servidor = 16:00 UTC

Ambos gráficos muestran una vela de las 20:00, pero las velas no cubren la misma hora del mundo real.

Eso significa que la apertura, el máximo, el mínimo, el cierre y los indicadores pueden diferir.

Por qué los marcos temporales más altos se ven más afectados

La hora del servidor da forma a las velas H1, H4, D1 y W1

Esto se vuelve especialmente importante para marcos temporales más altos como:

  • H1
  • H4
  • D1
  • W1

Cuanto mayor sea el marco temporal, más importante se vuelve la hora del servidor.

Una vela D1 en un bróker puede abrir y cerrar en un momento del mundo real distinto que una vela D1 en otro bróker.

Eso puede afectar a:

  • Máximos y mínimos diarios
  • Cierres de vela diarios
  • Medias móviles
  • ATR
  • Niveles de ruptura
  • Zonas de soporte y resistencia
  • Resultados de backtest
  • Entradas y salidas del EA

Por qué la SMA puede diferir

Los indicadores se calculan a partir de datos de velas específicos del bróker

Una SMA no se calcula a partir de alguna fuente universal de datos de mercado.

Se calcula a partir de los cierres de vela disponibles en ese gráfico específico.

Por ejemplo, una SMA de 10 períodos en H1 se calcula a partir de los últimos 10 cierres de velas H1.

Simplificado:

SMA = promedio de los últimos 10 cierres

Así que si dos cuentas de bróker tienen cierres H1 ligeramente diferentes, también tendrán valores de SMA ligeramente diferentes.

Esto significa que puede ocurrir lo siguiente:

Cuenta A:
El precio cierra por debajo de la SMA
El EA activa una configuración de venta

Cuenta B:
El precio cierra ligeramente por encima de la SMA
El EA no se activa

Ambas plataformas pueden estar funcionando correctamente. Simplemente están usando datos subyacentes de velas diferentes.

Estrategias afectadas por diferencias en las velas

Cierres exactos pueden cambiar señales exactas

Esto es especialmente relevante para estrategias que dependen de cierres exactos de vela, como:

  • Estrategias de cruce de SMA
  • Estrategias de ruptura
  • Patrones de vela de rechazo
  • Lógica de máximos / mínimos de swing
  • Estrategias de rango diario
  • Sistemas de cajas basados en ATR

Pequeñas diferencias de velas pueden ser suficientes para cambiar una señal, un filtro o una decisión de gestión de la operación.

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

Las velas actuales cambian tick a tick

En un gráfico en vivo, MT5 construye la vela actual a partir de ticks en vivo entrantes.

Para la vela actual, en MQL5:

iClose(_Symbol, PERIOD_H1, 0)

devuelve el último cierre en vivo de la vela H1 que se está formando.

Ese valor puede cambiar tick a tick.

Se accede a la vela anterior con:

iClose(_Symbol, PERIOD_H1, 1)

Esa es la última vela H1 cerrada.

Sin embargo, incluso ese valor cerrado originalmente provino del flujo de ticks en vivo del bróker. No fue un valor universal compartido por todos los brókers.

Se formó dentro de ese entorno de bróker/cuenta/servidor.

Por qué esto importa para los Expert Advisors

El mismo código puede comportarse de forma diferente con datos diferentes

Si estás creando un EA, este comportamiento importa mucho.

Una estrategia que funciona en un servidor de bróker puede comportarse de forma ligeramente diferente en otro servidor de bróker, incluso con el mismo código y los mismos parámetros de entrada.

Por ejemplo:

Bróker A:
El cierre H1 cruza por debajo de la SMA
El EA prepara la caja de ruptura

Bróker B:
El cierre H1 no cruza por debajo de la SMA
El EA no hace nada

O:

Bróker A:
ATR diario = 24.5

Bróker B:
ATR diario = 26.1

Esa pequeña diferencia puede cambiar:

  • Tamaño de la caja
  • Stop loss
  • Take profit
  • Momento de entrada
  • Cálculo de riesgo
  • Frecuencia de operaciones
  • Resultados de backtest
  • Resultados en vivo

Esto no significa que MT5 esté roto.

Significa que tu EA es sensible a los datos.

La construcción de velas del bróker es parte del entorno de trading.

Cómo comparar dos cuentas correctamente

Imprime los datos reales de las velas

Si quieres comparar dos cuentas de MT5, no solo mires el gráfico visualmente.

Imprime los datos reales.

Por ejemplo, en MQL5 puedes 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
);
}
}

Ejecuta esto en ambas cuentas y compara:

  • Nombre del servidor
  • Nombre del símbolo
  • Marca de tiempo de la barra
  • Apertura
  • Máximo
  • Mínimo
  • Cierre
  • Volumen de ticks

Compara también las propiedades del símbolo

El feed puede no ser la única diferencia

También deberías comparar las propiedades del 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));
}

A veces la diferencia no es solo el feed de velas.

El propio símbolo puede tener diferentes ajustes de contrato.

La conclusión práctica

Una vela de MT5 pertenece a un entorno específico de bróker

Una vela de MT5 no es simplemente "la vela del mercado".

Es:

La vela de un símbolo específico,
en un servidor específico del bróker,
usando el feed de precios de ese bróker,
usando la hora del servidor de ese bróker.

Así que, si dos terminales están conectados al mismo servidor del bróker y al mismo entorno de cuenta, por lo general deberían mostrar las mismas velas en vivo, incluso si los terminales están en países diferentes.

Pero si otra cuenta se conecta a una entidad, servidor o feed de símbolos diferente del bróker, las velas pueden diferir.

Eso explica por qué:

Cuenta Deriv Sudáfrica en Londres
=
Cuenta Deriv Sudáfrica en Sudáfrica

pero:

Cuenta Deriv EAU en Londres
!=
Cuenta Deriv Sudáfrica en Londres

La ubicación del terminal no es el factor principal.

Lo son el servidor y el feed del bróker.

Conclusión final

Tu estrategia opera la versión del mercado del bróker

Para traders manuales, esto explica por qué los gráficos pueden diferir ligeramente entre cuentas.

Para desarrolladores de EA, es aún más importante: las diferencias de velas pueden cambiar señales, backtests, entradas, salidas y rentabilidad.

Al crear un bot de trading, recuerda siempre:

Tu estrategia no solo está operando el mercado.

Está operando la versión del mercado del bróker.

MetaTrader 5

Aprende más sobre MT5 y cómo operan las herramientas de Lanami en la plataforma.

Consideraciones sobre brókers

Revisa factores del bróker que pueden afectar la ejecución, los spreads y el comportamiento del trading de rupturas.

Expert Advisor de Lanami

Consulta el sistema automatizado de trading de rupturas diseñado para una ejecución disciplinada en MT5.