Обсуждение статьи "Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (Окончание)"

 

Опубликована статья Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (Окончание):

В статье рассматривается практическая реализация архитектуры STCA с интеграцией механизмов OneTrans для совместной обработки временных рядов и контекстных признаков рынка. Описаны особенности построения модели, алгоритмы прямого прохода и накопления исторического состояния. Отдельное внимание уделено процессу обучения и результатам тестирования на реальных данных, демонстрирующим поведение модели в рыночных условиях.

Обучение модели можно представить как путешествие через весь спектр рыночной динамики. Сначала она шагает по историческим данным, шаг за шагом изучая, как формировались цены и какие сценарии оказывались успешными. На этапе офлайн-обучения модель буквально проходит по всей истории EURUSD за 2025 год, постепенно формирует собственное понимание рынка. Каждое движение цены, каждый импульс, каждая консолидация превращаются в структурированное знание. Последовательные ряды цен, контекстные признаки и эмбеддинги сценариев объединяются в единый поток, который модель аккуратно складывает в свои внутренние стеки. AutoToken помогает выбирать ключевые комбинации признаков, а THCA и SwiGLU-блоки смотрят на историю и извлекают закономерности, превращая их в понятные сигналы для следующего слоя.

Затем модель выходит на этап онлайн-обучения в тестере стратегий MetaTrader 5. Здесь начинается настоящее взаимодействие с живым рынком: поступающие данные становятся сигналами для адаптации, параметры модели корректируются практически в реальном времени, внутренние стеки обновляются, сценарии уточняются, а накопленный опыт аккуратно интегрируется в новые прогнозы. Модель учится различать краткосрочные импульсы и долгосрочные тренды, учитывать периоды коррекции и менять стратегию в зависимости от нового контекста. Этот этап можно представить как тренировки мастера: каждое событие на рынке обрабатывается мгновенно, анализируются последствия и создается обновленное понимание текущей рыночной ситуации.

Финальная проверка стала кульминацией этого путешествия. На данных за Январь–Февраль 2026 года модель сталкивалась с полностью новыми условиями, где привычные сценарии не могли быть повторены. Здесь проявилась истинная сила архитектуры STCA: модель выделяла ключевые паттерны, согласовывала последовательные и контекстуальные признаки, строила прогнозы и принимала торговые решения.

Автор: Dmitriy Gizlyk

 

Добрый день, Дмитрий!

Опробовал последний вариант модели.

На машине в конфигурации:

2026.03.20 17:26:15.127 Terminal MetaTrader 5 x64 build 5687 started for MetaQuotes Software Corp.

2026.03.20 17:26:15.127 Terminal Windows 10 build 19045, 8 x Intel Core i7-9700F  @ 3.00GHz, AVX2, 37 / 47 Gb memory, 55 / 465 Gb disk, UAC, GMT+3

2026.03.20 17:26:37.809 OpenCL device #0: GPU 'GeForce RTX 2070' with OpenCL 1.2 (36 units, 1620 MHz, 8192 Mb, version 457.51, rating 8000)

Происходит ошибка инициализации:

2026.03.20 17:26:38.027 Experts initializing of StudySTCA (EURUSD,H1) failed with code 1

2026.03.20 17:26:38.033 Experts expert StudySTCA (EURUSD,H1) removed

На десктопе с Intel и видеокартой 4090 и ноутбуке с AMD работает нормально.





 

Протокол из тестера:

2026.03.20 17:42:04.739 device #0: GPU 'GeForce RTX 2070' with OpenCL 1.2 (36 units, 1620 MHz, 8192 Mb, version 457.51, rating 8000)

2026.03.20 17:42:04.827 2024.01.01 00:00:00   OpenCL: GPU device 'GeForce RTX 2070' selected

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:7273:20: warning: comparison of unsigned expression >= 0 is always true

2026.03.20 17:42:04.952 2024.01.01 00:00:00         if((pos - s) >= 0)

2026.03.20 17:42:04.952 2024.01.01 00:00:00            ~~~~~~~~~ ^  ~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:7308:20: warning: comparison of unsigned expression >= 0 is always true

2026.03.20 17:42:04.952 2024.01.01 00:00:00         if((pos - s) >= 0)

2026.03.20 17:42:04.952 2024.01.01 00:00:00            ~~~~~~~~~ ^  ~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13346:61: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  out = IsNaNOrInf(exp(prev_max - max) * out + val[idx], 0.0f);

2026.03.20 17:42:04.952 2024.01.01 00:00:00                                                               ^   ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13348:22: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  out = val[idx];

2026.03.20 17:42:04.952 2024.01.01 00:00:00                        ^   ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13538:61: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  out = IsNaNOrInf(exp(prev_max - max) * out + val[idx], 0.0f);

2026.03.20 17:42:04.952 2024.01.01 00:00:00                                                               ^   ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13540:22: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  out = val[idx];

2026.03.20 17:42:04.952 2024.01.01 00:00:00                        ^   ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13662:26: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  grad_q += q_dg[idx];

2026.03.20 17:42:04.952 2024.01.01 00:00:00                            ^    ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   <kernel>:13749:26: error: subscripted access is not allowed for OpenCL vectors

2026.03.20 17:42:04.952 2024.01.01 00:00:00                  grad_X += x_dg[idx];

2026.03.20 17:42:04.952 2024.01.01 00:00:00                            ^    ~~~

2026.03.20 17:42:04.952 2024.01.01 00:00:00   

2026.03.20 17:42:04.971 2024.01.01 00:00:00   OpenCL program create failed, error code=5105

2026.03.20 17:42:04.971 2024.01.01 00:00:00   Error at COpenCLMy::Initialize line 2795

2026.03.20 17:42:04.971 2024.01.01 00:00:00   Error at CNet::OpenCLInit line 27756

2026.03.20 17:42:04.971 2024.01.01 00:00:00   Error at CNet::Create line 12004

2026.03.20 17:42:04.971 tester stopped because OnInit returns non-zero code 1


 
Andrey Kotrin #:

Протокол из тестера:

2026.03.20 17:42:04.739 device #0: GPU 'GeForce RTX 2070' with OpenCL 1.2 (36 units, 1620 MHz, 8192 Mb, version 457.51, rating 8000)

......

Добрый день, Андрей.

Проверьте версию из вложения. Если все Ok, заменим в статье.

С уважением,
Дмитрий.

Файлы:
NeuroNet.cl  541 kb
 
Dmitriy Gizlyk #:

Добрый день, Андрей.

Проверьте версию из вложения. Если все Ok, заменим в статье.

С уважением,
Дмитрий.

Добрый день, Дмитрий!

Файл скачал, протестировал - всё Ок!

С уважением,

Андрей.