Tollgate Spread Atlas
- Utilidades
-
Syarief Azman Bin Rosli
¡Hola y bienvenido a mi perfil oficial en MQL5!
Soy Syarief Azman Bin Rosli, desarrollador de sistemas de trading algorítmico e ingeniero de software cuantitativo con más de una década de experiencia especializada en la creación de soluciones automatizadas para MetaTrader 5 y MetaTrader 4. - Versión: 1.0
- Activaciones: 10
Tollgate Spread Atlas muestra lo que realmente cuesta operar con su bróker. Lee el historial real de ticks del símbolo del gráfico y de hasta 8 símbolos de la lista, construye un mapa de spread por hora de la semana (lunes a viernes, 24 horas del servidor), compara el spread en vivo con el spread típico de la hora actual y convierte spread, comisión y swap en coste de ida y vuelta y en coste como porcentaje del ATR en seis marcos temporales. Es de solo lectura: nunca abre, modifica ni cierra operaciones.
Inicio rápido
- Adjunte la utilidad a cualquier gráfico (por ejemplo XAUUSD o EURUSD). No necesita permiso de Algo Trading porque nunca opera.
- El panel muestra SCANNING TICK HISTORY con un porcentaje SCAN mientras lee el historial (Lookback Window, 28 días por defecto). El primer escaneo puede tardar un minuto mientras el terminal descarga los ticks.
- Al terminar, la tarjeta en vivo muestra LIVE SPREAD, TYPICAL, RATIO y un estado: CHEAP, NORMAL, WIDE o SPIKE.
- Ajuste Cost Calculator Lot Size a su lote habitual y elija Commission Source.
- Para comprobar que funciona, pase el ratón sobre una celda del mapa (tooltip) o pulse CSV para guardar el atlas.
Cómo se construye el atlas
- El spread de cada cotización (ask menos bid, en puntos enteros) cuenta durante los segundos hasta la siguiente cotización, con el límite Max Seconds Credited Per Quote, así que los huecos y los mercados cerrados no suman nada. Se pondera por tiempo, no por número de ticks.
- Cada celda (día x hora del servidor) guarda una distribución de spreads. De ella salen MEDIAN, P90 (percentil 90) y MEAN (media ponderada por tiempo). Los valores son exactos hasta 31 puntos y después van en 16 pasos por cada duplicación (se muestra el borde inferior).
- Spread típico = mediana de la celda actual. Si la celda tiene menos de Minimum Coverage For A Cell, se usa la misma hora de todos los días y después la semana entera. La fuente aparece como [CELL], [HOUR] o [WEEK].
- Con Add Live Quotes To The Atlas activo, el spread actual de cada símbolo se añade una vez por segundo mientras su cotización es reciente.
- El atlas se reconstruye desde el historial una vez por día del servidor a la Daily Rebuild Hour (para desplazar la ventana) y al pulsar RESCAN.
Reglas de estado
RATIO = spread en vivo / max(típico, 1 punto). Exceso = en vivo menos típico.
- SPIKE: RATIO igual o mayor que SPIKE From y exceso igual o mayor que Minimum Excess For WIDE / SPIKE.
- WIDE: RATIO igual o mayor que WIDE From con la misma regla de exceso.
- CHEAP: RATIO menor que CHEAP Below.
- NORMAL: todo lo demás.
- NO DATA: todavía no hay cotización o no hay spread típico.
La regla de exceso evita que las cuentas raw o ECN (típico 0-2 puntos) marquen cambios mínimos.
Panel
Cabecera
- LED: verde o turquesa (NORMAL, CHEAP), ámbar (WIDE o escaneo), rojo (SPIKE), gris (NO DATA).
- TOLLGATE SPREAD ATLAS, el símbolo en foco y SERVER TIME (todas las horas son hora del servidor del bróker).
- [-] minimiza el panel a una píldora con TSA, el símbolo, el ratio y el estado; [+] lo restaura.
Tarjeta en vivo
- LIVE SPREAD en puntos (y pips en símbolos de 3/5 dígitos).
- TYPICAL con su fuente [CELL], [HOUR] o [WEEK]; RATIO; la insignia de estado.
- Medidor de 0 a 3 veces el spread típico (METER 0-3x) con marcas blancas en CHEAP Below, WIDE From y SPIKE From.
- TODAY MAX: spread más amplio desde la medianoche del servidor; número de cotizaciones leídas; días del historial.
Tarjeta de coste (ROUND-TRIP COST, divisa de la cuenta)
- SPREAD: coste del spread para el lote con el spread en vivo y con el típico (puntos x valor del tick x punto / tamaño del tick x lotes).
- COMMISSION por lote y por lado con su fuente: [HISTORY] (de sus operaciones), [FIXED] o [NONE].
- TOTAL: ida y vuelta en vivo y típica (spread + 2 x comisión x lotes) y el total en vivo en puntos.
- SWAP / NIGHT largo (L) y corto (S) para el lote y el día de triple swap (3x WED). Los swaps en puntos o en la divisa del depósito se convierten; los demás modos muestran el valor bruto con su unidad (divisa/LOT, %/YEAR o RAW). SWAP OFF cuando el swap está desactivado.
- COST / ATR: coste de ida y vuelta en vivo en precio dividido por el ATR de la última barra cerrada, x 100, para M1, M5, M15, H1, H4 y D1. Verde por debajo de 5%, ámbar 5-15%, coral 15% o más; la barra se llena al 30%. Un valor alto significa que el coste se come gran parte de una barra típica de ese marco.
Barra de botones
- METRIC: MEDIAN / METRIC: P90 / METRIC: MEAN alterna la métrica del mapa.
- RESCAN recarga la comisión y reconstruye todos los atlas desde el historial.
- CSV guarda el atlas en foco (tras el escaneo) en MQL5\Files\Tollgate_<SYMBOL>.csv.
- ALERTS ON / ALERTS OFF activa o desactiva las alertas de SPIKE en esta sesión.
- click cell = pin: recordatorio de que las celdas se pueden fijar.
Los cambios hechos con botones vuelven a los valores de entrada cuando la utilidad se reinicia (cambio de marco, volver a adjuntar, reinicio).
Mapa (HOUR-OF-WEEK ... SPREAD)
- Filas MON a FRI, columnas 00-23 horas del servidor. Color = valor de la celda / la misma métrica en toda la semana (WEEK MEDIAN, WEEK P90 o WEEK MEAN): turquesa 0.6x o menos, verde 1.0x, oro 1.6x, coral 2.6x o más. Celdas oscuras = sin datos (cobertura menor que la mínima).
- Borde dorado = hora actual (now). Borde blanco = celda fijada.
- Tooltip: mediana, P90, media y cobertura de la celda. Haga clic en una celda para fijarla; otro clic la libera.
- Línea de detalle: NOW (celda actual) o PINNED con MEDIAN, P90, MEAN y COVERAGE.
- CHEAPEST HOURS y DEAREST HOURS: las tres horas del servidor con el spread medio ponderado más bajo y más alto en todos los días.
- Las cotizaciones del fin de semana cuentan en los valores HOUR y WEEK pero no se dibujan. El mapa se actualiza cada 30 segundos.
Lista de seguimiento
Columnas WATCHLIST, LIVE, TYPICAL, RATIO, STATUS y COST/ATR H1 (ida y vuelta en vivo frente al ATR de H1). Haga clic en una fila para poner ese símbolo en foco en todo el panel (fila resaltada). NOT FOUND = el bróker no tiene ese símbolo; SCANNING = su historial aún se está cargando; no watchlist symbols cuando la lista está vacía.
Alertas
Cuando un símbolo (del gráfico o de la lista) permanece en SPIKE durante SPIKE Must Last segundos, se envía una alerta por símbolo y por Alert Cooldown, por ejemplo: [Tollgate Atlas] XAUUSD spread SPIKE 51 pts = 5.1x typical 10 pts (THU 23:00 server) Se escribe en el registro Expertos y se envía mediante Terminal Pop-Up Alerts, Audible Alerts (alert.wav, solo con las ventanas emergentes desactivadas porque estas tienen su propio sonido) y Push Notifications To Mobile (MetaQuotes ID en Herramientas, Opciones, Notificaciones).
Señales para otros EA (variables globales del terminal)
Con Publish Terminal Global Variables activo, cada segundo tras el escaneo y para cada símbolo:
- TSA_<SYMBOL>_RATIO: en vivo / típico.
- TSA_<SYMBOL>_TYPICAL: spread típico en puntos (-1 = sin datos).
- TSA_<SYMBOL>_OK: 1 = CHEAP o NORMAL, 0 = WIDE o SPIKE, -1 = NO DATA.
Se borran al retirar la utilidad.
if(GlobalVariableCheck("TSA_EURUSD_OK") && GlobalVariableGet("TSA_EURUSD_OK") == 0)
return; // spread is WIDE or SPIKE: skip new entries Efectos secundarios
- Añade los símbolos de la lista a Observación del mercado. Crea objetos de gráfico con el Object Name Prefix (se eliminan con la utilidad). Usa un temporizador de 250 ms.
- Solo escribe un archivo al pulsar CSV: 168 filas con day, hour, median_pts, p90_pts, mean_pts, coverage_min (-1 = sin datos).
Parámetros
- Lookback Window (28, 3-90 días naturales): historial leído por símbolo.
- Max Seconds Credited Per Quote (60, 5-600): límite por cotización.
- Minimum Coverage For A Cell (15 minutos): por debajo, la celda no tiene datos y el típico usa la alternativa.
- Heatmap Metric (Median Spread): Median Spread, 90th Percentile Spread o Time-Weighted Mean Spread al iniciar.
- Add Live Quotes To The Atlas (true): aprendizaje en vivo.
- Daily Rebuild Hour (3, hora del servidor, -1 = nunca): reconstrucción diaria tras el rollover.
- CHEAP Below (0.85), WIDE From (1.5), SPIKE From (2.5): umbrales de ratio.
- Minimum Excess For WIDE / SPIKE (5 puntos).
- Cost Calculator Lot Size (1.0).
- Commission Source (From Account History): From Account History, Fixed Per Lot Per Side o No Commission.
- Fixed Commission (3.5 por lote y lado): también es el valor de reserva si el historial no tiene operaciones.
- Commission History Window (90 días).
- ATR Period For Cost Burden (14).
- Watchlist Symbols ("EURUSD,GBPUSD,USDJPY,XAUUSD", máximo 8, nombres exactos del bróker con sufijos).
- Alert On SPIKE (true), SPIKE Must Last (5 s), Alert Cooldown (15 minutos).
- Terminal Pop-Up Alerts (true), Push Notifications To Mobile (false), Audible Alerts (true).
- Publish Terminal Global Variables (true).
- Object Name Prefix ("TSA_"): cámbielo para usar dos copias en un gráfico.
- HUD Chart Corner (Top Left; Top Right, Bottom Left, Bottom Right), HUD X Offset (16), HUD Y Offset (24) en píxeles.
- Panel Scale (1.0, 0.5-2.5): multiplicador de tamaño además del escalado de Windows.
- Start Minimized (false).
Configuraciones típicas
- Scalper en M1: Heatmap Metric 90th Percentile Spread, WIDE From 1.3, SPIKE From 2.0, Minimum Excess For WIDE / SPIKE 2; opere en las CHEAPEST HOURS y revise COST / ATR en M1.
- Oro: Lookback Window 42, SPIKE From 3.0, Minimum Excess For WIDE / SPIKE 15, Alert Cooldown 30, Push Notifications To Mobile true.
- Cuenta raw o ECN: Heatmap Metric Time-Weighted Mean Spread, Commission Source From Account History, Minimum Excess For WIDE / SPIKE 5.
- Filtro para EA: Alert On SPIKE false, Publish Terminal Global Variables true y el fragmento anterior en su EA.
Notas y limitaciones
- La profundidad del historial depende del bróker; algunos solo guardan unas semanas de ticks.
- En el Probador de estrategias el atlas sale de los ticks del probador: use "Every tick based on real ticks" para ver spreads reales.
- Los spreads varían entre brókers y tipos de cuenta, y los spreads pasados no garantizan los futuros. La utilidad mide costes; no predice precios ni resultados. Operar implica riesgo de pérdidas.
