Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хорошая статья. График предсказаний на тестовых данных разочаровывает. Вы могли бы пропустить все это моделирование/обучение DNN и просто использовать предсказание следующей цены, равной последней известной цене. Готов поспорить, что точность предсказания такой тривиальной модели будет выше, чем при использовании вашей модели DNN. Я предлагаю сравнить эти две точности и показать их здесь. В целом, использовать DNN для предсказания цен - плохая идея. Они лучше подходят для классификации ценовых моделей (например, покупка, продажа, удержание). Кроме того, количество весов в вашей DNN просто астрономическое. Наверное, это перебор.
Спасибо, Владимир.
Просто для обсуждения, когда позволит время, я бы модифицировал эту модель для классификации для сравнения.
Пожалуйста, дайте мне знать, если у вас есть идеи.
В учебнике дается одна партия SAMPLE_SIZE количества близких входов, вам же нужна одна партия входов input_count.
Также в вашей модели в качестве входных данных используются не плавающие числа, а двойные,
Примечание модератора: Это сообщение не соответствует порядку, так как сообщения ниже были перемещены из другой темы. Пожалуйста, смотрите сообщение ниже.
Здравствуйте, сообщество MQL5, я пытался следовать этому руководству по использованию ONNX в ваших советниках. В учебнике в качестве модели была выбрана нейронная сеть, я же использовал дерево с градиентным усилением.
Я построил модель с помощью пакета InterpretML Python и экспортировал ее в ONNX с помощью ebm2onnx.
Я кратко опишу процесс обучения модели.
1) Модель была обучена на 5 входах, OHLC и высоте, высота рассчитывается как ((H + L) / 2) - C.
2) Модель представляет собой бинарный классификатор, цель которого - классифицировать следующую свечу как UP (1) или DOWN (0).
Данные, используемые для обучения модели.
3) Затем модель была экспортирована в формат ONNX.
Представление модели в формате ONNX.
Чтобы заставить модель работать, я отклонился от кода в учебнике и продолжал редактировать код, пытаясь заставить модель ONNX работать, но теперь я действительно не знаю, что я делаю неправильно. Я продолжаю получать ошибку о том, что хэндл модели недействителен.
Я прикрепил MQL5-код ниже.
Теперь я кратко опишу шаги, которые я предпринял в своем коде и которые отличаются от того, что описано в учебнике, а также объясню, почему я отклонился от учебника
1) Строка 57: Установка входной формы модели.
В учебнике для установки входной и выходной формы использовались 3 измерения, т.е. {1,SAMPLE_SIZE,1}; однако когда я следовал этому подходу, я продолжал получать ошибку, а именно ошибку 5808. После обычного процесса проб и ошибок я понял, что если использовать только 1 измерение, количество входов, то ошибка исчезнет.
2) Строка 68: Установка выходной формы модели.
Логика та же, что и выше.
Другие отклонения, которые я сделал, не влияют на модель, например, я вел учет времени, используя логику, которая показалась мне более интуитивной, чем логика, реализованная в учебнике. Мне не нужно было нормализовать входные данные, потому что это древовидная модель.
Если вы можете заметить другие ошибки, которые я допустил, я буду признателен за ваше понимание.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Обсуждение статьи "Как использовать модели ONNX в MQL5"
Stian Andreassen, 2023.12.08 20:51
В учебнике дается ввод одной партии SAMPLE_SIZE количества близких входов, вам же нужна одна партия входов input_count.
Также в вашей модели в качестве входных данных используются не плавающие числа, а двойные,
Спасибо, что поделились с нами, Ситан, я применил то, что вы указали, но ошибка осталась.
Одна партия входных данных input_count.

Установите входное значение на double
Сообщение об ошибке.
Hello MQL5 community, I've been trying to follow this tutorial on how to use ONNX in your EA's. In the tutorial a neural network was the model of choice, I've used a gradient boosted tree.
Я построил модель, используя пакет InterpretML Python, и экспортировал ее в ONNX с помощью ebm2onnx.
Я кратко опишу процесс обучения модели.
1) Модель была обучена на 5 входах, OHLC и высоте, высота рассчитывается как ((H + L) / 2) - C.
2) Модель представляет собой бинарный классификатор, цель которого - классифицировать следующую свечу как UP (1) или DOWN (0).
Данные, используемые для обучения модели.
3) Затем модель была экспортирована в формат ONNX.
Представление модели в формате ONNX.
Чтобы заставить модель работать, я отклонился от кода в учебнике и продолжал редактировать код, пытаясь заставить модель ONNX работать, но теперь я действительно не знаю, что я делаю неправильно. Я продолжаю получать ошибку о том, что хэндл модели недействителен.
Я прикрепил MQL5-код ниже.
Теперь я кратко опишу шаги, которые я предпринял в своем коде и которые отличаются от того, что описано в учебнике, а также объясню, почему я отклонился от учебника
1) Строка 57: Установка входной формы модели.
В учебнике для установки входной и выходной формы использовались 3 измерения, т.е. {1,SAMPLE_SIZE,1}; однако когда я следовал этому подходу, я продолжал получать ошибку, а именно ошибку 5808. После обычного процесса проб и ошибок я понял, что если использовать только 1 измерение, количество входов, то ошибка исчезнет.
2) Строка 68: Установка выходной формы модели.
Логика та же, что и выше.
Другие отклонения, которые я сделал, не влияют на модель, например, я вел учет времени, используя логику, которая показалась мне более интуитивной, чем логика, реализованная в учебнике. Мне не нужно было нормализовать входные данные, потому что это древовидная модель.
Если вы можете заметить другие ошибки, которые я допустил, я буду признателен за ваше понимание.
Спасибо, что поделились с нами, Ситан, я применил то, что вы указали, но ошибка все равно осталась.
Одна партия входных данных input_count.
Установите входной сигнал на двойное значение
Сообщение об ошибке.
Похоже, что MQL5 пока не поддерживает (точнее, ONNXMLTools не поддерживает) EBM's ONNX:
https://www.mql5.com/ru/docs/onnx/onnx_conversion
Если вы обратитесь к вложениям ONNX (особенно к model.eurusd.D1.10.class.onnx, который использует 4 входа) с сайта https://www.mql5.com/ru/articles/12484; и воспользуетесь Netron(веб-версией) для визуализации файлов onnx, вы увидите различия.
Думаю, следующие две статьи также помогут вам разобраться:
Регрессионные модели библиотеки Scikit-learn и их экспорт в ONNX
Классификационные модели в библиотеке Scikit-Learn и их экспорт в ONNX
Всем привет,
Мы пытаемся использовать нейронную сеть keras с 11 предикторами в один момент времени (размер партии 32) для предсказаний на XauUsd (где выход - сингулярное число между 0 и 1). Сначала мы загружаемся из OnnxCreatefrombuffer (потому что сам OnnxCreate у нас не работает), затем мы всегда получаем ошибку на этапе OnnxRun, где я прикрепил обе ошибки ниже. Любая помощь по поводу того, в какую размерность переформировать входные данные, в какой формат поместить наш вектор-предсказатель (если это вообще должен быть вектор?), или просто любая помощь или предложения по синтаксису, чтобы помочь справиться с этими ошибками, была бы потрясающей. Мы пробовали перестраивать на всевозможные комбинации векторов 32,1,11, но не повезло, и мы не знаем, что делать дальше. Огромное спасибо всем, кто может помочь!!! Бен.
' error 5808'
' ONNX: входной параметр #0 тензора имеет неправильную размерность [0], попробуйте использовать OnnxSetInputShape'
'ONNX: неверный размер входного параметра #0, ожидалось 1408 байт вместо 480'
Здравствуйте, я пытаюсь использовать
OnnxModelInfo.mq5скрипт файла, но не могу заставить его работать, что я делаю не так? Это не может быть так сложно!
Я скопировал скрипт OnnxModelInfo и сохранил в папке de Files.
У меня есть модель Onnx (прилагается)
и когда я компилирую скрипт, появляется 21 ошибка.
Может ли кто-нибудь помочь мне с этим? Пожалуйста,
Опубликована новая статья Использование моделей ONNX в MQL5:
Автор: MetaQuotes
Здравствуйте господа.
Кто-нибудь может мне помочь, потому что в конце процесса в python вылетает следующая ошибка: AttributeError: 'Sequential' object has no attribute 'output_names'. Я не очень хорошо разбираюсь в python и программировании. Поэтому любая помощь будет оценена по достоинству! Спасибо.
Здравствуйте, Альберто, пожалуйста, опубликуйте часть вашего кода[используя кнопкуCODE (Alt -S)], где происходит ошибка, чтобы кто-то, кто знает Python(MetaTrader for Python | ONNX Models), мог указать на решение...