← Todos los tutoriales
MT5 API · 4:54

MT5 desde Python.

Configura. Conecta. Consulta. Recibe cotizaciones. Desconecta.

Descargar el ejemplo de Python · ZIP ↓

Guía paso a paso

  1. 0:00

    MT5 desde Python.

    Este tutorial muestra cómo conectar MT5 desde Python, consultar una cuenta demo, recibir cotizaciones en tiempo real y desconectar correctamente.

  2. 0:14

    Empieza por la descarga.

    Abre mrpc.pro/api, inicia sesión y selecciona Python. Pulsa Descargar ejemplo. El archivo del sitio crea una cuenta demo nueva y ejecuta una demostración completa de trading. Requiere tu clave API personal. El archivo descargado puede contener esa clave, así que mantenlo privado.

  3. 0:40

    Elige el ejemplo adecuado.

    En este tutorial usamos un ejemplo independiente de cotizaciones en Python. Se conecta a una cuenta demo existente y no envía operaciones. Puedes usar TRIAL si hay capacidad disponible para terminales de prueba. Crear una cuenta demo nueva requiere una clave personal. Son dos formas distintas de empezar.

  4. 1:06

    Prepara Python.

    Usa Python tres punto diez o posterior. Crea un entorno virtual en la carpeta del proyecto. Instala requests y websocket-client con el ejecutable de Python de ese entorno. Requests envía las llamadas REST; websocket-client recibe el flujo de datos. El ejemplo original del sitio usa la biblioteca estándar; estos dos paquetes corresponden a nuestro ejemplo de streaming.

  5. 1:38

    Configura las credenciales.

    Define las cuatro variables de entorno que aparecen en pantalla. Sustituye los valores de ejemplo por los tuyos. Usa el nombre exacto del servidor demo del bróker y la contraseña de trading de esa cuenta. Las variables de entorno evitan guardar credenciales en el código. En macOS o Linux, usa export en lugar de la sintaxis de PowerShell.

  6. 2:06

    Conecta una vez y reutiliza el ID.

    El ejemplo llama a ConnectEx con el usuario, la contraseña y el servidor demo. Guarda terminalInstanceGuid en memoria. Las siguientes peticiones REST envían ese valor en la cabecera id y la clave en APIKey. La clave identifica tu acceso a MetaRPC; el ID del terminal selecciona la cuenta conectada.

  7. 2:32

    Comprueba cada respuesta.

    Primero comprueba el código de estado HTTP. Con el código de estado HTTP doscientos, interpreta el JSON y revisa error. Si no es null, detén ese paso y consulta el código y el mensaje de error de forma privada. Si no hay error, lee data. Este ejemplo registra fallos breves sin imprimir las URL de conexión, porque contienen la contraseña de trading.

  8. 3:01

    Consulta la cuenta.

    Aquí se muestra la salida de una ejecución real de Python. El resumen lee accountCurrency, accountBalance y accountEquity dentro de data. Son valores de la cuenta del bróker, no el saldo de servicios de MetaRPC. Las tres líneas siguientes son mensajes reales de cotización recibidos por el ejemplo, no datos inventados.

  9. 3:28

    Suscríbete a las cotizaciones.

    La dirección WebSocket suscribe el ejemplo a EURUSD. Python puede enviar APIKey e id en las cabeceras al establecer la conexión. En cada mensaje JSON, comprueba primero error y después lee data.symbolTick. Bid es la cotización de venta y ask la de compra. timeUtc indica la hora en UTC.

  10. 3:54

    Detén el flujo y desconecta.

    El ejemplo termina después de tres mensajes de cotización. La limpieza cierra primero el WebSocket y después llama a Disconnect con el mismo ID de terminal, incluso si falla el flujo. Cerrar el socket detiene la suscripción; Disconnect libera el terminal alojado. La caducidad de cinco minutos solicitada es una medida de respaldo, no sustituye la limpieza.

  11. 4:24

    Tu primera integración local.

    Ejecuta el ejemplo con Python desde tu entorno virtual. Una ejecución correcta muestra el resumen de la cuenta, tres ticks y los mensajes WebSocket closed y Terminal disconnected. Conserva las comprobaciones de errores y la limpieza al adaptar el código. Ahora puedes sustituir las impresiones por la lógica de tu aplicación y usar tu propia clave API.