Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 76
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡Gracias, Maxim!
Ya lo estoy probando. El ciclo se ha iniciado, pero el archivo no se abre todavía. Dejaré el bucle en funcionamiento y esperaré.
Saludos, Vladimir.
P.D. ¡Perdón! No prestó atención a la vez a lo que está de pie hora. Lo cambié al minuto en que se abrió el archivo EUR_USD_QUOTE.csv pero obtuve este mensaje en la pestaña Ejecutar de Pycharm:
�訡��: �� 㤠���� ���� ����� "excel.exe".
Luego, después de otro minuto más o menos, el archivo se cerró y se volvió a abrir, pero en Exel apareció una pestaña en la parte izquierda de la hoja de cálculo que me pedía que guardara el texto abierto anteriormente. Esperé un poco más para ver qué pasaba después, pero entonces el ciclo se detuvo y apareció un mensaje como éste:
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪�� 4208, � �����襭.
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪�� 3168, �� �����襭.
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", line 37, in <module>
get_data(save_file='EUR_USD_QUOTE.csv')
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", line 23, in get_data
with open(save_file, 'w') as save:
PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv'
Este es el resultado hasta ahora, ¡pero ya he avanzado!
Sinceramente, Vladimir.
Tal vez Excel no tuvo tiempo de cerrar y estaba tratando de acceder al archivo ya, entonces
Añade un retraso de 5-10 segundos aquí, y el programa esperará a que Excel se cierre
No he decidido qué hacer con la ventana de la izquierda )
Quiero aprender a tomar citas en Internet usando el lenguaje Python para verlas no en la terminal, sino en algún archivo, por ejemplo, csv. Pensé que era la tarea más básica, pero resultó que no lo era. Quizá me equivoque de camino, pero el que no busca nada, no encuentra nada.
Ahora pasaré al código que has propuesto. Después de lanzar el código, apareció un mensaje en el entorno de desarrollo de Pycharm :
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", line 25, in <module>
main()
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", línea 13, en main
eurusd_bid = soup.find('td', 'pid-1-bid').text.replace(',', '.')
AttributeError: 'NoneType' object has no attribute 'text'
El proceso ha finalizado con el código de salida 1
¿Qué tengo que cambiar para ver cómo funciona el código?
Respetuosamente, Vladimir.
La razón por la que no funciona es porque este sitio ha bloqueado el envío de solicitudes. El hecho de que tuvieras que fingir un agente de usuario debió ser una pista de que estabas haciendo algo que no querían que hicieras. El escaneo de la web va mucho más allá del alcance de este tema, así que deberíamos dejar de hablar de ello y volver al tema que nos ocupa. ¿Tiene alguna pregunta sobre el uso del paquete MetaTrader5?
Puede que no tenga tiempo de cerrar Excel y esté intentando acceder al archivo, entonces
añadir un retraso de 5-10 segundos, el programa esperará a que Excel se cierre
Todavía no he decidido qué hacer con la ventana izquierda )
Maxim, muchas gracias por el código, que me has ayudado a mejorar. El panel de la izquierda es poco preocupante por el momento. Añadiré tu nuevo código más tarde, probablemente el fin de semana, ya que hoy he estado completamente agobiado en el trabajo y necesito un descanso. Le informaré en cuanto tenga nuevos resultados.
Saludos, Vladimir.
¿En qué momento la biblioteca de MT5 devuelve la hora de las órdenes abiertas?
Pero en la terminal es un momento diferente
¿Cómo puedo sincronizar correctamente la hora en el programa python con la hora de las órdenes (posiciones)?
¿En qué momento la biblioteca de MT5 devuelve la hora de las órdenes abiertas?
pero en la terminal es un tiempo diferente
¿Cómo puedo sincronizar correctamente la hora en el programa python con la hora de las órdenes (posiciones)?
En primer lugar, debe conocer la zona horaria exacta del servidor de comercio. A continuación, cree un objeto de zona horaria utilizando pytz. Por último, pasa el objeto de zona horaria a un método.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesEn primer lugar, debe conocer la zona horaria exacta del servidor de comercio. A continuación, cree un objeto de zona horaria utilizando pytz. Por último, pase el objeto de zona horaria al método.
https://stackoverflow.com/questions/13866926/is-there-a-list-of-pytz-timezonesGracias, lo intentaré así
Me gustaría sincronizar la hora automáticamente ya que el servidor de comercio puede cambiarGracias, voy a probar esto
Me gustaría sincronizar la hora automáticamente, porque el servidor de comercio puede cambiarLas marcas de tiempo de UNIX son agnósticas en cuanto a la zona horaria, por lo que es necesario conocer la zona horaria del corredor para dar a la marca de tiempo un contexto consciente de la zona horaria. La única manera de hacerlo es conocer la configuración de la zona horaria del servidor de comercio. No creo que haya ninguna forma de obtener esa información de forma programada. Lo que puedes hacer es crear un archivo de configuración para asignar los diferentes servidores de comercio que puedas estar utilizando a la zona horaria. Ejemplo:
config.json
Las marcas de tiempo de UNIX son agnósticas en cuanto a la zona horaria, por lo que es necesario conocer la zona horaria del corredor para dar a la marca de tiempo un contexto consciente de la zona horaria. La única manera de hacerlo es conocer la configuración de la zona horaria del servidor de comercio. No creo que haya ninguna forma de obtener esa información de forma programada. Lo que puedes hacer es crear un archivo de configuración para asignar los diferentes servidores de comercio que puedas estar utilizando a la zona horaria. Ejemplo:
config.json
bueno... sí
manera más fácil sin pytz:
También podemos abrir una orden pendiente lejos del precio, antes de iniciar el EA. Y comparar la diferencia de horas entre 'pt' ydatetime.utcnow()
para compensar automáticamente el tiempoBueno... sí
manera más fácil sin pytz:
También podemos abrir una orden pendiente lejos del precio, antes de iniciar el EA. Y comparar la diferencia de horas entre 'pt' y para compensar automáticamente el tiempoYo pensé lo mismo pero luego recordé que la hora de la orden se almacena en una marca de tiempo UNIX que no tiene zona horaria. En otras palabras, no se puede extrapolar la zona horaria del corredor a partir de la marca de tiempo de la orden porque las marcas de tiempo son las mismas sin importar la zona horaria. Si quieres saber el offset GMT tienes que saber la hora actual de la terminal (broker) y actualmente no hay manera de usar python para obtener la hora actual de la terminal o el offset GMT.
Puede que no tenga tiempo de cerrar Excel y esté intentando acceder al archivo, entonces
añadir un retraso de 5-10 segundos, el programa esperará a que Excel se cierre
No he decidido qué hacer con la ventana de la izquierda )
¡Hola Maxim!
Te prometí antes que el fin de semana comprobaría la variante con adición de código de retardo. Lo he comprobado, pero el retraso no ha afectado a nada. No tengo problemas con la pestaña izquierda, porque simplemente no le presto atención.
Una vez más, muchas gracias por su ayuda. No haré más preguntas en este hilo.
Saludos, Vladimir.