Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Indicadores

Symbol Spec Auditor - indicador para MetaTrader 5

Quoc Dat Quach
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.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
10
Ranking:
(1)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Symbol Spec Auditor muestra, en un panel del gráfico, los elementos de las especificaciones del contrato de un símbolo que determinan el tamaño de la posición y el coste de la operación: valor por punto, coste del spread, margen, swap, reglas de ejecución y sesiones. Los valores se convierten en importe monetario por cada lote de 1,00 en la divisa de la cuenta, y los ajustes del bróker que incumplen de forma implícita las reglas sobre el tamaño de los lotes se muestran como advertencias. Con un solo clic se exporta la misma auditoría de todos los símbolos de Market Watch a un archivo CSV.

symbol-spec-auditor-xauusd

XAUUSD H1: el panel completo de dos columnas de un símbolo sin trampas

El problema

El código que funciona con un bróker a menudo falla con otro debido a un detalle de las especificaciones que nadie ha comprobado. La ventana de especificaciones del símbolo lo muestra todo, pero repartido en varias pestañas y en unidades sin convertir, por lo que es fácil pasar por alto una diferencia entre dos brókers o dos tipos de cuenta. Un asesor experto que calcula el tamaño de las posiciones a partir de un valor de contrato o de punto supuesto corre entonces el riesgo de operar con una cantidad errónea sin que aparezca ningún error en el diario. Casos típicos:

  • Oro con un contrato de 1 oz en lugar de 100 oz, o un símbolo «mini» de divisas con 10 000 unidades. Una fórmula de lote que asume el contrato habitual y se desvía en 100 o 10 veces.
  • Una cuenta en céntimos, en la que el saldo, el valor del tick y el margen se expresan en céntimos.
  • Un nivel de stop o de congelación que rechaza los SL/TP o las modificaciones cercanas al precio.
  • Órdenes diarias: el bróker elimina las órdenes pendientes y, en ocasiones, los SL/TP, al final de la jornada bursátil.
  • Un tamaño de tick que difiere del punto, por lo que se rechazan los precios fuera de la cuadrícula de ticks.
  • Un volumen mínimo o un incremento de volumen que obliga a redondear, un símbolo en modo de solo cierre o un día inusual con triple swap.

Este indicador recopila estos valores en un solo lugar, los convierte en dinero por cada lote de 1,00 y enumera lo que merece una segunda mirada, acompañando cada advertencia de una breve explicación de una línea. Se trata únicamente de una herramienta de verificación: no realiza órdenes, no utiliza DLL ni escribe archivos, salvo la exportación a CSV que solicites. El panel y el CSV utilizan los mismos cálculos, por lo que lo que ves en un gráfico se puede comparar con todo el Market Watch.

Lo que muestra el panel

El panel describe el símbolo del gráfico. Se actualiza una vez por segundo y se reconstruye cuando cambias el símbolo o el marco temporal, por lo que al cambiar el símbolo del gráfico se revisan los símbolos uno tras otro. Un valor que no se puede determinar se muestra como «n/a» junto con el motivo, y una fila cuyo valor activa una advertencia se resalta con el color de advertencia. Las filas se agrupan en secciones:

  • Identidad: símbolo, descripción, ruta, modo de cálculo, base, divisa de beneficios y 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 (ganancias y pérdidas), tamaño del contrato y fecha de vencimiento para los símbolos que vencen, como los futuros.
  • Dinero por 1,00 lote: el valor de 1 punto calculado a partir del valor del tick, contrastado con el tamaño del contrato × punto × tipo de cambio; el valor de una variación de precio de 1,00; el spread actual en puntos y en dinero; el ATR(14) del marco temporal del gráfico y el spread como porcentaje del mismo.
  • Volumen: mínimo, incremento, máximo y límite.
  • Margen por 1,00 lote: margen de compra y venta, porcentajes de margen inicial, valor nocional y el apalancamiento efectivo (valor nocional dividido por el margen) junto al apalancamiento de la cuenta. Cuando no se puede calcular un valor, el panel indica el motivo, por ejemplo, «sin cotizaciones», «la tasa de margen es 0», «el apalancamiento de la cuenta es 0» o que falta el tipo de conversión.
  • Swap por 1,00 lote: modo de swap, valores en posiciones largas y cortas, importe por noche en la divisa de la cuenta (modos de puntos, divisa e interés) y el día de triple swap. Un número de día fuera del rango de domingo a sábado se muestra como «no establecido».
  • Ejecución: modo de negociación, modo de ejecución, políticas de ejecución (FOK, IOC, BOC, Return), tipos de órdenes permitidos, modos de vencimiento, modo GTC (duración de las órdenes pendientes y de los SL/TP), y niveles de stop y de congelación en puntos y en precio.
  • Sesiones: sesiones de negociación de hoy según la hora del servidor.

Advertencias

El bloque «Advertencias», situado en la parte inferior del panel, enumera los ajustes que requieren atención, empezando por los más graves. Cada advertencia indica el valor y su consecuencia para el código de negociación. Si no hay ninguna, el panel muestra «No se han detectado errores». Las comprobaciones se realizan comparándolas con valores de referencia habituales, por lo que una advertencia no siempre es un error del bróker: señala un ajuste que tu código debe leer en la especificación en lugar de darlo por supuesto.

  • Tamaño del contrato inusual para la clase de activo: divisas 100 000, oro 100, plata 5 000.
  • El valor del tick o el tamaño del tick es 0, o bien el valor del punto derivado del valor del tick y el valor del punto derivado del tamaño del contrato difieren en más del 1 %.
  • Moneda de la cuenta en céntimos (USC, EUC y similares).
  • Modo de negociación distinto de «completo»: desactivado, solo largo, solo corto o solo cierre.
  • Contrato a punto de vencer, con su fecha de vencimiento.
  • No hay cotización de compra/venta actual.
  • Tamaño del tick diferente del punto.
  • Nivel de stop o nivel de congelación superior a 0.
  • Órdenes diarias (modo GTC). La opción «Diario» elimina los SL/TP y las órdenes pendientes al final de la jornada bursátil; la opción «Diario sin stops» elimina las órdenes pendientes y mantiene los SL/TP.
  • Volumen mínimo superior a 0,01 o incremento de volumen superior a 0,01, solo en símbolos de divisas y CFD. Los instrumentos de bolsa suelen negociarse en lotes enteros, por lo que no se marcan.
  • Spread superior al porcentaje elegido de ATR(14) en el marco temporal del gráfico.
  • Triple swap en un día que no sea miércoles, solo para divisas y metales. Se acepta el jueves para el USD frente al CAD, TRY, RUB y PHP, que se liquidan un día antes. Los índices, las criptomonedas y otros CFD suelen renovarse el viernes, por lo que para ellos se muestra el día pero no se marca.

advertencias del auditor de especificaciones de símbolos

US500 M1 (CFD): volumen mínimo de 0,14 lotes y un spread de 28 puntos, lo que supone un 17,6 % del ATR de M1

Exportación a CSV

El botón «Exportar a CSV», o la opción de inicio, genera el archivo MQL5\Files\SymbolSpecAudit_<servidor>_<aaaaammdd_hhmm>.csv con una fila por cada símbolo de la Ventana de Mercado. Sus 55 columnas contienen todos los valores anteriores, incluidos el modo GTC y el vencimiento del contrato, además de una columna de «Advertencias» (separadas con «|») y una columna de «Notas» que indica por qué falta un valor. Se pueden comparar línea por línea dos exportaciones de dos brókers o tipos de cuenta.

El archivo está en formato UTF-8 con BOM, separado por comas, con comillas estándar en los campos que contienen comas o comillas. Los números utilizan un punto como separador decimal y no llevan separadores de miles. En configuraciones regionales en las que el separador de listas sea un punto y coma, abre el archivo a través del cuadro de diálogo de importación de la hoja de cálculo. La ruta completa del archivo se muestra en la pestaña «Expertos».

Manejo de paneles

  • Cualquier esquina del gráfico, una o dos columnas (por defecto, automático) y un modo compacto solo para advertencias.
  • Un botón de contraer que permanece contraído aunque se cambien los símbolos o los marcos temporales.
  • Los colores se adaptan al gráfico por defecto: un panel claro sobre un fondo de gráfico claro y un panel oscuro sobre uno oscuro. Cada color también se puede configurar manualmente.
  • El diseño se calcula a partir de las métricas reales de la fuente, por lo que se mantiene alineado con otras fuentes y en pantallas de alta resolución (DPI). Las advertencias largas se ajustan al ancho del panel.
  • Solo se actualizan las etiquetas cuyo texto o posición hayan cambiado, por lo que el panel no parpadea.
  • Al iniciar, se eliminan los objetos del panel que haya dejado en el gráfico una instancia anterior (por ejemplo, de una plantilla guardada).

symbol-spec-auditor-solo-advertencias

EURUSD M1, modo «solo avisos»: el spread de 6 puntos supone el 35,9 % del ATR de M1

Parámetros de entrada

Entrada Por defecto Descripción
Esquina del panel Esquina superior izquierda Esquina del gráfico a la que está anclado el panel.
Desplazamiento X (píxeles con una escala de pantalla del 100 %) 10 Distancia horizontal desde la esquina. Se escala automáticamente en pantallas de alta resolución (DPI).
Desplazamiento Y (píxeles con una escala de pantalla del 100 %) 30 Distancia vertical desde la esquina. Se escala automáticamente en pantallas de alta resolución (DPI).
Diseño Automático La opción «Automático» utiliza una columna cuando el panel se ajusta a la altura del gráfico; en caso contrario, utiliza dos columnas. Las opciones «Una columna» y «Dos columnas» fuerzan el diseño.
Nombre de la fuente Consolas Una fuente monoespaciada mantiene las columnas ordenadas; cualquier fuente instalada sirve.
Tamaño de la fuente 9 De 4 a 24; los demás valores se ajustan a este rango.
Mostrar solo advertencias false Panel compacto con el título, las advertencias y el botón «Exportar CSV».
Texto (Ninguno = automático) Ninguno Color del texto. Si se selecciona «Ninguno», se toma el color del fondo del gráfico.
Encabezados (Ninguno = automático) Ninguno Color de los títulos de las secciones.
Advertencias (Ninguno = automático) Ninguno Color de las advertencias y de las filas que hay detrás de ellas.
OK / sin trampas (Ninguno = automático) Ninguna Color de la línea «No se han detectado trampas».
Fondo (Ninguno = automático) Ninguno Fondo del panel. Las etiquetas de las teclas, los bordes y los botones se crean a partir de una mezcla de los colores del texto y del fondo.
Avisar si el spread supera el % del ATR(14) (0 = desactivado) 15,0 Umbral para la advertencia de spread. 0 la desactiva.
Exportar todos los símbolos de Market Watch a CSV al inicio false Genera el archivo CSV una sola vez al iniciar el indicador, no cada vez que se cambia de símbolo o de marco temporal.

Cómo utilizarlo

  1. Añade el indicador a cualquier gráfico. No traza líneas y puede ejecutarse junto con un asesor experto.
  2. Lee primero el apartado «Advertencias»; las filas situadas encima contienen los números correspondientes a cada advertencia.
  3. Cambia el símbolo del gráfico para auditar otros símbolos, o pulsa «Exportar CSV» para auditar todos los símbolos de la Ventana de Mercado a la vez.
  4. Utiliza el botón «-» para contraer el panel hasta su barra de título.

Un uso habitual es ejecutar la exportación en un nuevo bróker o tipo de cuenta antes de trasladar allí un asesor experto, y comparar los tamaños de los contratos, los valores de los ticks, los pasos de volumen, los niveles de stop, los modos GTC y los días de swap con la cuenta en la que se desarrolló el asesor experto. Las diferencias en estas columnas son las que con mayor frecuencia modifican el riesgo por operación o el coste de una estrategia sin que se aprecie ningún error visible.

Notas y limitaciones

  • El margen y la verificación cruzada del valor por punto utilizan fórmulas. MetaTrader 5 no permite que los indicadores llamen a OrderCalcMargin u OrderCalcProfit (fallan con el error 4014), por lo que el indicador aplica las fórmulas que la documentación de MQL5 proporciona para cada modo de cálculo: un margen inicial fijo cuando el bróker establece uno, el tipo de margen inicial de SymbolInfoMarginRate y la conversión a la divisa de la cuenta al precio de venta para las compras y al precio de compra para las ventas. En los símbolos de Forex, Forex sin apalancamiento, CFD y CFD con apalancamiento, los resultados coincidieron con los de OrderCalcMargin, invocado desde un asesor experto con los mismos precios, con un margen de redondeo de un céntimo.
  • El margen se muestra como «n/a» para los símbolos de bonos y garantías, para los futuros sin margen inicial y para los símbolos de índices de CFD cuyas divisas difieren de la divisa de la cuenta. No se reflejan los niveles de margen dependientes del volumen ni las reglas que se aplican únicamente en el servidor de operaciones.
  • En el caso de los futuros y los bonos, el valor del tick del bróker es el que se especifica, por lo que la verificación cruzada del valor del punto se muestra como «n/a» en esos casos.
  • El importe del swap para los modos de interés utiliza el valor nocional y un año de 360 días. Para los modos de reapertura no existe un importe fijo, por lo que se muestra como «n/a».
  • La conversión de divisas utiliza únicamente símbolos de «Market Watch» con cotizaciones en tiempo real, ya sea directamente o a través del USD. A falta de ello, los importes monetarios afectados se muestran como «n/a» o el importe nocional se muestra sin convertir. Añade el par de conversión a «Market Watch» para completarlos.
  • MetaTrader 5 añade un símbolo de conversión a «Market Watch» cuando se lee el valor del tick de un símbolo con una divisa de beneficios extranjera. Por lo tanto, el indicador lee el valor del tick únicamente cuando un símbolo cotizado en «Market Watch» ya vincula la divisa de las ganancias con la divisa de la cuenta, y nunca enumera símbolos fuera de «Market Watch»; de lo contrario, el valor del tick muestra «n/a» con el par que falta, por ejemplo, «no hay ningún símbolo KRW/USD cotizado en «Market Watch»». En las pruebas nunca se añadió ningún símbolo. Sin embargo, la plataforma elige su propio símbolo de conversión, por lo que en un bróker cuyo símbolo de conversión tenga un nombre diferente al de «Market Watch», es posible que se añada un símbolo.
  • Las cuentas en céntimos se reconocen por el código de la divisa de la cuenta (USC, EUC, GBC y similares) y se convierten como 1/100 de la divisa principal, de modo que 1 USD = 100 USC. Esta ruta se comprobó con una divisa de cuenta simulada, no en una cuenta en céntimos real. Esta comprobación no detecta una cuenta en céntimos cuya divisa figure como USD.
  • Los tamaños de contrato habituales y los días de triple swap son valores de referencia. Un bróker puede utilizar legítimamente otros tamaños (símbolos micro o en céntimos) u otro día de rollover; la advertencia está ahí para que tu código consulte la especificación en lugar de darla por sentada.
  • El ATR es el ATR(14) de la última barra cerrada del marco temporal del gráfico. Para los demás símbolos del CSV, se calcula a partir de su historial de barras; justo después del inicio, es posible que ese historial aún se esté cargando, en cuyo caso la columna «Notas» lo indica y una segunda exportación lo completa.
  • El panel se actualiza mediante un temporizador de 1 segundo, no en cada tick. El estado colapsado se guarda en una variable global temporal del terminal denominada SymbolSpecAuditor_<chart id>, que se elimina cuando se retira el indicador o se cierra el gráfico. Utiliza una instancia por gráfico.
  • Las capturas de pantalla se han realizado en una cuenta de demostración y en una pantalla de 192 ppp con un tamaño de fuente de 4 (6 en el modo «solo avisos»), de modo que el panel quepa en una imagen de 750 píxeles. El tamaño predeterminado, 9, da como resultado un panel más grande.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/77806

Spread Profile by Hour Spread Profile by Hour

Muestra el spread real por cada hora de servidor, calculado a partir del historial de ticks de tu bróker: mediana y percentil 90 por hora, coste opcional como porcentaje de tu stop y por lote, y exportación a CSV.

SPREAD CALCULADORA (Script) SPREAD CALCULADORA (Script)

1. INTRODUCCIÓN Y UTILIDAD -------------------------------------------------------------------------------- En el trading cuantitativo y algorítmico (Expert Advisors), uno de los mayores factores de discrepancia entre los resultados teóricos de un backtest y los resultados reales en cuenta viva (live/forward testing) es el SPREAD FLOTANTE y el DESLIZAMIENTO (slippage) durante las fases de alta volatilidad. Eventos como la campana de apertura de Wall Street (09:30 NY), la apertura de Londres (08:00 Londres) o la publicación de noticias macroeconómicas provocan frecuentemente ensanchamientos extremos del spread (spread widening) que duran desde unas pocas décimas de segundo hasta varios minutos.

Accumulation/Distribution Accumulation/Distribution

El indicador Accumulation/Distribution (Acumulación/Distribución) queda determinado por los cambios que se producen en el precio y en el volumen.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.