Обсуждение статьи "Cоздание стратегии возврата к среднему на основе машинного обучения" - страница 9
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго дня, Максим. Доброго дня уважаемым коллегам.
Вопрос на злобу дня.
Хотел добавить в бота дополнительный функционал (вывод позиции в безубыток и трал sl), но столкнулся с невозможность компиляции исходника (использую штатный компилятор из пакета MT5).
Причем не пропускает даже изначальный исходник mean reversion.mq5, прикрепленный автором к статье.
Проблема в функциях OnnxSetInputShape и OnnxSetOutputShape (строки 51, 58, 66, 71). Согласно справке по mql5, входными данными для указанных функций являются три переменные: две типа long и третья типа const ulong. Однако, по коду эксперта, переменные ExtInputShape, ExtInputShape2 и output_shape, используемые в качестве исходных в рассматриваемых функциях, инициализированы как const long (строки 31, 32, 65).
При изменении типа данных переменных на const ulong компиляция проходит успешно. Однако бот перестает работать "в профит", т.е. реализованный алгоритм торговой стратегии не выполняется.
Прошу помощи в решении данной проблемы. Вариант с внешним компилятором рассматриваю в последнюю очередь. Возможна ли компиляция стандартными инструментами MT5 без проверки корректности кода?
Доброго дня, Максим. Доброго дня уважаемым коллегам.
Вопрос на злобу дня.
Хотел добавить в бота дополнительный функционал (вывод позиции в безубыток и трал sl), но столкнулся с невозможность компиляции исходника (использую штатный компилятор из пакета MT5).
Причем не пропускает даже изначальный исходник mean reversion.mq5, прикрепленный автором к статье.
Проблема в функциях OnnxSetInputShape и OnnxSetOutputShape (строки 51, 58, 66, 71). Согласно справке по mql5, входными данными для указанных функций являются три переменные: две типа long и третья типа const ulong. Однако, по коду эксперта, переменные ExtInputShape, ExtInputShape2 и output_shape, используемые в качестве исходных в рассматриваемых функциях, инициализированы как const long (строки 31, 32, 65).
При изменении типа данных переменных на const ulong компиляция проходит успешно. Однако бот перестает работать "в профит", т.е. реализованный алгоритм торговой стратегии не выполняется.
Прошу помощи в решении данной проблемы. Вариант с внешним компилятором рассматриваю в последнюю очередь. Возможна ли компиляция стандартными инструментами MT5 без проверки корректности кода?
Добрый, попробуйте этот вариант. Не помню, что еще менял помимо ulong. Да, после обновления некоторые ф-ии стали работать не так, как раньше.
В #define пропишите имена своих ф-й из вашего include файла.Добрый, попробуйте этот вариант. Не помню, что еще менял помимо ulong. Да, после обновления некоторые ф-ии стали работать не так, как раньше.
В #define пропишите имена своих ф-й из вашего include файла.Доброго дня.
Сделал. Но, к сожалению, причина в чем-то другом. Прикладываю скрины результатов Вашего скомпилированного и варианта, в котором типы переменных заменены на ulong.
Доброго дня.
Сделал. Но, к сожалению, причина в чем-то другом. Прикладываю скрины результатов Вашего скомпилированного и варианта, в котором типы переменных заменены на ulong.
А вы признаки того же типа используете в боте, что и при обучении? Бывает, что изменили признаки в питон скрипте, а в инклулнике нет.
Вероятно. Потому как файлы моделей я подтягиваю те, которые были при изначальном релизе бота.
Но алгоритм обучения моделей пока еще в стадии изучения и осознавания. С Mql5 проблем нет, а вот с питоном пока дружба складывается тяжеловато.
Вероятно. Потому как файлы моделей я подтягиваю те, которые были при изначальном релизе бота.
Но алгоритм обучения моделей пока еще в стадии изучения и осознавания. С Mql5 проблем нет, а вот с питоном пока дружба складывается тяжеловато.
Проверил, у меня все работает. Приложил файлы обученных моделей из статьи и обновленного бота, что выше.
Модели потом желательно переобучить, потому что к статье прикреплены демонстрационные. Когда разберетесь в питоновском скрипте.
Проверил, у меня все работает. Приложил файлы обученных моделей из статьи и обновленного бота, что выше.
Модели потом желательно переобучить, потому что к статье прикреплены демонстрационные. Когда разберетесь в питоновском скрипте.
Да, в этом релизе сам бот компилируется и работает корректно. Но модели надо переобучать. Да и вообще, как я понимаю, делать это надо регулярно.
С питоном разбираюсь, но получается пока не всё. Основной релиз Pytonа на ноут накатил, обновил до актуальной версии. Все необходимые пакеты (pandas, numba, numpy, catboost, scipy, scikit-learn) установил. Котировки скачал. Файл котировок и всех скриптов сложит в папку Files в основном каталоге MT5. В коде скрипта обучения моделей пути прописал. Но вот что-то не идет дело к результату.
Код скрипта корректирую в MetaEditore. Оттуда же пытаюсь скрипт запускать. Процесс вываливается в ошибку (не находит питон пакета bots, а попытка его установки по схеме установки иных пакетов также завершается ошибкой). Та же ошибка и при запуске скрипта через консоль питона.
Можете посоветовать, в каком направлении бурить тему?
Доброго дня!
Да, в этом релизе сам бот компилируется и работает корректно. Но модели надо переобучать. Да и вообще, как я понимаю, делать это надо регулярно.
С питоном разбираюсь, но получается пока не всё. Основной релиз Pytonа на ноут накатил, обновил до актуальной версии. Все необходимые пакеты (pandas, numba, numpy, catboost, scipy, scikit-learn) установил. Котировки скачал. Файл котировок и всех скриптов сложит в папку Files в основном каталоге MT5. В коде скрипта обучения моделей пути прописал. Но вот что-то не идет дело к результату.
Код скрипта корректирую в MetaEditore. Оттуда же пытаюсь скрипт запускать. Процесс вываливается в ошибку (не находит питон пакета bots, а попытка его установки по схеме установки иных пакетов также завершается ошибкой). Та же ошибка и при запуске скрипта через консоль питона.
Можете посоветовать, в каком направлении бурить тему?
Bots - это просто корневой каталог (папка), где лежат модули из статьи. Если при импорте модулей (дополнительных файлов) скрипт их не видит, то пропишите полные пути до файлов.
Либо закиньте все эти файлы в ту же папку что и основной скрипт и сделайте так, вместо этого:
Это может происходить если у вас не прописался PYTHONPATH при установке Python. Найдите в интернете как прописать для вашей системы. То есть питон не видит файлы на диске.
Либо почитайте в интернете начальный курс по импорту модулей.
Bots - это просто корневой каталог (папка), где лежат модули из статьи. Если при импорте модулей (дополнительных файлов) скрипт их не видит, то пропишите полные пути до файлов.
Либо закиньте все эти файлы в ту же папку что и основной скрипт и сделайте так, вместо этого:
Это может происходить если у вас не прописался PYTHONPATH при установке Python. Найдите в интернете как прописать для вашей системы. То есть питон не видит файлы на диске.
Либо почитайте в интернете начальный курс по импорту модулей.
Доброго дня, Максим. Спасибо. Почти со всем разобрался. Крайний вопрос.
В основном скрипте для обучения моделей есть закомментированные строки (154-182). Как я понимаю, это альтернативные сэмплеры сделок (разметчики). Но вот попробовать их не удается. Если какой-либо из разметчиков раскомментировать (условно, строки 154-158), а исходный закомментировать (строки 149-153), то скрипт уже не запускается.
В чем может быть причина, где искать?
Спасибо )
Доброго дня, Максим. Спасибо. Почти со всем разобрался. Крайний вопрос.
В основном скрипте для обучения моделей есть закомментированные строки (154-182). Как я понимаю, это альтернативные сэмплеры сделок (разметчики). Но вот попробовать их не удается. Если какой-либо из разметчиков раскомментировать (условно, строки 154-158), а исходный закомментировать (строки 149-153), то скрипт уже не запускается.
В чем может быть причина, где искать?
Спасибо )
Привет, нужны логи, что интерпретатор Python пишет.