Gracias Diamond. No hay errores. Los caminos se escriben correctamente. He borrado la ruta exacta en mt5.initialize (), he reiniciado el terminal y la figura ha comenzado a mostrarse.
Tienes que usar una cadena cruda o escapar todas las barras invertidas.
Tiene un límite en el número de barras en los gráficos, necesita eliminar este límite en el Terminal (Herramientas->Opciones->Barras máximas en el gráfico). En futuras versiones de Terminal, devolveremos un error (None) cuando se intente realizar dicha solicitud.
import MetaTrader5 as mt5
if not mt5.initialize():
print( "initialize() failed, error code =" , mt5.last_error())
quit()
orders = mt5.orders_get(symbol= "GBPUSD" )
if orders is None:
print( "No orders on GBPUSD, error code={}" .format(mt5.last_error()))
elif len(orders) > 0 :
print( "Total orders on GBPUSD:" , len(orders))
for order in orders:
print(order)
mt5.shutdown()
Todo es correcto, se devuelve un conjunto vacío - señal de que no hay pedidos, esto no es un error, la solicitud funcionó con éxito, se devuelve Ninguno en caso de un error explícito. Pero el hecho de que también devuelva un conjunto vacío en los símbolos que no están en el servidor del broker, es un error, corregido, estará disponible con la próxima actualización del terminal.
Almaz : Esto es correcto, se devuelve un conjunto vacío - señal de que no hay pedidos, no es un error, la solicitud fue procesada con éxito, se devuelve Ninguno en caso de error explícito. Pero también devuelve un conjunto vacío en los símbolos que no están en el servidor del broker, es un error, arreglado, estará disponible con la próxima actualización del terminal.
@Almaz La primera vez que se ejecutan las funciones copy_xxx_xxx, cuando el terminal no se ha iniciado durante algún tiempo, las funciones devuelven inmediatamente el resultado disponible con el historial que falta, sin esperar a la sincronización del intercambio de historiales. Significa que la primera llamada a la función devuelve el resultado con la historia que falta. Sólo las llamadas posteriores devolverán el resultado correcto, cuando se intercambie el historial. ¿Es posible solucionar este problema? Y la función copy_xxx_xxx espera a que se intercambie la historia en la primera llamada.
Gracias Diamond.
No hay errores.
Los caminos se escriben correctamente.
He borrado la ruta exacta en mt5.initialize (), he reiniciado el terminal y la figura ha comenzado a mostrarse.
Tienes que usar una cadena cruda o escapar todas las barras invertidas.
Tienes que usar una cadena cruda o escapar todas las barras invertidas.
También pensé en el blindaje cuando Almaz escribió para el camino exacto. Sí, también ha funcionado. Gracias
Tiene un límite en el número de barras en los gráficos, necesita eliminar este límite en el Terminal (Herramientas->Opciones->Barras máximas en el gráfico).
En futuras versiones de Terminal, devolveremos un error (None) cuando se intente realizar dicha solicitud.
Gracias por el consejo.
MT5 ahora entrega todos los datos correctamente.
Python 3.8
Construir 2470
Paquete 5.0.33
Fallo de la función Orders_get
Devuelve no "NO" si no hay pedidos.
Python 3.8
Construir 2470
Paquete 5.0.33
Fallo de la función Orders_get
Devuelve no "NO" si no hay pedidos.
Esto es correcto, se devuelve un conjunto vacío - señal de que no hay pedidos, no es un error, la solicitud fue procesada con éxito, se devuelve Ninguno en caso de error explícito. Pero también devuelve un conjunto vacío en los símbolos que no están en el servidor del broker, es un error, arreglado, estará disponible con la próxima actualización del terminal.
Bien, ¿realmente entiendo esto?
Sólo hay dos tipos de respuestas:
1. NO
2. Una tupla con una longitud superior a 0
En la siguiente asamblea> 2470
Bien, ¿realmente entiendo esto?
Sólo hay dos tipos de respuestas:
1. NO
2. Una tupla con una longitud superior a 0
En la siguiente construcción> 2470
No.
1. Ninguno si se produce algún error
2. Tupla con longitud >=0
No.
1. Ninguno si se produce algún error
2. Tupla con longitud >=0
Bien, ahora lo entiendo.
Gracias
Tenga en cuenta que mt5.terminal_info() muestra:
path='C:\Works\\\\\MT5 - terminals\MetaTrader 5', data_path='C:\Works\\\\MT5 - terminals\MetaTrader 5',commondata_path='C:\Users\rip\AppData\Roaming\MetaQuotes\Terminal\Common'
son idénticos. ¿Se supone que debe ser así?
El código es el siguiente:
@Almaz
La primera vez que se ejecutan las funciones copy_xxx_xxx, cuando el terminal no se ha iniciado durante algún tiempo, las funciones
devuelven inmediatamente el resultado disponible con el historial que falta, sin esperar a la sincronización del intercambio de historiales.
Significa que la primera llamada a la función devuelve el resultado con la historia que falta.
Sólo las llamadas posteriores devolverán el resultado correcto, cuando se intercambie el historial.
¿Es posible solucionar este problema? Y la función copy_xxx_xxx espera a que se intercambie la historia en la primera llamada.