Обсуждение статьи "Пишем глубокую нейронную сеть с нуля на языке MQL" - страница 2

 
Подскажите, пожалуйста, как масштабировать количество входов? Если не 4, а больше? В коде советника вижу, а во включаемом файле не пойму
 
добрый день ! Я извиняюсь конечно  в мт4 ставлю выдаёт 12 ошибок может не правильно устанавливаю можно пошагово объяснить ? с уважением !
 
Да и на мт5 ставлю, который mq5 тоже при компеляции выдает 11 ошибок. Может поможете разобраться ????????
 

int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);

Тут передаются данные ещё не сформировавшейся свечи. Ведь в реале на открытие свечи все параметры будут одинаковые. Все будут =  rates[0].open

 
Vasily Pototsky #:

int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);

Тут передаются данные ещё не сформировавшейся свечи. Ведь в реале на открытие свечи все параметры будут одинаковые. Все будут =  rates[0].open

Неверно!

int copied=CopyRates(_Symbol,0,1,5,rates);

Здесь копирование происходит не с нулевого бара, а с первого, поэтому здесь:

CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);

будут значения прошлого бара...

А вот копировать 5 баров, думаю, совсем необязательно, достаточно будет скопировать 1 прошлый бар так:

int copied=CopyRates(_Symbol,0,1,1,rates);
 
Странное поведение при любом изменении переменной trend, результаты обучения всегда разные, почему?

В коде логическая ошибка!

   double trend=0; // также при trend=100 результаты много лучше и больше количество точек оптимизаций!? 
   if(uod>0)
     {
      highPer=high-close;
      lowPer=open-low;
      bodyPer=close-open;
      trend=1;

     }
   else
     {
      highPer=high-open;
      lowPer=close-low;
      bodyPer=open-close;
      trend=-1; // стоял ноль!
     }
 
Nikolai Kalinin #:
Странное поведение при любом изменении переменной trend, результаты обучения всегда разные, почему?

В коде логическая ошибка!

Специфика функции активации. 

Чем больше слоёв, тем больше затухание - значения будут ближе к 0. 

Смещение немного исправляет эту проблему. 

Поэтому, когда порог установлен в 0.6, то большинство возможных сетов откидываются. А если вы на вход подаёте какое-то огромное число или несколько больших чисел, то и при прямом проходе до конца нейросети дойдёт больше возможных значений. 

А чем больше значений дойдёт или пересечёт границу порога - тем больше позиций, либо больше возможностей подогнать (запомнить путь) график цены под нейронку.
 
Ivan Butko #:

Специфика функции активации. 

Чем больше слоёв, тем больше затухание - значения будут ближе к 0. 

Смещение немного исправляет эту проблему. 

Поэтому, когда порог установлен в 0.6, то большинство возможных сетов откидываются. А если вы на вход подаёте какое-то огромное число или несколько больших чисел, то и при прямом проходе до конца нейросети дойдёт больше возможных значений. 

А чем больше значений дойдёт или пересечёт границу порога - тем больше позиций, либо больше возможностей подогнать (запомнить путь) график цены под нейронку.

Так или иначе, результаты обучения всегда очень непостоянны, при любых типах оптимизации, что вызывает определённые сомнения в применимости для реальной торговли - всегда будут существовать лучшие параметры весов в пересортировке комбинаций. Чем объяснить эту особенность работы этой НС?  

 
Nikolai Kalinin #:

Так или иначе, результаты обучения всегда очень непостоянны, при любых типах оптимизации, что вызывает определённые сомнения в применимости для реальной торговли - всегда будут существовать лучшие параметры весов в пересортировке комбинаций. Чем объяснить эту особенность работы этой НС?  

Вы придаёте этой НС много значения, на самом деле все НС и всё, что связано с МО, в общем - везде, где есть умножения чисел на числа и сумматор в функции активации - всё это будет подгонкой под график. Совершенно нестабильная система. 

Более того, ценообразование - это нестационарный процесс. Каждый раз новые данные, а если разделить график на паттерны, то на истории они будут стремиться к отработке 50 на 50. 

НС - это к стационарным системам, повторяющимся. 

А на форексе и тд нужны более продвинутые, интеллектуальные системы. Что-то вроде нескольких НС, как-то связанных между собой, каким-то волшебным образом адаптирующихся к изменению статистики паттернов и тд. 

НС сама по себе - это запоминание пути цены, либо усреднение результатов, если количество новых данных больше, чем возможных комбинаций чисел, полученных при перемножении (или проще говоря - простейших архитектур НС с двумя-тремя входами). 

В ней интересно копаться, строить архитектуры, прибавлять нейроны и слои. Но, она совершенно бестолковая, не лучше пересечения машек. 
 
Ivan Butko #:

Вы придаёте этой НС много значения, на самом деле все НС и всё, что связано с МО, в общем - везде, где есть умножения чисел на числа и сумматор в функции активации - всё это будет подгонкой под график. Совершенно нестабильная система. 

Более того, ценообразование - это нестационарный процесс. Каждый раз новые данные, а если разделить график на паттерны, то на истории они будут стремиться к отработке 50 на 50. 

НС - это к стационарным системам, повторяющимся. 

А на форексе и тд нужны более продвинутые, интеллектуальные системы. Что-то вроде нескольких НС, как-то связанных между собой, каким-то волшебным образом адаптирующихся к изменению статистики паттернов и тд. 

НС сама по себе - это запоминание пути цены, либо усреднение результатов, если количество новых данных больше, чем возможных комбинаций чисел, полученных при перемножении (или проще говоря - простейших архитектур НС с двумя-тремя входами). 

В ней интересно копаться, строить архитектуры, прибавлять нейроны и слои. Но, она совершенно бестолковая, не лучше пересечения машек. 

Иван, Благодарю за разъяснения. Любая статистика имеет свойство повторятся. В принципе если используется интегральный показатель при оптимизации (обучении) НС, то видно по точкам как и когда наступает переход от не знания к знанию - как лучше ей торговать. О поисках значимой переменной отдельный разговор. Вам удалось решить проблему с масштабированием входов более 4х?  

Причина обращения: