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

 

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

Представляем вашему вниманию заключительную часть цикла, посвящённого GinAR — нейросетевому фреймворку для прогнозирования временных рядов. В этой статье мы анализируем результаты тестирования модели на новых данных и оцениваем её устойчивость в условиях реального рынка.

Мы подошли к самой ответственной и, пожалуй, самой интересной части — оценке работы фреймворка GinAR в реальных условиях. Позади остались этапы проектирования архитектуры, реализации ключевых компонентов и построения алгоритмов прямого и обратного прохода. Все элементы системы были детально проработаны, проверены и адаптированы к специфике финансовых временных рядов. Теперь пришло время объединить их воедино и, что называется, вывести на трассу — проверить, насколько эффективно GinAR справляется с практическими задачами анализа и прогнозирования.

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

Финальным шагом стало тестирование модели на полностью новых данных — котировках за период с Января по Март 2025 года. Все параметры и внутренние настройки, используемые в ходе обучения, были сохранены без изменений. Таким образом, полученные результаты позволяют объективно оценить не только точность, но и прикладную надёжность предложенного подхода.

Результаты тестирования модели позволяют получить объективное представление о её реальной эффективности и устойчивости вне обучающей выборки. Начальный депозит в $100 был увеличен до $1087.74, что эквивалентно приросту капитала более чем в 10 раз — результат на первый взгляд впечатляющий. Однако, если копнуть глубже, становится заметна характерная особенность: модель демонстрирует высокую эффективность в начале тестового периода, а затем — с отдалением от обучающей выборки — её результативность начинает снижаться.

Автор: Dmitriy Gizlyk

 
   redefinition of default parameter NeuroNet.mqh 13794 177
    no one of the overloads can be applied to the function call Math.mqh 66 20

   bool Math::MathPow(const double&[],const double,double&[]) Math.mqh 2976 6

 

чего-то опять они там нахимичили с вызовом функций...помогите разобраться, плиз...

не видит 

double Math::MathPow(double a) допустим а предлагает только реализации для массивов:

 bool Math::MathPow(const double&[],const double,double&[]) Math.mqh

которые непонятно вообще для чего нужны?!(((

 
Andrew_7543 #:

чего-то опять они там нахимичили с вызовом функций...помогите разобраться, плиз...

не видит 

double Math::MathPow(double a) допустим а предлагает только реализации для массивов:

 bool Math::MathPow(const double&[],const double,double&[]) Math.mqh

которые непонятно вообще для чего нужны?!(((

В местах возникновения ошибки ошибки замени MathPow на ::MathPow,  это позволит обращаться к функциям компилятора, а не объявленным в классе. 

 
спс) собственно, а что еще оставалось - пошел поэтому пути...
 
Dmitriy Gizlyk #:

В местах возникновения ошибки замени MathPow на ::MathPow,  это позволит обращаться к функциям компилятора, а не объявленным в классе. 

Далее такие же проблемы  в модуле NeuroNet.mqh

 call resolves to 'bool CNeuronPSBlock::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint)' instead of 'bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 3513 25
   see declaration of function 'CNeuronPSBlock::Init' NeuroNet.mqh 48451 22
   see declaration of function 'CNeuronConvSAMOCL::Init' NeuroNet.mqh 11308 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21835 18
could be one of 2 function(s) NeuroNet.mqh 21835 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21835 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21840 18
could be one of 2 function(s) NeuroNet.mqh 21840 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21840 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21846 18
could be one of 2 function(s) NeuroNet.mqh 21846 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21846 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30722 16
could be one of 2 function(s) NeuroNet.mqh 30722 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30722 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30730 16
could be one of 2 function(s) NeuroNet.mqh 30730 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30730 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30755 16
could be one of 2 function(s) NeuroNet.mqh 30755 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30755 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
wrong parameters count, 12 passed, but 15 requires NeuroNet.mqh 64222 22
   bool CNeuronTimeMoEAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 63529 22
call resolves to 'bool CNeuronTimeMoEAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' instead of 'bool CNeuronCrossDMHAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 64222 22
   see declaration of function 'CNeuronTimeMoEAttention::Init' NeuroNet.mqh 63529 22
   see declaration of function 'CNeuronCrossDMHAttention::Init' NeuroNet.mqh 50759 22
7 errors, 8 warnings 7 8
 
Andrew_7543 #:
Далее такие же проблемы  в модуле NeuroNet.mqh

Исправленная библиотека в статье Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей - Статьи по MQL5

Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей
Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей
  • 2025.08.08
  • www.mql5.com
В этой статье продолжаем практическое знакомство с SSCNN — архитектурным решением нового поколения, способным работать с фрагментированными временными рядами. Вместо слепого масштабирования — разумная модульность, внимание к деталям и точечная нормализация. Мы шаг за шагом создаём вычислительные блоки в среде MQL5 и закладываем основу для надёжного прогнозного анализа.
 
спасибо)все завелось как и до обновления терминала...и за статью отдельный респект!!!!
 
@Dmitriy Gizlyk приветствую...не совсем понятно, что при происходит при онлайн обучении: какой период выбрали, какие настройки для тестера стратегий использовали для приближения к боевым условиям?