- 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
Obtener el número y la lista de órdenes activas
La API de Python proporciona las siguientes funciones para trabajar con órdenes activas.
int orders_total()
La función orders_total devuelve el número de órdenes activas.
La función es un análogo de Orders Total.
Se puede obtener información detallada sobre cada orden utilizando la función orders_get, que dispone de varias opciones con la posibilidad de filtrar por símbolo o ticket. En cualquier caso, la función devuelve el array de tuplas con nombre TradeOrder (los nombres de los campos coinciden con ENUM_ORDER_PROPERTY_enumerations sin el prefijo «ORDER_» y reducido a minúsculas). En caso de error, el resultado es None.
namedtuple[] orders_get()
namedtuple[] orders_get(symbol = <"SYMBOL">)
namedtuple[] orders_get(group = <"PATTERN">)
namedtuple[] orders_get(ticket = <TICKET>)
La función orders_get sin parámetros devuelve órdenes para todos los símbolos.
El parámetro opcional con nombre symbol permite especificar un nombre de símbolo concreto para la selección de órdenes.
El parámetro opcional con nombre group sirve para especificar un patrón de búsqueda utilizando el carácter comodín '*' (como sustituto de un número arbitrario de caracteres cualesquiera, incluido el carácter cero en el lugar dado del patrón) y el carácter de negación lógica de la condición '!'. El principio de funcionamiento de la plantilla de filtros se describió en la sección Obtener información sobre instrumentos financieros.
Si se especifica el parámetro ticket, se busca en un orden determinado.
En una sola llamada a la función, puede obtener todas las órdenes activas. Se trata de un análogo del uso combinado de las funciones OrdersTotal, OrderSelect, y OrderGet.
En el siguiente ejemplo (MQL5/Scripts/MQL5Book/Python/ordersget.py), solicitamos información sobre las órdenes de diferentes maneras.
import MetaTrader5 as mt5
|
A continuación se muestra el resultado de muestra:
Total orders on GBPUSD: 2 TradeOrder(ticket=554733548, time_setup=1585153667, time_setup_msc=1585153667718, time_done=0, time_done_msc=0, time_expiration=0, type=3, type_time=0, ... TradeOrder(ticket=554733621, time_setup=1585153671, time_setup_msc=1585153671419, time_done=0, time_done_msc=0, time_expiration=0, type=2, type_time=0, ...
orders_get(group="*GBP*")=4 ticket time_setup time_setup_msc type ... volume_current price_open sl tp price_current symbol comment external_id 0 554733548 2020-03-25 16:27:47 1585153667718 3 ... 0.2 1.25379 0.0 0.0 1.16803 GBPUSD 1 554733621 2020-03-25 16:27:51 1585153671419 2 ... 0.2 1.14370 0.0 0.0 1.16815 GBPUSD 2 554746664 2020-03-25 16:38:14 1585154294401 3 ... 0.2 0.93851 0.0 0.0 0.92428 EURGBP 3 554746710 2020-03-25 16:38:17 1585154297022 2 ... 0.2 0.90527 0.0 0.0 0.92449 EURGBP |