Продолжаем адаптацию AlphaGen для MetaTrader 5. В первой части мы реализовали правила, определяющие допустимые продолжения формулы. Теперь разбираем, как генератор OpenCL применяет эти правила и по оценкам модели выбирает токены, а вычислитель проверяет готовое выражение и рассчитывает значения торгового фактора по барам. Показываем, как по статусу результата отличить корректный ноль от пропуска из-за нехватки истории и распознать ошибку вычисления.
В предыдущей статье мы познакомились с фреймворком AlphaGen и начали его адаптацию для MetaTrader 5. В AlphaGen уже отобранные факторы образуют пул. Допустим, один из них показывает, насколько цена закрытия отклоняется от скользящей средней. Если немного изменить период средней, на графике появится вторая линия, но отклонения от этих двух линий могут почти совпадать. Прежде чем включать ещё один фактор, стоит выяснить, что он добавит к прогнозу.
В авторском методе AlphaGen генератор шаг за шагом выбирает обозначения рыночных рядов и операций. Из них получается формула, которую трейдер может прочитать. Для оценки кандидата значения факторов приводят к сопоставимому масштабу и подбирают веса их линейной комбинации с учётом новой формулы. Для каждой даты авторы измеряют корреляцию Пирсона между значениями комбинации по акциям и последующей доходностью тех же акций. Среднее этих коэффициентов по датам служит наградой за завершённый поиск допустимой формулы. На промежуточных шагах награда равна нулю. Так на последующий поиск влияет состав пула.
Практическую часть мы начали с правил построения выражения. Функция AGApplyToken проверяет аргументы операции и определяет, сколько прошлых баров потребуется. Вторая функция, AGMaskToken, отвечает на более узкий вопрос — разрешён ли один предложенный токен после уже записанных. Проверив так весь словарь, получаем маску допустимых продолжений. В примере из первой статьи после Close Open маска разрешала вычитание. После Sub оставалось одно выражение — тело свечи со знаком, и формулу уже можно было завершить.
Теперь воспользуемся этой маской, чтобы проследить, как генератор может построить пятибарную среднюю и отклонение цены от неё. В нашей адаптации обе формулы читают последовательные бары одного инструмента. Зададим восемь условных закрытий и определим, на какой свече впервые можно вычислить отклонение. По тем же ценам увидим, почему оно может оставаться положительным даже на баре, который закрылся ниже предыдущего.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Опубликована статья Нейросети в трейдинге: AlphaGen — поиск торговых факторов (генерация формул):
В предыдущей статье мы познакомились с фреймворком AlphaGen и начали его адаптацию для MetaTrader 5. В AlphaGen уже отобранные факторы образуют пул. Допустим, один из них показывает, насколько цена закрытия отклоняется от скользящей средней. Если немного изменить период средней, на графике появится вторая линия, но отклонения от этих двух линий могут почти совпадать. Прежде чем включать ещё один фактор, стоит выяснить, что он добавит к прогнозу.
В авторском методе AlphaGen генератор шаг за шагом выбирает обозначения рыночных рядов и операций. Из них получается формула, которую трейдер может прочитать. Для оценки кандидата значения факторов приводят к сопоставимому масштабу и подбирают веса их линейной комбинации с учётом новой формулы. Для каждой даты авторы измеряют корреляцию Пирсона между значениями комбинации по акциям и последующей доходностью тех же акций. Среднее этих коэффициентов по датам служит наградой за завершённый поиск допустимой формулы. На промежуточных шагах награда равна нулю. Так на последующий поиск влияет состав пула.
Практическую часть мы начали с правил построения выражения. Функция AGApplyToken проверяет аргументы операции и определяет, сколько прошлых баров потребуется. Вторая функция, AGMaskToken, отвечает на более узкий вопрос — разрешён ли один предложенный токен после уже записанных. Проверив так весь словарь, получаем маску допустимых продолжений. В примере из первой статьи после Close Open маска разрешала вычитание. После Sub оставалось одно выражение — тело свечи со знаком, и формулу уже можно было завершить.
Теперь воспользуемся этой маской, чтобы проследить, как генератор может построить пятибарную среднюю и отклонение цены от неё. В нашей адаптации обе формулы читают последовательные бары одного инструмента. Зададим восемь условных закрытий и определим, на какой свече впервые можно вычислить отклонение. По тем же ценам увидим, почему оно может оставаться положительным даже на баре, который закрылся ниже предыдущего.
Автор: Dmitriy Gizlyk