Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 63

 
MetaQuotes:

La próxima versión beta estará disponible esta noche:

https://www.mql5.com/en/forum/306742/page16#comment_16148685

MetaTrader 5 Python User Group - the summary
MetaTrader 5 Python User Group - the summary
  • 2020.04.24
  • www.mql5.com
The Main Study MetaTrader module for integration with Python - documentation Python Releases for Windows - website MetaTrader5 : Python Package...
 
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
  • 2020.05.03
  • www.mql5.com
В пятницу 6 марта 2020 года будет выпущена обновленная версия платформы MetaTrader 5...
 
https://www.mql5.com/ru/docs/integration/python_metatrader5
Traté de ejecutar el script de inicio - todo se ejecuta, imprime una matriz de datos sobre los pares de comercio del ejemplo, ejecuta una ventana en la que dibuja el gráfico
Pero he intentado sustituir "EURAUD" por "DAX30", por ejemplo, y después de ejecutar el script, dice que no se ha podido seleccionar DAX30
Por favor, indíqueme cuál puede ser el problema. Terminal versión 2402

Hago conexión con el login y el password y un servidor a la cuenta demo del broker a través de mt5.initialize
Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Lol Kek:
https://www.mql5.com/ru/docs/integration/python_metatrader5
Traté de ejecutar el script de inicio - todo se ejecuta, imprime una matriz de datos sobre los pares de comercio del ejemplo, ejecuta una ventana en la que dibuja el gráfico
Pero he intentado sustituir "EURAUD" por "DAX30", por ejemplo, y después de ejecutar el script, dice que no se ha podido seleccionar DAX30
Por favor, indíqueme cuál puede ser el problema. Terminal versión 2402

Me conecto con la contraseña de acceso y el servidor a la cuenta demo de mi broker a través de mt5.initialize
Compruebe lo que se devuelve en mt5.last_error() después de la llamada de la función que trabaja con DAX30
 

# intentemos habilitar la visualización del símbolo DAX30 en MarketWatch
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()


este es el error (-1, 'Terminal: Call failed')
 
Lol Kek:

# vamos a intentar activar el símbolo DAX30 en MarketWatch
selected = mt5.symbol_select("DAX30", True)
si no se selecciona:
print("initialize() falló, código de error = ", mt5 .last_error())
mt5 .shutdown()
quit()


Este es el error (-1, 'Terminal: Call failed')

¿Está seguro de que tiene el símbolo DAX30 en su cuenta de operaciones?

Muestre una captura de pantalla de la visión general del mercado con este símbolo en su cuenta de operaciones, por favor.

 
Renat Fatkhullin:

¿Está seguro de que tiene el símbolo DAX30 en su cuenta de operaciones?

Muestre una captura de pantalla de la visión general del mercado con este símbolo en su cuenta de operaciones, por favor.

***
Tomo este código -https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, lo inicializo conectándolo a mi cuenta demo. Si lo ejecuto con el USDJPY del ejemplo - todo está bien, muestra una tabla. Si lo cambio a DAX30


Para las tarifas en las tarifas:
TypeError: El objeto 'NoneType' no es iterable

 
Lol Kek:

https://prnt.sc/sbapam
Tomo este código y lo inicializo conectándolo a mi cuenta demo. Si lo ejecuto con el USDJPY del ejemplo - todo está bien, muestra una tabla. Si lo cambio a DAX30

Para las tarifas en las tarifas:
TypeError: El objeto 'NoneType' no es iterable

Lol Kek:

# vamos a intentar activar la visualización del símbolo DAX30 en MarketWatch
selected = mt5.symbol_select("DAX30", True)
si no se selecciona:
print("initialize() falló, código de error = ", mt5 .last_error())
mt5 .shutdown()
quit()


error como este (-1, 'Terminal: Call failed')
Tienes a Dax30 entre corchetes. Ese es el error correcto que estás recibiendo.
 
Dmitriy Skub:
Tienes a Dax30 entre corchetes. El error que se le está dando es correcto.

Ugh, nunca le presté atención a eso, gracias
Y gracias a los desarrolladores por la oportunidad de transferir la lógica a un lenguaje de terceros, concretamente a Python.
Intentaré dar mi opinión aquí a medida que se analice y aplique la lógica.

 

Hola a todos,


Espero que no te moleste que un inglés esté aquí. Buscando algo de orientación después de pasar mucho tiempo buscando en la web sin éxito.

Estoy usando la librería Python de MetaTrader5 después de inspirarme en los artículos de Maxiums. He notado un problema con el manejo de la memoria.

Cuando hago un Dataframe usando mt5 lib el dataframe resultante funciona como se espera. Lo he hecho dentro de una función que recoge los ticks y luego realiza varios análisis antes de dar salida al df manipulado.

Sin embargo, si vuelvo a ejecutar la función que crea el DataFrame he notado que la memoria se sigue acumulando desde la instancia anterior.

Tengo el mismo problema usando mt5.copy_ticks_range () y mt5.copy_rates_range (). Tengo que reiniciar el kernel para borrar la memoria.

Tengo el mismo problema incluso después de eliminar todo el código excepto la línea que crea el marco de datos. Por ejemplo:

def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])

Si ejecuto esto varias veces, el uso de memoria sube 27MiB cada vez:

Línea # Uso de memoria Incremento de línea Contenido ================================================== 126,3 MiB 126,3 MiB def vel (símbolo, lookback, lookforward, fecha_inicial, fecha_final, quantile_size): 153,3 MiB 26,9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, datetime (fecha_inicial.año, fecha_inicial.mes, fecha_inicial.día), .


Línea # Uso de la memoria Incremento del contenido de la línea

================================================== 140.9 MiB 140.9 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 166.5 MiB 25.7 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), ...
Razón de la queja: