Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2952
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В справке по ONNX нет про функции OnnxSetInputShape() и OnnxSetOutputShape(). Не очень понятно что они должны делать.
Эти методы устанавливают размерность входных и выходных данных модели. Сегодня добавим в справку
Как понять?
У вас наверное "фейковый бан по IP":
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопрос к администрации сайта mql5.com
Sergey Golubev, 2022.12.16 17:22
Если бан, а вы можете делать тут посты - то это "фейковый бан по IP".
У вас наверное, динамическое IP, и оно случайно "попало" на когда-то у кого-то забаненное.
Я когда "ловлю" такой бан - просто выключаю компьютер, выключаю роутер, потом включаю роутер и включаю компьютер.
В результате мое IP меняется (а у меня оно тоже динамическое), и надпись про 10 лет исчезает.
...
Не получается вывод в МТ5 из ONNX-модели, обученной в LightGBM. Ошибки 5808 и 5805 при установке формы параметров. Но проблема вроде уже с определением размерностей параметров - получаются отрицательные значения (выделено в коде). Может просто чего-нибудь напутал. В питоне 3.10 всё вроде нормально.
Вывод MQL5:
Обучение в питоне:
Вывод в питоне:
Вспомнилось обсуждение цикличных признаков, вроде времени суток. ИМХО, надо переводить их в обычные, просто подбирая точку для начала отсчёта, в которой происходит наиболее сильная смена возможной закономерности. Можно пользоваться либо соображениями о рынке (расписание сессии, в данном случае), либо чем-то вроде этого, либо обучать древесную модель и брать точку первого сплита по этому признаку.
Ну, при обучении в питоне тестил модель на первых пяти строках датасета. Потом при запуске ONNX в питоне тоже проверил вывод на тех же первых пяти строках. Как ни крути, всё же это матрица. В МТ5 варианте просто скопипастил эти же пять строк в виде матрицы. Да и в примере Рената на вход подаётся тоже матрица из десяти строк и четырёх столбцов.
Проблема там, ИМХО, уже при загрузке модели, поскольку выдаются отрицательные числа в размерностях. Кстати, надо посмотреть что будет выдавать в примере Рената.
Можно взять волатильность вместо приращений, она точно отражает рыночные циклы. И прогнать через 2 модели, одна из которых фильтрует плохие случаи (как в последней статье делал). Результаты иногда приличные, нужно несколько раз попереобучать. Потенциально подобный подход даст больше, чем bestinterval.
Не, я просто про общий подход к цикличным переменным. Их надо "разрезать" для превращения в обычные. Но можно же делать это по разному, не обязательно в формальном нуле.
Помимо суточного времени, циклические переменные возникают, например, когда ищутся веса для портфеля из двух символов.
Похоже, переходить на питон рановато. Лучше освоить CLI версию LightGBM и сохранять модели в формате if-else на C. Неуниверсально, зато дёшево и сердито)
Есть лёгкие сомнения в будущем Яндекса)
Ещё, по идее, lgbm должен лучше интегрироваться с сишарпом и прочими поделками микрософта, если вдруг это станет актуальным)