Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 63
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
La próxima versión beta estará disponible esta noche:
https://www.mql5.com/en/forum/306742/page16#comment_16148685
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
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
# 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')
# 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.
¿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
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
# 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. 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