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

[Удален]  
Оптимизируете по критерию макс прибыль свою стратегию (если лень делать другую разметку), потом обучаете на этом НС. Либо берёте с маркета любую ТС прибыльную. Это же обучение с учителем.

Если интересует именно вывод ТС на основе только лишь НС, могу предложить вариант из своей последней статьи. По образу и подобию можно делать. Как раз изначально задавался вопросом как можно сделать такое. Эксклюзивчик.
 
Aleksey Nikolayev #:

Если кто-то решит такую сложную задачу, то вряд ли он будет делиться решением.

Я уже столько раз делился,  что в какой то момент задолбался...

Люди начинают думать и говорить о том что я тут обсуждал годы назад, но никто не понимал
 
Aleksey Nikolayev #:

Если убрать ключ ONNX_NO_CONVERSION, то можно подавать на вход double вектор. На выходе всё равно должен быть float вектор.

После компиляции модель остается отдельным файлом или зашивается в .ex5 ?
 
Evgeny Dyuka #:
После компиляции модель остается отдельным файлом или зашивается в .ex5 ?

Если не "зашивается", то как её продавать? Предполагаю, что становиться ресурсом, как и другие файлы.

 
Vladimir Perervenko #:

Понятно, что пример использования модели ONNX  в MQL5 только иллюстрация этого и ничего больше. Но все же хочу обратить внимания на  очень важную ошибку. В машинном обучении первый этап -препроцессинг. Сюда входит много чего начиная с тривиальной нормализации и заканчивая уменьшением размерности и др инженерными трюками. Основное правило любых преобразований предикторов и целевой на этом этапе - все параметры преобразований(как то средняя, медиана, sd, mad и т.д)  вычисляются на обучающем (train) наборе. Тестовый набор и новые данные обрабатываются с использованием параметров полученных на train наборе.

Поэтому в примере нужно было вычислить mean/sd на train, передать эти данные в часть где делается предикт, обработать новые данные с этими параметрами. После этого сделать денормализацию и получить реальные значения прогнозной цены. Эта последовательность важна.

Понятно, что никто реальные цены не подает на вход модели, но это уже частности.

Удачи

В нашем примере onnx-модели входные цены нормализуются при помощи mean и std на всей серии. Полученный результат потом разнормализуется по тем же правилам

 
Evgeny Dyuka #:
После компиляции модель остается отдельным файлом или зашивается в .ex5 ?

В моём примере нет, остаётся отдельным файлом. В примере Рената (публичный проект ONNX.Price.Prediction) зашивается в .ex5.

 
Slava #:

В нашем примере onnx-модели входные цены нормализуются при помощи mean и std на всей серии. Полученный результат потом разнормализуется по тем же правилам

Объясняю на пальцах. В ONNX.Price.Prediction.mq5 Вы получаете 10 OHLC. Затем на этих данных Вы определяете mean и sd, и ними же нормируете эти 10 значений. Это не правильно.

Для этих  новых данных нужно использовать mean и sd полученные на обучающемся наборе. Т.е. в предыдущем скрипте. Так понятно?

 
Vladimir Perervenko #:

Объясняю на пальцах. В ONNX.Price.Prediction.mq5 Вы получаете 10 OHLC. Затем на этих данных Вы определяете mean и sd, и ними же нормируете эти 10 значений. Это не правильно.

Для этих  новых данных нужно использовать mean и sd полученные на обучающемся наборе. Т.е. в предыдущем скрипте. Так понятно?

Конечно понятно и сделано осознанно.

Пример был сделан ради тестирования загрузки onnx модели, а не для извлечения разумного результата модели.

 
Evgeny Dyuka #:
После компиляции модель остается отдельным файлом или зашивается в .ex5 ?

Используйте *.mqproj проекты вместо одиночных файлов, включайте свои onnx модели и другие файлы в виде ресурсов. Это теперь предпочтительный вариант написания программ.

Тем более, что у него больше настроек и мы только в *.mqproj файлах будем увеличивать конфигурабельность программ. Скоро включим управление AVX/AVX2/AVX512 набора команд при оптимизации кода роботов.

Ресурсы автоматически встраиваются в EX5 файл, сжимаются и шифруются для защиты.

Посмотрите публичный проект ONNX.Price.Prediction для примера.

Создание и работа с проектом - Проекты и MQL5 Storage - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет удобно работать над большими проектами: объединять множество файлов в одну структуру, управлять настройками проекта и вести...
 
Renat Fatkhullin #:

Конечно понятно и сделано осознанно.

Пример был сделан ради тестирования загрузки onnx модели, а не для извлечения разумного результата модели.

Да конечно я это понял. Но пользующие пример поняли ли?

Наверное придираюсь.