Librerías para MetaTrader 5 con los códigos fuente

icon

Las librerías son pequeños subprogramas que contienen cierta funcionalidad que luego puede ser utilizada durante el desarrollo de las demás aplicaciones. La librería escrita y comprobada una vez permite acelerar el desarrollo de nuevas aplicaciones en el lenguaje MQL5. El ejemplo de esta librería es ALGLIB que reúne varias funciones del análisis numérico.

Los códigos fuente de las librerías pueden ser descargados y utilizados en el editor de estrategias comerciales MetaEditor. No se puede iniciarlos independientemente en MetaTrader 5.

Añadir código
últimos | mejores

Un auténtico filtro de noticias del calendario económico que también funciona en las pruebas retrospectivas. Exporta los eventos una sola vez mediante un script y, a continuación, bloquea las nuevas entradas en torno a las noticias, tanto en tiempo real como en el Probador de Estrategias. Corrige el desfase de una hora por el cambio de horario de verano en las horas del calendario histórico.

Califica cada tipo de configuración de tu EA en su propio historial, en lugar de agruparlas todas en una sola curva de capital. Se reconstruye a partir del historial de operaciones de la cuenta al iniciarse, por lo que un reinicio no puede borrar el historial. Muestra un límite inferior de la puntuación de Wilson junto a la tasa de ganancias bruta, para que una racha de tres operaciones ganadoras deje de parecer una ventaja.

Tres protecciones de tamaño de posición que funcionan de forma diferente; confundirlas es la razón por la que tantas cuentas se quedan sin fondos: - escalonada: un contrato por cada X del saldo, que siempre se aplica como un límite máximo (CAP), incluso con el tamaño de lote manual; - «floor»: por debajo del capital mínimo no se opera; se necesita un nuevo ingreso; - «breaker»: se detiene al X % por debajo del máximo, independientemente del tamaño de la cuenta, y no se reactiva por sí solo. Lo que resuelve esta biblioteca y que casi ninguna otra hace: un ingreso no es un beneficio, y una retirada no es una pérdida. El «breaker» mide la caída con respecto al máximo del saldo. Si no se trata, un depósito realizado DURANTE una caída eleva tanto el saldo como el máximo, y la protección deja de detectar la caída justo cuando sería más útil. En este caso, los depósitos y las retiradas desplazan el máximo en la misma cantidad. El máximo se guarda en un archivo: un «breaker» que olvida el máximo al reiniciar la terminal no es un «breaker». La demo simula un depósito en el punto más bajo de una caída. Ejecútala con el depósito activado y desactivado y compara la columna «caída».

El tamaño de la posición se calcula a partir de un importe de riesgo, que a su vez se calcula a partir del valor real del tick del símbolo, el tamaño del tick y el paso de volumen, en lugar de un valor de pip supuesto. Siempre redondea el volumen a la baja y, cuando el riesgo es inferior al lote mínimo, lo indica e informa del coste real de dicho lote. No depende del estado del terminal, por lo que la lógica de cálculo del tamaño de la posición se puede probar sin conexión; se incluye un script de prueba con 41 afirmaciones.

Una biblioteca de 24 clases MQL5 que supervisa el cumplimiento de las normas de una empresa de inversión —recaída, pérdida diaria, consistencia en los pagos, número mínimo de días de negociación, periodo de restricción de noticias— en cualquier cuenta, y cierra todas las posiciones en caso de incumplimiento sin abrir nunca una posición propia.

Una clase de encabezado MQL5 (.mqh) ligera y compatible con la programación orientada a objetos (OOP) para el cálculo preciso del valor del pip y el cálculo dinámico del tamaño de los lotes en todos los instrumentos, que incluye la conversión automática de tipos de cambio entre divisas y la normalización del volumen por parte del bróker.

Detecta el símbolo «gold», independientemente del nombre que le dé el bróker, lee las especificaciones del contrato desde la plataforma en lugar de darlo por supuesto, y convierte el riesgo en la divisa de la cuenta en un tamaño de lote adecuado para ese bróker.

Una biblioteca para recuperar señales de proximidad destinadas a indicadores basados en canales

Una biblioteca pequeña y con pocas dependencias que incorpora a MQL5 un tipo «Result» al estilo de Rust. Las funciones devuelven un único objeto de «valor o error» en lugar de depender del estado global de GetLastError(), por lo que los fallos son explícitos e imposibles de ignorar. Incluye ResultValue (tipos de valor) y Result (objetos almacenados en punteros), una estructura Error, macros de retorno anticipado (TRY, RETURN_ON_ERROR, ...) y las funciones de devolución opcionales Then, Match y MapError.

MQTTFive: una implementación completa del cliente MQTT 5.0 para MQL5. Características: • MQTT v5.0: todos los tipos de paquetes, propiedades y QoS 0/1/2 • TCP + TLS a través de la API nativa de sockets de MQL5 • Mensajes «will» con propiedades (will_delay_interval, payload_format, message_expiry) • Alias de temas para PUBLISH salientes • Control de flujo (máximo de recepción) • Opciones de suscripción (no_local, retain_as_published, retain_handling) • Cargas útiles binarias y UTF-8 • Reintento automático para QoS 1/2 • Cero dependencias de DLL: MQL5 puro Probado con Mosquitto 5.0 (15 pruebas, todas superadas). Documentación: https://github.com/chekh/MQTTFive Licencia: MIT

Biblioteca de protección de empresas de apoyo institucional para MetaTrader 5.

Una biblioteca MQL5 (.mqh) orientada a objetos que sustituye los modelos estáticos de riesgo minorista por las matemáticas institucionales Volatility-Adjusted Position Sizing (VAPS) y Kelly Criterion.

Función de cálculo de lotes a partir del porcentaje de depósito

Detalles Técnicos Utiliza el OrderSend de MQL5 con TRADE_ACTION_DEAL para el cierre instantáneo del mercado a los precios Bid/Ask actuales. Incluye tolerancia al deslizamiento (10 puntos), coincidencia de volumen adecuada y preservación del número mágico. Bucles hacia atrás a través de las posiciones para evitar el cambio de índice durante la ejecución.

Clase de inclusión que valida la combinación de ping terminal + latencia de ejecución antes de las operaciones comerciales. Devuelve false si se supera el umbral.

Una biblioteca JSON diseñada para el uso masivo de LLMs y menor latencia.

Control del consumo de memoria.

Si tiene acceso al código del Asesor Experto, puede guardar los gráficos de saldo y equidad y calcular criterios de optimización adicionales añadiendo código adicional de esta biblioteca.

Permitir que el EA determine si hay EA duplicados en el gráfico en función de las condiciones.

Función para modificar posiciones abiertas y órdenes pendientes

Calculadora de pérdidas y ganancias de posiciones (órdenes abiertas)

Función para cerrar posiciones y borrar órdenes

Función de cálculo de lotes por porcentaje de riesgo

Multisímbolo OnTick.

Calcular la distancia coseno y la semejanza entre 2 vectores . La distancia coseno es 1-coseno_semejanza y la semejanza coseno es el producto punto de dos vectores por sus magnitudes multiplicadas.

Estructura de los parámetros de entrada

Biblioteca para el control de las sesiones de negociación. Al inicio cuenta el tiempo de las sesiones de negociación para los 7 días de la semana (los sábados y domingos puede haber negociación de criptomonedas), hasta 10 sesiones por día. Luego en OnTick() puede hacer chequeos, y si un tick llegó fuera de la sesión de negociación, puede salir de su procesamiento.

Compresión de los datos de tick para su almacenamiento de forma compacta hasta 3,5 veces más compacta que los archivos .tcs MQ. Y para trabajar rápidamente con ellos, porque leer 3 bytes lleva menos tiempo que leer 60 bytes de la estructura MqlTick.

Extensión de milisegundos CDateTime + extensión de variable de supervisión datetime

Registra los ticks en modo ticks reales y los lee en modo matemático llamando a tu estrategia con cada tick.

Clase estática para fijar la función TimeGMT() durante las pruebas en el probador de estrategias.

Códigos fuente escritos en el proceso de desarrollo de una biblioteca para crear Asesores Expertos multidivisa que combinen múltiples instancias de diferentes estrategias de negociación.

Los códigos fuente escritos durante el desarrollo de la biblioteca para crear Asesores Expertos multidivisa que combinan muchas instancias de varias estrategias de negociación.

Trabajar con datos del teclado

Clase para acceder a la hora local de la ubicación especificada, así como a la información sobre la zona horaria y el horario de la sesión de negociación local.

Esta biblioteca es una versión actualizada de la biblioteca ErrorDescription.mqh publicada por MetaQuotes, con algunas características incluidas.

Un simple comentario.

Función para convertir la hora del servidor de una zona horaria a otra.

Se trata de una biblioteca básica para crear y gestionar rejillas.