Symbol Spec Auditor
- Utilidades
-
Quoc Dat Quach
Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself. - Versión: 1.0
Symbol Spec Auditor reúne en un panel sobre el gráfico la parte de la especificación del contrato de un símbolo que decide el tamaño de la posición y el coste de operar: valor del punto, coste del spread, margen, swap, reglas de ejecución y sesiones de trading. Los valores en bruto de la especificación se convierten en dinero por 1,00 lote en la divisa de la cuenta, y los ajustes del bróker que rompen silenciosamente el código de cálculo del lote se listan como advertencias. Un botón exporta la misma auditoría para cada símbolo de la Observación del mercado a un archivo CSV.
Es una herramienta de comprobación. No coloca órdenes, no usa ninguna DLL ni WebRequest, y no escribe ningún archivo salvo la exportación CSV que usted solicite.
Por qué existe: un código que funciona con un bróker a menudo falla con el siguiente por un detalle de la especificación que nadie comprobó. Oro con un contrato de 1 oz en lugar de 100 oz, una cuenta cent en la que el balance y el valor del tick están en centavos, un nivel de stops que rechaza un stop loss cercano, un tamaño del tick distinto del punto, órdenes pendientes eliminadas al final del día. El terminal lo muestra todo, repartido en varias pestañas y en unidades en bruto, así que es fácil pasar por alto una diferencia entre dos brókeres o dos tipos de cuenta. Una fórmula de cálculo del tamaño de posición que asume el tamaño del contrato habitual queda entonces equivocada por un factor de 10 o 100 sin ningún error en el diario.
Lo que muestra el panel para el símbolo del gráfico, actualizado una vez por segundo y reconstruido cuando se cambia el símbolo o el marco temporal:
- Identidad: símbolo, descripción, ruta, modo de cálculo, divisa base, de beneficio y de margen, divisa de la cuenta, apalancamiento de la cuenta y modo de margen.
- Precio y contrato: dígitos, punto, tamaño del tick, valor del tick para beneficio y para pérdida, tamaño del contrato y la fecha de vencimiento de los contratos que vencen.
- Dinero por 1,00 lote: el valor de un punto a partir del valor del tick, contrastado con el tamaño del contrato multiplicado por el punto y por el tipo de conversión; el valor de un movimiento de precio de 1,00; el spread en puntos y en dinero; el ATR(14) del marco temporal del gráfico y el spread como porcentaje de este.
- Volumen: mínimo, paso, máximo y límite.
- Margen para 1,00 lote: margen de compra y de venta, tasas de margen inicial, valor nocional y el apalancamiento efectivo junto al apalancamiento de la cuenta.
- Swap para 1,00 lote: modo de swap, valores largo y corto, dinero por noche y el día de triple swap.
- Ejecución: modo de trading, modo de ejecución, políticas de llenado, tipos de orden permitidos, modos de expiración, modo GTC y los niveles de stops y de congelación en puntos y en precio.
- Sesiones: las sesiones de trading de hoy en hora del servidor.
Un valor que no puede determinarse se muestra como n/a en lugar de una cifra verosímil. Las filas del valor del tick, de la comprobación del valor del punto, del spread, del ATR y del margen indican además el motivo, por ejemplo un par de conversión ausente o una tasa de margen de 0.
El bloque Warnings lista los ajustes que merecen una segunda mirada, por orden de gravedad, cada uno con su consecuencia para el código de trading: tamaño del contrato inusual para la clase de activo, valor del tick o tamaño del tick igual a 0, un valor del punto obtenido del valor del tick que no coincide con el obtenido del tamaño del contrato, divisa de cuenta cent, modo de trading restringido, contrato con vencimiento, sin cotizaciones actuales, tamaño del tick distinto del punto, nivel de stops o de congelación mayor que 0, modo GTC diario, volumen mínimo o paso de volumen mayor que 0,01 en símbolos de forex y CFD, spread superior a un porcentaje elegido del ATR(14), y un día de triple swap inusual para la clase de activo. Cuando no se aplica nada, el panel indica que no se detectaron trampas. Una advertencia no es necesariamente un error del bróker; señala un valor que su código debe leer de la especificación en lugar de suponerlo.
El botón Export CSV escribe MQL5\Files\SymbolSpecAudit_<server>_<date_time>.csv, una fila por símbolo de la Observación del mercado, con 55 columnas, entre ellas una columna Warnings y una columna Notes que explica por qué falta un valor del tick, la comprobación del valor del punto, el margen o el ATR. Dos exportaciones, hechas en dos brókeres o en dos tipos de cuenta, pueden compararse línea por línea antes de trasladar un Asesor Experto de uno a otro.
Manejo del panel: cualquier esquina del gráfico, una o dos columnas (automático por defecto), un modo compacto solo de advertencias y un botón de contraer que se mantiene tras los cambios de símbolo y de marco temporal. Por defecto los colores siguen al gráfico, panel claro sobre fondo claro y panel oscuro sobre uno oscuro, y cada color también puede ajustarse a mano. La disposición se calcula a partir de las métricas reales de la fuente, por lo que se mantiene alineada en pantallas de alto DPI y con otras fuentes.
Parámetros de entrada: esquina del panel, distancia X e Y, disposición, nombre y tamaño de la fuente, modo solo de advertencias, cinco colores, el umbral de advertencia del spread como porcentaje del ATR(14) y una opción para exportar el CSV al inicio. Cada parámetro está documentado en el terminal con su propio comentario.
Notas y límites. MetaTrader 5 no permite que un indicador llame a OrderCalcMargin u OrderCalcProfit, por lo que el margen y la comprobación cruzada del valor del punto usan las fórmulas documentadas para cada modo de cálculo. En los símbolos de forex y CFD del bróker usado para las pruebas, los resultados coincidieron con OrderCalcMargin, llamada desde un Asesor Experto con los mismos precios, con una diferencia no mayor que el redondeo al centavo. El margen se muestra como n/a para símbolos de bonos y de colateral, para futuros sin margen inicial y para CFD sobre índices cuyas divisas difieren de la divisa de la cuenta. La conversión de divisas usa símbolos de la Observación del mercado con cotizaciones en vivo, directamente o a través de USD; si no hay ninguno, los valores afectados muestran n/a e indican el par que falta. Las cuentas cent se reconocen por el código de divisa de la cuenta, como USC o EUC. El ATR es el ATR(14) de la última barra cerrada del marco temporal del gráfico. El panel usa un temporizador de un segundo en lugar de actualizarse en cada tick, y está pensado para una sola instancia por gráfico.
