- Instalar Python y el paquete MetaTrader5
- Visión general de las funciones del paquete MetaTrader5 para Python
- Conectar un script Python al terminal y la cuenta
- Comprobación de errores: last_error
- Obtener información sobre una cuenta de trading
- Obtener información sobre el terminal
- Obtener información sobre instrumentos financieros
- Suscripción a los cambios en el libro de órdenes
- Leer cotizaciones
- Leer historial de ticks
- Calcular requisitos de margen y evaluar beneficios
- Comprobación y envío de una orden de trading
- Obtener el número y la lista de órdenes activas
- Obtener el número y la lista de posiciones vacantes
- Leer el historial de órdenes y transacciones
Conectar un script de Python al terminal y la cuenta
La función initialize establece una conexión con el terminal de MetaTrader 5 y tiene 2 formas: corta (sin parámetros) y completa (con varios parámetros opcionales, el primero de ellos es path y es posicional, y todos los demás tienen nombre).
bool initialize()
bool initialize(path, account = <ACCOUNT>, password = <"PASSWORD">,
server = <"SERVER">, timeout = 60000, portable = False)
El parámetro path establece la ruta al archivo de terminal (metatrader64.exe) (tenga en cuenta que se trata de un parámetro sin nombre, a diferencia de todos los demás, por lo que si se especifica, debe ser el primero de la lista).
Si no se especifica la ruta, el módulo intentará encontrar el archivo ejecutable por sí mismo (los desarrolladores no revelan el algoritmo exacto). Para eliminar ambigüedades, utilice la segunda forma de la función con parámetros.
En el parámetro account puede especificar el número de la cuenta de trading. Si no se especifica, se utilizará la última cuenta de trading de la instancia seleccionada del terminal.
La contraseña de la cuenta de trading se especifica en el parámetro password y también puede omitirse: en este caso, la contraseña almacenada en la base de datos del terminal para la cuenta de trading especificada se sustituye automáticamente.
El parámetro server se procesa de forma similar con el nombre del servidor de trading (tal y como se especifica en el terminal); si no se especifica, se sustituye automáticamente por el servidor guardado en la base de datos del terminal para la cuenta de trading especificada.
El parámetro timeout indica el tiempo de espera en milisegundos que se da para la conexión (si se supera, se producirá un error). El valor predeterminado es 60000 (60 segundos).
El parámetro portable contiene una bandera para lanzar el terminal en modo portátil (de manera predeterminada es False).
La función devuelve True en caso de conexión exitosa con el terminal de MetaTrader 5, y False en caso contrario.
Si es necesario, al realizar una llamada a initialize, se puede iniciar el terminal de MetaTrader 5.
Por ejemplo, la conexión a una cuenta de trading específica se realiza del siguiente modo:
import MetaTrader5 as mt5
|
La función login también se conecta a la cuenta de trading con los parámetros especificados, pero esto implica que ya se ha establecido la conexión con el terminal, es decir, la función se suele utilizar para cambiar la cuenta.
bool login(account, password = <"PASSWORD">, server = <"SERVER">, timeout = 60000)
El número de cuenta de trading se facilita en el parámetro account. Se trata de un parámetro obligatorio sin nombre, lo que significa que debe ser el primero de la lista.
Los parámetros password, server y timeout son idénticos a los parámetros correspondientes de la función initialize.
La función devuelve True en caso de conexión exitosa a la cuenta de trading, y False en caso contrario.
shutdown()
La función shutdown cierra la conexión previamente establecida con el terminal de MetaTrader 5.
El ejemplo para las funciones anteriores se proporcionará en la sección siguiente.
Cuando se establece la conexión, el script puede encontrar la versión del terminal.
tuple version()
La función version devuelve una breve información sobre la versión del terminal de MetaTrader 5 como una tupla de tres valores: número de versión, número de compilación y fecha de compilación.
Tipo de campo |
Descripción |
---|---|
número entero |
Versión del terminal de MetaTrader 5 (actual, 500) |
número entero |
Número de compilación (por ejemplo, 3456) |
cadena |
Fecha de compilación (por ejemplo, «25 feb 2022») |
En caso de error, la función devuelve None, y el código de error puede obtenerse utilizando last_error.
Se puede obtener información más completa sobre el terminal utilizando la función terminal_info.