Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Самооптимизирующийся эксперт с MQL5 и Python (часть V): Глубокие марковские модели
Разработка робота на Python и MQL5 (часть 1): Предварительная обработка данных
Мы рассмотрим цикл разработки торгового робота: сбор, обработка данных, расширение выборки, построение признаков, выбор и обучение модели, создание торговой системы на Python и мониторинг сделок.
Работа на Python имеет свои преимущества: скорость в области машинного обучения, а также возможность подбора и генерации признаков. Экспорт моделей в ONNX требует точно такой же логики генерации признаков, как и в Python, что не так просто. Именно поэтому я выбрал онлайн-трейдинг на Python.
Разработка робота на Python и MQL5 (часть 2): Выбор, создание и обучение модели, пользовательский тестер на Python
В предыдущей статье мы немного поговорили о машинном обучении, выполнили наращивание данных, разработали функции для будущей модели и выбрали лучшие из них. Теперь пришло время двигаться дальше и создать рабочую модель машинного обучения, которая будет учиться на наших функциях и торговать (надеемся, успешно). Для оценки модели мы напишем пользовательский Python-тестер, который поможет нам оценить производительность модели и красоту тестовых графиков. Для более красивых тестовых графиков и большей стабильности модели мы также разработаем ряд классических функций машинного обучения.
Наша конечная цель - создать работающую и максимально прибыльную модель для прогнозирования цен и торговли. Весь код будет написан на Python с включением библиотеки MQL5.
Наука о данных и ML (часть 31): Использование моделей искусственного интеллекта CatBoost для торговли
CatBoost - это программная библиотека с открытым исходным кодом с алгоритмами градиентного бустинга на деревьях решений, которая была разработана специально для решения проблем, связанных с обработкой категориальных признаков и данных в машинном обучении.
Она была разработана компанией "Яндекс" и получила открытый исходный код в 2017 году, читайте далее.
Несмотря на то, что CatBoost был представлен недавно по сравнению с такими методами машинного обучения, как линейная регрессия или SVM, он завоевал огромную популярность среди сообществ ИИ и поднялся в топ самых используемых моделей машинного обучения на таких платформах, как Kaggle.
Причиной такого внимания к CatBoost стала его способность автоматически обрабатывать категориальные признаки в наборе данных, которые могут быть сложными для многих алгоритмов машинного обучения.
Наука о данных и ML (часть 31): Использование моделей искусственного интеллекта CatBoost для торговли
CatBoost - это программная библиотека с открытым исходным кодом с алгоритмами градиентного бустинга на деревьях решений, которая была разработана специально для решения проблем, связанных с обработкой категориальных признаков и данных в машинном обучении.
Она была разработана компанией "Яндекс" и получила открытый исходный код в 2017 году, читайте далее.
Несмотря на то, что CatBoost был представлен недавно по сравнению с такими методами машинного обучения, как линейная регрессия или SVM, он завоевал огромную популярность среди сообществ ИИ и поднялся в топ самых используемых моделей машинного обучения на таких платформах, как Kaggle.
Причиной такого внимания к CatBoost стала его способность автоматически обрабатывать категориальные признаки в наборе данных, которые могут быть сложными для многих алгоритмов машинного обучения.
Ну да, яндекс просто супермодель для бизнеса. Общался с разработчиками, никто там больше пол-года не мог вытерпеть. Одни неопытные юниоры.
Feature Engineering With Python And MQL5 (часть I): Прогнозирование скользящих средних для долгосрочных моделей ИИ
Самооптимизирующийся эксперт на MQL5 и Python (часть VI): Использование преимуществ глубокого двойного спуска
Оверфиттинг в машинном обучении может принимать различные формы. Чаще всего это происходит, когда модель искусственного интеллекта узнает слишком много шума в данных и не может сделать никаких полезных обобщений. Это приводит к неудовлетворительным результатам, когда мы оцениваем модель на данных, с которыми она раньше не сталкивалась. Существует множество методов, разработанных для борьбы с чрезмерной подгонкой, однако их применение часто оказывается сложным, особенно если вы только начинаете свой путь. Однако недавняя работа, опубликованная группой прилежных выпускников Гарварда, говорит о том, что в некоторых задачах чрезмерная подгонка может стать проблемой прошлого. В этой статье мы расскажем вам об этой научной работе и покажем, как можно создавать модели ИИ мирового класса в соответствии с ведущими мировыми исследованиями.
Анализ множественных символов с помощью Python и MQL5 (часть II): Анализ главных компонент для оптимизации портфеля
Для участников нашего сообщества, желающих продавать советники, эта статья продемонстрирует, как можно создать беспроблемный опыт для конечных пользователей. Наше торговое приложение будет гибким и надежным одновременно. Я покажу вам, как создавать торговые приложения, которые позволят вашим клиентам легко переключаться между режимами торговли с высоким, средним и низким риском. В то время как алгоритм PCA будет выполнять всю тяжелую работу для ваших конечных пользователей в фоновом режиме.
Feature Engineering With Python And MQL5 (часть II): Угол цены
Модели машинного обучения - очень чувствительные инструменты. В этой серии статей мы уделим значительно больше внимания тому, как преобразования, которые мы применяем к нашим данным, влияют на работу нашей модели. Кроме того, наши модели чувствительны к тому, как передается связь между входными и целевыми данными. Это означает, что для эффективного обучения модели может потребоваться создание новых признаков на основе имеющихся у нас данных.
От Python до MQL5: Путешествие в квантово-вдохновленные торговые системы
В этой статье рассматривается применение квантово-вдохновленных концепций в торговых системах, соединяющих теоретические квантовые вычисления с практической реализацией на MQL5. Мы познакомим вас с основными квантовыми принципами и проведем вас от создания прототипа на Python до интеграции с MQL5, используя реальные данные о производительности.
Здравствуйте. Обнаружил баг: copy_rates_range возвращает не те данные - должен возвращать данные бара OHLC, а возвращает данные тика. Не знал куда сообщить.
Использовал пример кода из справочника с другими датами и инструментом:
и на выходе получаю:
MetaTrader5 package author: MetaQuotes Ltd.
MetaTrader5 package version: 5.0.4682
Выведем полученные данные как есть
(1704844800, 1.09291, 1.09291, 1.09262, 4607600487953426211, 6, 18, 0.)
(1704845100, 1.09284, 1.09285, 1.09237, 4607599271981526821, 19, 7, 0.)
(1704845400, 1.09263, 1.09284, 1.09263, 4607599587233500737, 15, 16, 0.)
(1704845700, 1.09257, 1.09288, 1.09257, 4607600487953426211, 8, 13, 0.)
(1704846000, 1.09283, 1.09287, 1.09283, 4607600532989422485, 64, 15, 0.)
(1704846300, 1.09285, 1.09286, 1.09265, 4607599992557467200, 17, 15, 0.)
(1704846600, 1.09273, 1.09286, 1.09273, 4607600623061415032, 23, 19, 0.)
(1704846900, 1.09286, 1.09288, 1.09283, 4607600713133407580, 11, 17, 0.)
(1704847200, 1.09288, 1.09288, 1.09282, 4607600713133407580, 9, 13, 0.)
(1704847500, 1.09288, 1.09289, 1.09286, 4607600758169403853, 12, 11, 0.)
Выведем датафрейм с данными
time bid ask last volume time_msc flags volume_real
0 2024-01-10 00:00:00 1.09291 1.09291 1.09262 4607600487953426211 6 18 0.0
1 2024-01-10 00:05:00 1.09284 1.09285 1.09237 4607599271981526821 19 7 0.0
2 2024-01-10 00:10:00 1.09263 1.09284 1.09263 4607599587233500737 15 16 0.0
3 2024-01-10 00:15:00 1.09257 1.09288 1.09257 4607600487953426211 8 13 0.0
4 2024-01-10 00:20:00 1.09283 1.09287 1.09283 4607600532989422485 64 15 0.0
5 2024-01-10 00:25:00 1.09285 1.09286 1.09265 4607599992557467200 17 15 0.0
6 2024-01-10 00:30:00 1.09273 1.09286 1.09273 4607600623061415032 23 19 0.0
7 2024-01-10 00:35:00 1.09286 1.09288 1.09283 4607600713133407580 11 17 0.0
8 2024-01-10 00:40:00 1.09288 1.09288 1.09282 4607600713133407580 9 13 0.0
9 2024-01-10 00:45:00 1.09288 1.09289 1.09286 4607600758169403853 12 11 0.0
А должен был получить типа таких данных:
MetaTrader5 package author: MetaQuotes Software Corp.
MetaTrader5 package version: 5.0.29
Выведем полученные данные как есть
(1578614400, 109.513, 109.527, 109.505, 109.521, 43, 2, 0)
(1578614700, 109.521, 109.549, 109.518, 109.543, 215, 8, 0)
(1578615000, 109.543, 109.543, 109.466, 109.505, 98, 10, 0)
(1578615300, 109.504, 109.534, 109.502, 109.517, 155, 8, 0)
(1578615600, 109.517, 109.539, 109.513, 109.527, 71, 4, 0)
(1578615900, 109.526, 109.537, 109.484, 109.52, 106, 9, 0)
(1578616200, 109.52, 109.524, 109.508, 109.51, 205, 7, 0)
(1578616500, 109.51, 109.51, 109.491, 109.496, 44, 8, 0)
(1578616800, 109.496, 109.509, 109.487, 109.5, 85, 5, 0)
(1578617100, 109.5, 109.504, 109.487, 109.489, 82, 7, 0)
Выведем датафрейм с данными
time open high low close tick_volume spread real_volume
0 2020-01-10 00:00:00 109.513 109.527 109.505 109.521 43 2 0
1 2020-01-10 00:05:00 109.521 109.549 109.518 109.543 215 8 0
2 2020-01-10 00:10:00 109.543 109.543 109.466 109.505 98 10 0
3 2020-01-10 00:15:00 109.504 109.534 109.502 109.517 155 8 0
4 2020-01-10 00:20:00 109.517 109.539 109.513 109.527 71 4 0
5 2020-01-10 00:25:00 109.526 109.537 109.484 109.520 106 9 0
6 2020-01-10 00:30:00 109.520 109.524 109.508 109.510 205 7 0
7 2020-01-10 00:35:00 109.510 109.510 109.491 109.496 44 8 0
8 2020-01-10 00:40:00 109.496 109.509 109.487 109.500 85 5 0
9 2020-01-10 00:45:00 109.500 109.504 109.487 109.489 82 7 0
Сделал downgrade библиотеки MetaTrader5 до версии 5.0.4200 и заработало нормально:
MetaTrader5 package author: MetaQuotes Ltd.
MetaTrader5 package version: 5.0.4200
Выведем полученные данные как есть
(1704844800, 1.09291, 1.09291, 1.09262, 1.09283, 6, 18, 0)
(1704845100, 1.09284, 1.09285, 1.09237, 1.09256, 19, 7, 0)
(1704845400, 1.09263, 1.09284, 1.09263, 1.09263, 15, 16, 0)
(1704845700, 1.09257, 1.09288, 1.09257, 1.09283, 8, 13, 0)
(1704846000, 1.09283, 1.09287, 1.09283, 1.09284, 64, 15, 0)
(1704846300, 1.09285, 1.09286, 1.09265, 1.09272, 17, 15, 0)
(1704846600, 1.09273, 1.09286, 1.09273, 1.09286, 23, 19, 0)
(1704846900, 1.09286, 1.09288, 1.09283, 1.09288, 11, 17, 0)
(1704847200, 1.09288, 1.09288, 1.09282, 1.09288, 9, 13, 0)
(1704847500, 1.09288, 1.09289, 1.09286, 1.09289, 12, 11, 0)
Выведем датафрейм с данными
time open high low close tick_volume spread real_volume
0 2024-01-10 00:00:00 1.09291 1.09291 1.09262 1.09283 6 18 0
1 2024-01-10 00:05:00 1.09284 1.09285 1.09237 1.09256 19 7 0
2 2024-01-10 00:10:00 1.09263 1.09284 1.09263 1.09263 15 16 0
3 2024-01-10 00:15:00 1.09257 1.09288 1.09257 1.09283 8 13 0
4 2024-01-10 00:20:00 1.09283 1.09287 1.09283 1.09284 64 15 0
5 2024-01-10 00:25:00 1.09285 1.09286 1.09265 1.09272 17 15 0
6 2024-01-10 00:30:00 1.09273 1.09286 1.09273 1.09286 23 19 0
7 2024-01-10 00:35:00 1.09286 1.09288 1.09283 1.09288 11 17 0
8 2024-01-10 00:40:00 1.09288 1.09288 1.09282 1.09288 9 13 0
9 2024-01-10 00:45:00 1.09288 1.09289 1.09286 1.09289 12 11 0