Здравствуйте. Обнаружил баг: copy_rates_range возвращает не те данные - должен возвращать данные бара OHLC, а возвращает данные тика. Не знал куда сообщить.
Использовал пример кода из справочника с другими датами и инструментом:
Машинное обучение в режиме онлайн - это метод машинного обучения, при котором модель постепенно обучается на основе потока данных в режиме реального времени. Это динамический процесс, который со временем адаптирует свой алгоритм прогнозирования, позволяя модели меняться по мере поступления новых данных. Этот метод невероятно важен в быстро меняющихся средах с большим количеством данных, таких как торговые данные, поскольку он может обеспечить своевременные и точные прогнозы.
In the ever-changing world of trading, adapting to market shifts is not just a choice—it's a necessity. New patterns and trends emerge everyday, making it harder even the most advanced machine learning models to stay effective in the face of evolving conditions. In this article, we’ll explore how to keep your models relevant and responsive to new market data by automatically retraining.
В первой статье цикла мы загрузили набор данных, расставили метки, обогатили набор данных, а также выполнили маркировку набора данных. Вторая статья была посвящена созданию и обучению модели, а также реализации кросс-валидации и мешков.
Теперь, когда наша модель обучена и протестирована, самое время приступить к реальной торговле с помощью библиотеки MetaTrader 5 для Python. Эта мощная библиотека позволяет автоматизировать торговлю непосредственно через Python, используя функции и классы, предоставляемые платформой MetaTrader 5.
Мы рассмотрим проблему преобразования цены в угол с совершенно новой точки зрения. На этот раз мы будем использовать более сложный с математической точки зрения и надежный подход по сравнению с инструментами, которые мы создали в нашей первой попытке. Читатели, которые уже знакомы с полярными координатами, могут сразу перейти к разделу "Начало работы на MQL5", чтобы увидеть, как эти математические инструменты реализованы в MQL5.
In this article, we take our second attempt to convert the changes in price levels on any market, into a corresponding change in angle. This time around, we selected a more mathematically sophisticated approach than we selected in our first attempt, and the results we obtained suggest that our change in approach may have been the right decision. Join us today, as we discuss how we can use Polar coordinates to calculate the angle formed by changes in price levels, in a meaningful way, regardless of which market you are analyzing.
Финансовые рынки по своей природе являются шумными. Обычно трейдеры страдают от ненужных просадок, вызванных ложными торговыми сигналами, которые побуждают трейдера преждевременно открывать позиции. Существует множество различных торговых стратегий и принципов, которые были разработаны в свете этой проблемы. Большинство из них, по сути, учат трейдера ждать, прежде чем действовать, и вместо этого искать альтернативные источники подтверждения или дополнительные признаки силы.
Traders often face drawdowns from false signals, while waiting for confirmation can lead to missed opportunities. This article introduces a triangular trading strategy using Silver’s pricing in Dollars (XAGUSD) and Euros (XAGEUR), along with the EURUSD exchange rate, to filter out noise. By leveraging cross-market relationships, traders can uncover hidden sentiment and refine their entries in real time.
Здравствуйте. Обнаружил баг: 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
Та же проблема.
Наука о данных и ML (часть 32): Обновление моделей ИИ, онлайновое обучение
Разработка торгового робота на Python (часть 3): Реализация торгового алгоритма на основе модели
В первой статье цикла мы загрузили набор данных, расставили метки, обогатили набор данных, а также выполнили маркировку набора данных. Вторая статья была посвящена созданию и обучению модели, а также реализации кросс-валидации и мешков.
Теперь, когда наша модель обучена и протестирована, самое время приступить к реальной торговле с помощью библиотеки MetaTrader 5 для Python. Эта мощная библиотека позволяет автоматизировать торговлю непосредственно через Python, используя функции и классы, предоставляемые платформой MetaTrader 5.
Feature Engineering With Python And MQL5 (часть III): Угол цены (2) Полярные координаты
Многосимвольный анализ с помощью Python и MQL5 (часть 3): Треугольные валютные курсы
Финансовые рынки по своей природе являются шумными. Обычно трейдеры страдают от ненужных просадок, вызванных ложными торговыми сигналами, которые побуждают трейдера преждевременно открывать позиции. Существует множество различных торговых стратегий и принципов, которые были разработаны в свете этой проблемы. Большинство из них, по сути, учат трейдера ждать, прежде чем действовать, и вместо этого искать альтернативные источники подтверждения или дополнительные признаки силы.
Здравствуйте
Подскажите, пожалуйста, можно ли получить данные индикатора iCustom из MQL в Python.
Мои попытки найти решение в интернете не очень помогли.
Заранее спасибо.
Здравствуйте
Подскажите, пожалуйста, можно ли получить данные индикатора iCustom из MQL в Python.
Мои попытки найти решение в интернете не очень помогли.
Заранее спасибо.
Штатными средствами нельзя.
Вы не можете использовать стандартные инструменты.
Здравствуйте Алексей
Так какой есть альтернативный способ или нестандартный инструмент?
Здравствуйте Алексей
Так какой есть альтернативный способ или нестандартный инструмент?
Самый простой - данные индикатора можно сохранить в файл csv и прочесть потом из нужного ЯП.
Самый простой - вы можете сохранить данные индикатора в csv-файл и прочитать их позже с нужного языка.
Спасибо большое, я тоже об этом думал :)