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

 

Новые ошибки:

   MQL_DEFINE_ERROR(ERR_ONNX_INTERNAL                       ,5800)
   MQL_DEFINE_ERROR(ERR_ONNX_NOT_INITIALIZED                ,5801)   // ошибка инициализации ONNX runtime API
   MQL_DEFINE_ERROR(ERR_ONNX_NOT_SUPPORTED                  ,5802)   // фича или значение неподдерживается нашей реализацией ONNX
   MQL_DEFINE_ERROR(ERR_ONNX_RUN_FAILED                     ,5803)   // ошибка запуска ONNX runtime API
   MQL_DEFINE_ERROR(ERR_ONNX_INVALID_PARAMETERS_COUNT       ,5804)   // передано неверное количество параметров в OnnRun
   MQL_DEFINE_ERROR(ERR_ONNX_INVALID_PARAMETER              ,5805)   // некорректное значение параметра
   MQL_DEFINE_ERROR(ERR_ONNX_INVALID_PARAMETER_TYPE         ,5806)   // некорректный тип параметра
   MQL_DEFINE_ERROR(ERR_ONNX_INVALID_PARAMETER_SIZE         ,5807)   // некорректный размер параметра
   MQL_DEFINE_ERROR(ERR_ONNX_WRONG_DIMENSION                ,5808)   // не задана размерность тензора
 
Для примера можете посмотреть публичный проект ONNX.Price.Prediction в разделе общих проектов MetaEditor.
 
Vladimir Perervenko #:

Ну там же указано: ONNX version = 1.2.1; opset version = 7. Что это непонятно, но явно Ваши установки не соответствуют этим требованеям. 

Моя система: Windows 10 build 19045. По табличке должно работать (1.2.2 > 1.2.1 and 19045 > 19041).

Исхожу из второй строки таблички: Windows 10, version 2004 (build 19041) ONNX version = 1.2.2, 1.3, and 1.4 opset version = 7, 8, and 9

PS. Возможно, проблема в том, что у меня Home версия Windows.
 
Renat Fatkhullin #:
Для примера можете посмотреть публичный проект ONNX.Price.Prediction в разделе общих проектов MetaEditor.

Не нашёл такого. В списке публичных проектов на букву O у меня есть только один проект - ваш OpenCL.Seascape

 
Aleksey Nikolayev #:

Не нашёл такого. В списке публичных проектов на букву O у меня есть только один проект - ваш OpenCL.Seascape

Теперь доступно:



Внутри простейшая тренировка модели на Питоне с генерацией model.onnx, питоновский инверенс и инференс на MQL5.

Во вчерашней бете МТ5 внесли небольшую ошибку в функции OnnxRun, завтра исправим и выложим

 
Renat Fatkhullin #:

Теперь доступно:



Внутри простейшая тренировка модели на Питоне с генерацией model.onnx, питоновский инверенс и инференс на MQL5.

Во вчерашней бете МТ5 внесли небольшую ошибку в функции OnnxRun, завтра исправим и выложим

Как вы и сказали, выдаёт ошибку: failed, OnnxSetInputShape error 4024

По коду не понял где объявляется и определяется массив model. В питоновском файле?

long handle=OnnxCreateFromBuffer(model);
 
Aleksey Nikolayev #:

Как вы и сказали, выдаёт ошибку: failed, OnnxSetInputShape error 4024

По коду не понял где объявляется и определяется массив model. В питоновском файле?

Посмотрите в логи - какая версия ONNX API определяется:

2023.02.27 15:16:56.060 Scripts script ONNX.Price.Prediction (EURUSD,H1) loaded successfully
2023.02.27 15:16:56.107 ONNX    initialized [API version 1.14.0]

Подложите в корень терминала рядом с exe файлами последнюю версию библиотек ONNX Runtime 1.14 из архива (они подписаны Microsoft) и попробуйте снова.

Сейчас ошибка в проверке параметров:

ONNX.Price.Prediction (EURUSD,H1)       failed, OnnxRun error 5807


Массив model как краткое имя файла появился автоматически, когда вы добавляете ресурсы в проект:


'ONNX.Price.Prediction.mqproj'
'model.onnx' as 'const uchar model[89590]'
'ONNX.Price.Prediction.mq5'
code generated
0 errors, 0 warnings, 151 msec elapsed
Файлы:
 
Renat Fatkhullin #:

Посмотрите в логи - какая версия ONNX API определяется:

Подложите в корень терминала рядом с exe файлами последнюю версию библиотек ONNX Runtime 1.14 из архива (они подписаны Microsoft) и попробуйте снова.

Сейчас ошибка в проверке параметров:

До копирования библиотек из вашего архива было в журнале:

2023.02.27 17:11:13.394 Scripts script ONNX.Price.Prediction (EURUSD,H1) loaded successfully
2023.02.27 17:11:13.500 ONNX    entry point 'OrtGetApiBase' not found

после копирования библиотек в журнале:

2023.02.27 17:18:26.805 Scripts script ONNX.Price.Prediction (EURUSD,H1) loaded successfully
2023.02.27 17:18:27.124 ONNX    initialized [API version 1.14.0]

и во вкладке эксперты:

2023.02.27 17:18:27.151 ONNX.Price.Prediction (EURUSD,H1)       failed, OnnxRun error 5807
 
mytarmailS #:

МО говорит - закрывайте шорты по евре и ищите покупки..

Есть большая вероятность роста на дня 2-3

ну что, как и заказывал...

 
Renat Fatkhullin #:

В маркете будут доступны, в тестере тоже, включая Cloud Network.

ONNX Runtume перепишем и переделаем, чтобы не зависеть от устаревших системных библиотек.

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



Схема работы:

  1. Натренировать модель на стороне, например в Python
  2. Сконвертировать ее в onnx
  3. Включить в робота и использовать (трейнинг недоступен, только инференс)

Недопонял.
А опрос моделей как происходит? Сейчас я опрашиваю в Python TensorFlow, а здесь как?