Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3235

 
Тем не менее, тема создания кастомных пайплайнов с последующей конвертацией их в ONNX весьма интересна, важна и вполне заслуживает одной или даже нескольких статей на форуме.
 

Если я правильно понял, то схема работы с ONNX упрощённо выглядит так:

MQL5_Input_Data -> ONNX -> MQL5_TS, где:

MQL5_Input_Data - получение данных

ONNX - модель (нейросеть с коэффициентами весов)

MQL5_TS - обработчик и торговая система.


Непонятно как исполняется ONNX-модель, то ли её выполняет непосредственно MT5, то ли нужно Python задействовать для этого.

[Удален]  
Andrey Dik #:

Если я правильно понял, то схема работы с ONNX упрощённо выглядит так:

MQL5_Input_Data -> ONNX -> MQL5_TS, где:

MQL5_Input_Data - получение данных

ONNX - модель (нейросеть с коэффициентами весов)

MQL5_TS - обработчик и торговая система.


Непонятно как исполняется ONNX-модель, то ли её выполняет непосредственно MT5, то ли нужно Python задействовать для этого.

МТ5 выполняет. На выходе просто экзешник бота. Как ресурс подшивается.
 
Andrey Dik #:

Если я правильно понял, то схема работы с ONNX упрощённо выглядит так:

MQL5_Input_Data -> ONNX -> MQL5_TS, где:

MQL5_Input_Data - получение данных

ONNX - модель (нейросеть с коэффициентами весов)

MQL5_TS - обработчик и торговая система.


Непонятно как исполняется ONNX-модель, то ли её выполняет непосредственно MT5, то ли нужно Python задействовать для этого.

Я так понял:. Onnx - модель выдает только
Сигнал( грубо говоря число или набор чисел), а торги делает сам терминал МТ5
Через функцию OrderSend()
 
Andrey Dik #:

Непонятно как исполняется ONNX-модель, то ли её выполняет непосредственно MT5, то ли нужно Python задействовать для этого.

Судя по всему, исполняется посредством onnxruntime от Микрософта, включённого в МТ5. Был недолгий момент, когда для запуска модели нужно было добавлять какие-то длл-ки в корень терминала.

GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
  • microsoft
  • github.com
ONNX Runtime is a cross-platform inference and training machine-learning accelerator . ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc...
 
Maxim Dmitrievsky #:
МТ5 выполняет. Как она вшивается в тело бота потом - вроде Ренат писал, не помню. На выходе просто экзешник бота.

если советник с ONNX это просто экзешник, то как организаторы узнают, что вообще ONNX используется?

или, "не переживай, узнают!"?))

 
Andrey Dik #:

если советник с ONNX это просто экзешник, то как организаторы узнают, что вообще ONNX используется?

или, "не переживай, узнают!"?))

Нет же, модель добавляется в качестве ресурса. Можно  в виде отдельного файла - в мануале всё описано же.
[Удален]  
Andrey Dik #:

если советник с ONNX это просто экзешник, то как организаторы узнают, что вообще ONNX используется?

или, "не переживай, узнают!"?))

🤷‍♂️
 
Aleksey Nikolayev #:
Нет же, модель добавляется в качестве ресурса.

ну я про это и говорю, модель как ресурс вшита в экзешник советника, экзешник отправляем организатору. в экзешнике ведь всё что угодно может быть, вплоть до отсутсвия модели ONNX вообще))

 
Andrey Dik #:

ну я про это и говорю, модель как ресурс вшита в экзешник советника, экзешник отправляем организатору. в экзешнике ведь всё что угодно может быть, вплоть до отсутсвия модели ONNX вообще))

))

Не, там выдаются какие-то сообщения о запуске onnx. Да и принимать же будут модели, а не экзешники вроде, а потом будут запускать модели в одинаковом для всех шаблоне.