Discusión sobre el artículo "Integración de MetaTrader 5 y Python: recibiendo y enviando datos" - página 6

 
Maxim Dmitrievsky:

Hola a todos

Nota

La dirección de conexión debe añadirse a la lista de permitidas en el terminal cliente (Herramientas \ Opciones \ Asesores Expertos).

Si la conexión falla, el error 5272 (ERR_NETSOCKET_CANNOT_CONNECT) se escribe en_LastError.

La función sólo puede ser llamada desde Asesores Expertos y scripts, ya que se ejecutan en sus propios hilos de ejecución. Si se llama desde un indicador,GetLastError() devuelve el error 4014 - "No se permite llamar a la función".



https://www.mql5.com/en/docs/network/socketconnect


Hola Maxim Dmitrievsky,

He permitido el localhost y funciona correctamente.Muchas gracias. Pero cuando corrí en backtest usando el Probador de Estrategias, el error 4014 persistió. ¿El socket no funciona con backtest?

Saludos cordiales
[Eliminado]  
auuuuu1628:

Hola Maxim Dmitrievsky,

He permitido el localhost y funciona correctamente.Muchas gracias. Pero cuando corrí en backtest usando el Probador de Estrategias, el error 4014 persistió. ¿El socket no funciona con backtest?

Saludos cordiales

Sí, de acuerdo. Metaquotes desactivado esta función en backtester, pero dicen que tal vez permitir que esto en un futuro próximo.

 

¿Por qué no cerrar "xxx" inmediatamente después de recibir una respuesta del servidor, en lugar de seguir esperando la respuesta hasta que llegue a TimeOut?

Me refiero al asombroso programa desarrollado por @MaximDmitrievsky -> https://www.mql5.com/es/articles/5691

(( La función socketreceive() escucha en un puerto, y lo devuelve como una cadena cuando hay una respuesta del servidor: ))

string socketreceive(int sock, int timeout) {
        char rsp[];
        string result = "";
        uint len;
        uint timeout_check=GetTickCount()+timeout;
        do {
                len=SocketIsReadable(sock); 
                if(len){
                        int rsp_len;
                        rsp_len = SocketRead(sock,rsp,len,timeout);
                        if(rsp_len>0){
                                result+=CharArrayToString(rsp,0,rsp_len); 
                        }
                }
        } while((GetTickCount()<timeout_check) && !IsStopped());
        return result;
}

Enhorabuena por este gran artículo.

Maxim Dmitrievsky
Maxim Dmitrievsky
  • www.mql5.com
Опубликовал статью Грокаем "память" рынка через дифференцирование и энтропийный анализ Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые данные в...
 
¡Hola!
Me preguntaba cómo puedo seguir recibiendo datos en vivo de mql5 y añadirlo a mi lista o mi dataframe
Por el momento un touple sale de comandos metatrader y se convierte en un marco de datos, pero lo que si queremos seguir recibiendo los datos y en al marco de datos
Tnx maxim, has sido de gran ayuda
 

Buenos días, estoy recibiendo un error dll

Traceback (última llamada más reciente):

File "teste_conexao.py", line 2, in <module>
from MetaTrader5 import *
File "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", line 35, in <module>.
from .C import *

ImportError: DLL load failed: The specified module could not be found.


¿Alguien sabe qué estoy haciendo mal?

 

<Borrado>

Este es un foro en inglés. Por favor, publica sólo en inglés.

 

Hola,

¿Podría alguien escribir un código de ejemplo de cómo abrir una posición de 'Compra' o 'Venta' desde Python y también cómo cerrar esa posición?

¿O no es posible?

Muchas gracias.

 
Antonio Batista:

Buenos días, estoy recibiendo un error dll

Traceback (última llamada más reciente):

File "teste_conexao.py", line 2, in <module>
from MetaTrader5 import *
File "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", line 35, in <module>.
from .C import *

ImportError: DLL load failed: The specified module could not be found.


¿Alguien sabe qué estoy haciendo mal?

Hola Antonio

este error suele ocurrir cuando intentas instalar la librería en un Python que no es Python para Windows. Prueba a instalar https://www.python.org/downloads/ a ver si se corrige el error.


Saludos

Download Python
Download Python
  • www.python.org
The official home of the Python Programming Language
 

MetaTrader5 módulo no funciona

import MetaTrader5 as mt5 funciona asi

pero cuando from MetaTrader5 import * (lo conecto completamente sale en Pycharme).

Alguien me puede decir cual es el problema?????

 

como conectar un indicador de metatrader5 a python.


Gracias