Обсуждение статьи "Соединение MetaTrader 5 и Python: получение и отправка данных" - страница 6

 
Maxim Dmitrievsky:

Всем привет

Примечание

Адрес подключения должен быть добавлен в список разрешенных на стороне клиентского терминала (Tools \ Options \ Expert Advisors).

Если соединение не удается, в_LastError записывается ошибка 5272 (ERR_NETSOCKET_CANNOT_CONNECT).

Функция может быть вызвана только из советников и скриптов, так как они работают в собственных потоках исполнения. При вызове из индикатораGetLastError() возвращает ошибку 4014 - "Функция не разрешена для вызова".



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


Здравствуйте, Максим Дмитриевский,

Я разрешил локалхост и он работает корректно.Спасибо большое! Но когда я запустил в бэктесте с помощью Strategy Tester, ошибка 4014 сохранилась. Сокет не работает с бэктестом?

С наилучшими пожеланиями
[Удален]  
auuuuu1628:

Здравствуйте, Максим Дмитриевский,

Я разрешил локалхост и он работает корректно.Спасибо большое! Но когда я запустил в бэктесте с помощью Strategy Tester, ошибка 4014 сохранилась. Сокет не работает с бэктестом?

С уважением

Да, все верно. Metaquotes отключила эту функцию в бэктестере, но они говорят, что, возможно, разрешат ее в ближайшем будущем.

 

Почему бы не закрыть "xxx" сразу же после получения ответа от сервера, вместо того чтобы продолжать ждать ответа, пока он не достигнет TimeOut?

Я имею в виду удивительную программу, разработанную @Maxim Dmitrievsky -> https://www.mql5.com/ru/articles/5691

(( Функция socketreceive() прослушивает порт, и при появлении ответа от сервера возвращает его в виде строки: ))

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;
}

Поздравляю с этой замечательной статьей.

Maxim Dmitrievsky
Maxim Dmitrievsky
  • www.mql5.com
Опубликовал статью Грокаем "память" рынка через дифференцирование и энтропийный анализ Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые данные в...
 
Привет!
Я хотел бы узнать, как я могу продолжать получать живые данные из mql5 и добавлять их в список или датафрейм.
В данный момент тупл выходит из команд metatrader и конвертируется в датафрейм, но что если мы хотим продолжать получать данные и в датафрейм.
Спасибо, Максим, вы нам очень помогли.
 

Доброе утро, я получаю ошибку dll

Traceback (последний последний вызов):

Файл "teste_conexao.py", строка 2, in <module>
from MetaTrader5 import *
Файл "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", строка 35, in <module>
from .C import *

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


Кто-нибудь знает, что я делаю не так?

 

<Удалено>

Это англоязычный форум. Пожалуйста, пишите только на английском.

 

Здравствуйте,

Может ли кто-нибудь написать пример кода, как открыть позицию 'Buy' или 'Sell' из Python, а также как закрыть эту позицию?

Или, может быть, это невозможно?

Большое спасибо!

 
Antonio Batista:

Доброе утро, я получаю ошибку dll

Traceback (последний последний вызов):

Файл "teste_conexao.py", строка 2, in <module>
from MetaTrader5 import *
Файл "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", строка 35, in <module>
from .C import *

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


Кто-нибудь знает, что я делаю не так?

Здравствуйте Антонио,

эта ошибка обычно возникает, когда вы пытаетесь установить библиотеку на Python, который не является Python for Windows. Попробуйте установить https://www.python.org/downloads/ и посмотрите, исправит ли это ошибку.


Будьте здоровы

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

не работает модуль MetaTrader5

вот так работает   import MetaTrader5 as mt5 

а когда from MetaTrader5 import *  (полностью подключаю гаснет в Pycharme) 

Подскажет кто нибудь в чем проблема???

 

как подключить индикатор metatrader5 к python.


Спасибо