python

 

Решил посмотреть связь python и mt5.

Запускаю редактор, в нём мастера и в нём выбираю скрипт питон. Из пакетов выбираю только библиотеку MetaTrader5.

Жму компилировать и вижу:

Запускаю этот же код в PyCharm и всё тоже самое.

Кинул в виртуалку win7 - оказывается под него последние версии питона не работает. Установил вин10 про. Чистая установка, один питон, поставил все библиотеки, и вновь аналогичные ошибки.

я понимаю что в принципе библиотека MetaTrader5 мне не нужна, просто отдать данные из мт5 можно массой способов, но всё же любопытно. Зачем-то этот пакет разработчики создали.

Посмотрел в сети по ошибке: RuntimeError: The current Numpy installation ('C:\\Program Files\\Python37\\lib\\site-packages\\numpy\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86 __init__.py 302 1

В итоге понял что пакет MetaTrader5 завязан на numpy который в последних версиях вин10 запускается с ошибкой.

Что в итоге делать?


 

MetaTrader для Python

плюс прописать 

Это минимум. Остальные нужные библиотеки, например у меня, стали с одним из пакетов для разработки.


Добавлено: у меня

Terminal        Windows 10 build 19042, Intel Core i7-9750H  @ 2.60GHz, 22 / 31 Gb memory, 1668 / 1861 Gb disk, IE 11, UAC, GMT+2
***
Python version:  sys.version_info(major=3, minor=7, micro=6, releaselevel='final', serial=0)

и нет никаких ошибок с numpy. Питоновские скрипты запускаются и работают.
Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
MetaTrader для Python - Интеграция - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Oreshkin:

Решил посмотреть связь python и mt5.

Запускаю редактор, в нём мастера и в нём выбираю скрипт питон. Из пакетов выбираю только библиотеку MetaTrader5.

Жму компилировать и вижу:

Запускаю этот же код в PyCharm и всё тоже самое.

Кинул в виртуалку win7 - оказывается под него последние версии питона не работает. Установил вин10 про. Чистая установка, один питон, поставил все библиотеки, и вновь аналогичные ошибки.

я понимаю что в принципе библиотека MetaTrader5 мне не нужна, просто отдать данные из мт5 можно массой способов, но всё же любопытно. Зачем-то этот пакет разработчики создали.

Посмотрел в сети по ошибке: RuntimeError: The current Numpy installation ('C:\\Program Files\\Python37\\lib\\site-packages\\numpy\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86 __init__.py 302 1

В итоге понял что пакет MetaTrader5 завязан на numpy который в последних версиях вин10 запускается с ошибкой.

Что в итоге делать?



Это не проблема пакета MetaTrader или numpy. Микромягкие в последнем обновлении 10Pro 20H2 чего то сильно изменили в порядке компиляции С. И естественно Питоновские библы упали. В основном как понял пострадал numpy. Дня три назад пытался ставить Питоновский пакет и у меня вылетела такая же ошибка. Жду когда исправят.

 

Микрософт намудрил с CRT библиотекой, которая используется в numpy. Исправление неизвестно когда ждать, только в новом году.

По сути все посыпалось каскадом, если использовать последние версии пакетов.

Пока лечится так откатом на предыдущую версию:

python -m pip install --upgrade numpy==1.19.3
 

Объяснение от сотрудника Микрософта:

After discussions with AMD over the appropriate behavior for fmod and remainder, we have an agreed upon solution that we’re hoping to push through as quickly as possible. To set expectations, pushing changes through Windows Update still takes a long time to validate, must go through proper testing and flighting processes prior to release, and servicing releases have set schedules. My current expectation is that this will be able to be released near the end of January 2021. Once I have a clear idea of when the update will be able to be available, I will update this thread again with details.

To summarize the issue, this is an issue with the 64-bit version of fmod and remainder, as of Windows version 10.0.19041.488. In this update, there was a update to the fmod and remainder functions intended to fix a case where these functions would fail to use the FPU when the FPU stack is full.

This was fixed by replacing the ‘ffree’ instructions intended to create space on the FPU stack with ‘fstp’ instructions. However, instead of popping off the top two values of the stack, the implementation erroneously only popped off one value. In addition, we found that the strategy of popping off any values prior to loading our fmod arguments to the FPU should be avoided. The new implementation will no longer pop off existing values - the FPU stack prior to calling fmod/remainder will be identical to how it appears afterwards.

If there is not enough room on the FPU stack to complete the fmod/remainder calculation, the function will fail (the FPU stack is caller-saved, so this is considered a precondition issue). In order to avoid this, we have also removed FPU usage from code paths that do not require the FPU to properly calculate the result.

To workaround this issue until a fix can be serviced, I recommend the other advice given in this thread:

    • 32-bit applications will not encounter this issue. It is specific to our 64-bit implementation. (Thank you @Simon Björklund)
    • If you are encountering this issue specifically via NumPy/OpenBLAS, please use the NumPy version 1.19.3. (Thank you @mattip)

Thank you @Roger Andrews for the suggestion - I will be following up with the Windows team about adding this to the known issues list and a compatibility hold. I update this thread with progress on that.

 
Vladimir Karputov:

MetaTrader для Python

плюс прописать 

Это минимум. Остальные нужные библиотеки, например у меня, стали с одним из пакетов для разработки.


Добавлено: у меня

и нет никаких ошибок с numpy. Питоновские скрипты запускаются и работают.

Ясно почему у меня все работает - у меня версия

Numpy version:  1.18.4
 
Renat Fatkhullin:

Микрософт намудрил с CRT библиотекой, которая используется в numpy. Исправление неизвестно когда ждать, только в новом году.

По сути все посыпалось каскадом, если использовать последние версии пакетов.

Пока лечится так откатом на предыдущую версию:

Так что не всегда нужно делать самые последние обновления. Лучше подождать следующих.

 

сорри если не в тему, но вот этот глюк может быть связан с обновой Винды? 


Aleksey Mavrin:

Далее обнаружил вот такое - любой советник или индикатор из окна Навигатора тянем или двойной щелчок - но загружается другой советник, стоящий неподалёку в списке Навигатора. Жесть короче.

Windows 10 Корпоративная 20H2 сборка 19042.685

https://www.mql5.com/ru/forum/1111/page2927#comment_19797552

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2020.12.18
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Renat Fatkhullin:

Микрософт намудрил с CRT библиотекой, которая используется в numpy. Исправление неизвестно когда ждать, только в новом году.

По сути все посыпалось каскадом, если использовать последние версии пакетов.

Пока лечится так откатом на предыдущую версию:

Благодарю, всё заработало.


Vladimir Perervenko:

Так что не всегда нужно делать самые последние обновления. Лучше подождать следующих.

Это не всегда возможно. Конечно к данному случаю не относиться, но к примеру на серверах у меня важные обновления ос ставятся автоматом.

 
Alexey Oreshkin:

Это не всегда возможно. Конечно к данному случаю не относиться, но к примеру на серверах у меня важные обновления ос ставятся автоматом.

если работает нормально то нет смысла обновлять

 
Renat Akhtyamov:

если работает нормально то нет смысла обновлять

работает нормально и дыра в безопасности термины из разных вселенных.