- 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 posiciones abiertas
La función positions_total devuelve el número de posiciones abiertas.
int positions_total()
La función es un análogo de PositionsTotal.
Para obtener información detallada sobre cada posición, utilice la función positions_get, que dispone de múltiples opciones. Todas las variantes devuelven un array de tuplas de nombre TradePosition con las claves correspondientes a las propiedades de posición (véanse los elementos de ENUM_POSITION_PROPERTY_enumerations, sin el prefijo «POSITION_», en minúsculas). En caso de error, el resultado es None.
namedtuple[] positions_get()
namedtuple[] positions_get(symbol = <"SYMBOL">)
namedtuple[] positions_get(group = <"PATTERN">)
namedtuple[] positions_get(ticket = <TICKET>)
La función sin parámetros devuelve todas las posiciones abiertas.
La función con el parámetro symbol permite la selección de posiciones para el símbolo especificado.
La función con el parámetro group proporciona filtrado por máscara de búsqueda con comodines '*' (se sustituye cualquier carácter) y negación lógica de la condición '!'. Para obtener más detalles, consulte la sección Obtener información sobre instrumentos financieros.
Una versión con los parámetros ticket selecciona una posición con un ticket específico (propiedad POSITION_TICKET).
La función positions_get se puede utilizar para obtener todas las posiciones y sus propiedades en una sola llamada, lo que lo hace similar a un montón de funciones PositionsTotal, PositionSelect y PositionGet.
En el script MQL5/Scripts/MQL5Book/Python/positionsget.py, solicitamos posiciones para un símbolo específico y una máscara de búsqueda.
import MetaTrader5 as mt5
|
He aquí cuál podría ser el resultado:
Total positions on USDCHF = 1 TradePosition(ticket=1468454363, time=1664217233, time_msc=1664217233239, time_update=1664217233, time_update_msc=1664217233239, type=1, magic=0, identifier=1468454363, reason=0, volume=0.01, price_open=0.99145, sl=0.0, tp=0.0, price_current=0.9853, swap=-0.01, profit=6.24, symbol='USDCHF', comment='', external_id='') positions_get(group="*USD*") = 2 ticket time type ... identifier volume price_open ... _current swap profit symbol comment 0 1468454363 2022-09-26 18:33:53 1 ... 1468454363 0.01 0.99145 ... 0.98530 -0.01 6.24 USDCHF 1 1468475849 2022-09-26 18:44:00 0 ... 1468475849 0.01 1.06740 ... 1.08113 0.00 13.73 GBPUSD
|