MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 34

 
Renat Fatkhullin:

Кто-нибудь уже использовал интеграцию Питона в MetaEditor в билдах 2302 и выше(лучше бета 2304)?


Сейчас работает первая версия интеграции в редактор, а дальше будет:

  • запуск скриптов(не экспертов) и сервисов в виде Питон *.py программ
  • полностью переписанная питон библиотека metatrader5 с доступом к чартам, символам, возможности торговать, истории торговли
  • подсветка в редакторе

Уже сейчас работает запуск в редакторе *.py и *.ipynb программ.

Попробуйте, пожалуйста.


После того, как отработаем машинное обучение через питоновые скрипты, перейдем к внедрению WinML с ONNX нативно в сам MQL5.

Посмотрел что такое WinML, довольно интересная штука, разобраться бы в этом всём ))
Я правильно понимаю, что после внедрения WinML с ONNX, по сути в mql5 станет доступно машинное обучение из коробки MetaTrader5 ?
И обученные модели в WinML, можно будет использовать прямо в программах MetaTrader5 ?

 
Roman:

Посмотрел что такое WinML, довольно интересная штука, разобраться бы в этом всём ))
Я правильно понимаю, что после внедрения WinML с ONNX, по сути в mql5 станет доступно машинное обучение из коробки MetaTrader5 ?
И обученные модели в WinML, можно будет использовать прямо в программах MetaTrader5 ?

Да, именно так.

Можно будет создавать очень сложные системы и продавать их в маркете. И работать в теории должны быстрее.

Исследования можно вести в любых системах, потом экспортировать натренированные модели в ONNX формат и запускать в работу уже по родному в WinML.

 
Renat Fatkhullin:

Да, именно так.

Можно будет создавать очень сложные системы и продавать их в маркете. И работать в теории должны быстрее.

Исследования можно вести в любых системах, потом экспортировать натренированные модели в ONNX формат и запускать в работу уже по родному в WinML.

В связи с этим ещё вопрос.
Как вы планируете интегрировать обученные модели в код программ mql5 ?
Это будет непосредственно интеграция обученного кода, в mql код ?
Или каждая модель будет сохраняться в отдельный файл, и этот файл будет подключаться на подобие инклюда? 

 

Кроме интеграции Питона, мы ведем работу по нативной поддержке функций оперирования большими массивами данных как в коде, так и в MetaEditor:

  1. SQLite Browser в MetaEditor уже доступен в бетах



  2. Просмотр в табличном виде CSV файлов, включая упакованные в zip/gz

    Датасеты обычно распространяются в CSV форматах, да еще упакованные в gz/zip. Мы дадим возможность просматривать (и редактирования наверное) в табличном виде огромные файлы, что практически недоступно в других редакторах.

  3. Расширения DatabaseXXX функций вида DatabasePrint, DatabaseExport, DatabaseImport

    С помощью этих функций можно легко конвертировать CSV файлы в SQLite базы, экспортировать или распечатывать их.

    Достаточно один раз импортировать текстовую CSV базу в SQLite, чтобы потом использовать потрясающую (на уровне C++) скорость выборок и доступа к данным. Наша реализация SQLite практически без потерь по сравнению с C++ реализациями.

  4. Разрешим добавлять SQLite файлы как ресурсы в EX5 программы

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

 
Renat Fatkhullin:

Да, именно так.

Можно будет создавать очень сложные системы и продавать их в маркете. И работать в теории должны быстрее.

Исследования можно вести в любых системах, потом экспортировать натренированные модели в ONNX формат и запускать в работу уже по родному в WinML.

найс. Алглиб, как понимаю, не планируете обновлять до последних версий?

 
Roman:

В связи с этим ещё вопрос.
Как вы планируете интегрировать обученные модели в код программ mql5 ?
Это будет непосредственно интеграция обученного кода, в mql код ?
Или каждая модель будет сохраняться в отдельный файл, и этот файл будет подключаться на подобие инклюда? 

ONNX + WinML: https://docs.microsoft.com/en-us/windows/ai/

Почитайте самостоятельно по этой теме. Она огромная и ее нельзя на пальцах в форуме расписать.

Windows AI
Windows AI
  • mattwojo
  • docs.microsoft.com
Transform your Windows application with the power of AI.
 
Maxim Dmitrievsky:

найс. Алглиб, как понимаю, не планируете обновлять до последних версий?

Есть мысль обновить с учетом новых возможностей MQL5 компилятора, но пока руки не дошли.
 
Renat Fatkhullin:

Ренат извиняюсь, что вопрос не по теме.
Подскажите пожалуйста как в проекте ME, подключить библиотеку c расширением .lib или .a  ?
Если проекты не поддерживают данную линковку, будет ли добавлена такая возможность?
Сейчас из статичных библиотек, приходиться делать dll, и только потом линковать их в проект,
что как то не логично и не удобно завязываться на dll, когда имеются файлы .lib или .a 

 

 

Не судите строго, возможно есть любители питона и пытаются его интегрировать во всё и вся.

Питон это библиотека С++, не лучше сделать на MQL СБ (стандартную библиотеку)?

Изначально MQ шли этим путём, но потом сдались под натиском Pyтоноводов, Rводов и Алглибводов )

По моему вся проблема в том, что MQ боятся выйти за рамки "песочницы", типа R, Py, Alglib это уже не наша проблема. 

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

Напоминает страуса )))

 

Проблема в узости восприятия темы массами и непонимании трендов развития алготрейдинга:

  • Машинное обучение - следующий технологический шаг в алготрейдинге
  • Питон - не C++ библиотека, а выигравшая гонку машинного обучения платформа
  • Интеграция Питона в редактор и терминал дает возможность мгновенно использовать готовые и абсолютно непереносимые библиотеки принятия решений
  • Интеграции - это норма, у нас есть Native DLL, .NET DLL, OpenCL, DirectX, SQLite в дополнение к большому набору штатных функций и стандартной библиотеке
  • Метатрейдер 5 вместе с MQL5 вовсю развиваются в сторону поддержки машинного обучения: сначала через питон библиотеку интеграции Terminal API, функции работы с массивными данными, а потом переходом на штатный WinML и открытые ONNX форматы моделей

Страуса напоминают как раз люди:

  • пытающиеся рассуждать про сложность MQL5 и преимущества МТ4
  • не развивающиеся, экономящие свои силы
  • пытающиеся остановить прогресс


Чтобы лучше понимать индустрию алготрейдинга:

  1. думайте большими масштабами десятков миллионов потребителей, а не личным/частным восприятием или возможностями
  2. оценивайте периоды в 5-10 лет и тренды развития, публичной информации достаточно
  3. продукты(роботы, индикаторы, ...) разрабатываются в основном более-менее профессиональными программистами, которым нужно все больше возможностей, включая распространение
  4. массовые потребители пользуются плодами профессиональных разработчиков, часто не понимая сложности примененных технологий
  5. есть достаточный пласт не публичных, но сверх емких по финансам разработчиков и потребителей в виде хедж-фондов
  6. ты или принимаешь прогресс, или остаешься за бортом - поезд идет без остановок
Если человек остается в рамках оценки «есть только я и мои интересы, зачем мне думать об общем и будущем», то закономерно теряет способность защищать свою позицию в больших масштабах.
Причина обращения: