Обсуждение статьи "Архитектура системы машинного обучения в MetaTrader 5 (Часть 1): Утечка данных и исправление меток времени"
Бары, ориентированные на активность, не решают всех проблем, которые вы упомянули для временных баров. Например, вы написали:
The Subtle Intra-Bar Leakage: However, a more subtle form of data leakage can still occur within the very formation of that time bar. If a significant event transpires midway through a 1-minute bar (e.g., at 09:00:35), any features derived from that bar (such as its high price or a flag for the event) will inevitably incorporate this information by the bar's end.
Если вы строите пользовательские бары равного объема, равного диапазона или другие тиковые бары, вы все равно пометите такой бар одной меткой, и он будет сливать (точнее, размывать) информацию о высокой цене по всему бару.
Единственный способ решить эту проблему - строить "бары" с учетом специфических особенностей (которые вы собираетесь использовать). Например, если основными характеристиками являются максимумы или минимумы, стоит попробовать, возможно, зигзагообразные "бары" с экстремумами, отмеченными точным временем.
На самом деле, подход с постоянными таймфреймами, да еще и ограничивающий их М1, проблематичен в контексте утечки данных в МТ5. Маркировать бары М1 временем окончания не намного лучше, чем временем начала, имхо.
Для тех, кто интересуется построением пользовательских баров (графиков) нативно в MT5, есть статья с реализацией на MQL5 баров equal-volume, equal-range и renko. Разумеется, в открытом коде можно пометить бары с временем окончания.
- www.mql5.com
Бары, ориентированные на активность, не решают всех проблем, которые вы упомянули для временных баров. Например, вы написали:
Если вы строите пользовательские бары равного объема, равного диапазона или другие тиковые бары, вы в любом случае пометите такой бар одной меткой, и он будет сливать (точнее, размывать) информацию о высокой цене по всему бару.
Единственный способ решить эту проблему - строить "бары" с учетом специфических особенностей (которые вы собираетесь использовать). Например, если основными характеристиками являются максимумы или минимумы, то стоит попробовать, возможно, зигзагообразные "бары" с экстремумами, отмеченными точным временем.
На самом деле, подход с постоянными таймфреймами, да еще и ограничивающий их М1, проблематичен в контексте утечки данных в МТ5. Маркировать бары М1 временем окончания не намного лучше, чем временем начала, имхо.
Для тех, кто интересуется построением пользовательских баров (графиков) нативно в MT5, есть статья с реализацией на MQL5 баров equal-volume, equal-range и renko. Разумеется, в открытом коде можно пометить бары с временем окончания.
Бары, управляемые активностью, направлены на улучшение статистических свойств информации, содержащейся в барах, например, уменьшение гетероскедастичности и улучшение нормальности. Предложенное мной решение проблемы тонкой внутрибарной утечки заключается в маркировке баров с помощью времени их окончания, так что все события, происходящие внутри бара, отражаются в метке времени. Полезный пример - использование в обучении модели характеристик, полученных из временной метки, таких как преобразования Фурье. Если вы используете соглашение MetaTrader5, в котором бары маркируются по началу периода, то вы дезинформируете свою модель. Это различие может не иметь большого значения для некоторых моделей, но оно оказывает огромное влияние на те, которые нацелены на использование циклической природы рынков. Надеюсь, я прояснил свои намерения.
Бары, основанные на активности, не решают всех проблем, которые вы упомянули для временных баров. Например, вы написали:
Если вы создаете бары того же объема, диапазона или другие тиковые пользовательские бары, вы в любом случае будете помечать такой бар одной меткой, и информация о максимальной цене будет просачиваться (точнее, размываться) по всему бару.
Единственный способ решить эту проблему - создавать "бары" с учетом специфических особенностей (которые вы будете использовать). Например, если основными характеристиками являются максимумы или минимумы, попробуйте создать "зигзагообразный бар" с экстремумами, отмеченными точно по времени.
Подход с постоянным таймфреймом, и в частности ограничение M1, проблематичен в контексте утечки данных MT5. Маркировка баров М1 временем окончания имхо не намного лучше, чем временем начала.
Для тех, кто интересуется созданием пользовательских баров (графиков) нативно в MT5, есть статья с MQL5-реализацией баров Equal Volume, Equal Range и Renko. Разумеется, в открытом коде можно пометить бары временем окончания.
Что вы имеете в виду, когда говорите: "Если вы создаете бары с одинаковым объемом, диапазоном или другие тиковые пользовательские бары, вы в любом случае будете помечать такой бар одной меткой, и информация о максимальной цене будет просачиваться (точнее, размываться) по всему бару"?
Что вы имеете в виду, когда говорите: "Если вы создаете бары с одинаковым объемом, диапазоном или другие пользовательские бары на основе тиков, вы все равно будете помечать такой бар одной меткой, и информация о максимальной цене будет просачиваться (или, точнее, размываться) по всему бару"?
Я не понимаю, что тут непонятного. Мое предложение - прямой ответ на ваше предложение, которое я процитировал в предыдущем посте. Независимо от того, как вы формируете бар, все свойства бара приписываются одной временной метке, а фактические "события" свойств не совпадают с этим временем. время.
Теперь я понимаю значение слова blur.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Архитектура системы машинного обучения в MetaTrader 5 (Часть 1): Утечка данных и исправление меток времени:
Подсматривание данных или утечка данных могут показаться чем-то незначительным, но их влияние на модели машинного обучения может быть колоссальным и разрушительным. Представьте, что вы готовитесь к экзамену, нечаянно подсмотрев ответы заранее. Ваш отличный результат кажется заслуженным, но на самом деле это обман. Именно это происходит, когда мы используем временные метки MetaTrader 5 по умолчанию в машинном обучении — утечка данных неожиданно разрушает целостность вашей модели.
Как временные метки MetaTrader 5 вводят вас в заблуждение

MetaTrader 5 маркирует 5-минутный бар, начинающийся в 18:55, то есть 2-й последний бар сверху, как:Отмечая время в начале, MetaTrader 5 подразумевает, что данные этого бара были доступны в 18:55:00 -за целых 5 минут до его фактического закрытия! Если ваша модель использует это в обучении, это все равно что дать студенту ответы на экзамен за 5 минут до начала тестирования. Чтобы противостоять этому, мы должны избегать использования предварительно скомпилированных временных баров MetaTrader 5, а вместо этого использовать тиковые данные для создания баров, которые мы используем в наших моделях.
Автор: Patrick Murimi Njoroge