Скачать MetaTrader 5

Не все из 68 параметров оптимизируются. Почему?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нет времени изучать MQL5? Библиотека исходников для вас!
Zhigool
55
Zhigool 2013.11.11 17:46 

Здравствуйте, Господа и Девушки!

Написал простого нейронного эксперта по мотивам https://www.mql5.com/ru/articles/497, в который добавил 2 нейрона в первый слой и 1 выходной. При тестировании оптимизируются лишь первые 10 параметров. Почему?

Нейронные сети - от теории к практике
Нейронные сети - от теории к практике
  • 2012.10.06
  • Dmitriy Parfenovich
  • www.mql5.com
В наше время, наверное, каждый трейдер слышал о нейронных сетях и знает, как это круто. В представлении большинства те, которые в них разбираются, это какие-то чуть ли не сверхчеловеки. В этой статье я постараюсь рассказать, как устроена нейросеть, что с ней можно делать и покажу практические примеры её использования.
Файлы:
NNv2.mq5 13 kb
Alexander Bereznyak
21477
Alexander Bereznyak 2013.11.11 17:53  
Может ограничение тестера, не более десяти параметров.
Zhigool
55
Zhigool 2013.11.11 18:00  
sandex:
Может ограничение тестера, не более десяти параметров.
А это ограничение изменить можно?
Maxim Khrolenko
7118
Maxim Khrolenko 2013.11.11 18:45  

На вашем месте копирование из хэндлов индикаторов я бы делал так (см. ниже). Сначала надо скопировать данные в массив (CopyBuffer), а потом поменять индексацию задом на перёд (ArraySetAsSeries).

void OnTick()
  {
//---
   if(CopyBuffer(iRSI_handle,0,1,10,iRSI_buf)<0)
     {
      Print("Не удалось скопировать данные из индикаторного буфера для RSI14");
      return;
     }
   ArraySetAsSeries(iRSI_buf,true);
//---
   if(CopyBuffer(iStdDev_handle,0,1,10,iStdDev_buf)<0)
     {
      Print("Не удалось скопировать данные из индикаторного буфера для RSI28");
      return;
     }
   ArraySetAsSeries(iStdDev_buf,true);
//...
  }
Alexander Bereznyak
21477
Alexander Bereznyak 2013.11.11 18:52  
Zhigool:
А это ограничение изменить можно?

Мне не приходилось оптимизировать с таким количеством параметров, я предположил.

Ограничение должно быть, но его величину не знаю. 

Maxim Khrolenko
7118
Maxim Khrolenko 2013.11.11 19:08  
sandex:

Мне не приходилось оптимизировать с таким количеством параметров, я предположил.

Ограничение должно быть, но его величину не знаю. 

Максимально количество оптимизируемых параметров — 1024. Инфо тут.
Alexander Bereznyak
21477
Alexander Bereznyak 2013.11.11 19:09  
Тогда проблема в коде.
Zhigool
55
Zhigool 2013.11.11 20:31  
paladin800:

На вашем месте копирование из хэндлов индикаторов я бы делал так (см. ниже). Сначала надо скопировать данные в массив (CopyBuffer), а потом поменять индексацию задом на перёд (ArraySetAsSeries).

Поправил, всё заработало... хз... 
Спасибо большое!
Андрей
245
Андрей 2013.11.12 00:10  

Господа! Не занимайтесь самообманом. Перед тем как писать нейронную сеть поинтересуйтесь что вообще это такое, в какой то из 100500 умных книжек по этой тематике вроде Ф. Уоссермен  «Нейрокомпьютерная техника», а лучше сразу «Нейронные сети  полный курс» Саймона Хайкина.

НЕЙРОННАЯ СЕТЬ НЕ ОБУЧАЕТСЯ ОПТИМИЗАТОРОМ!!!!  Это бред полнейший. Вы получите не обобщение а случайную подгонку с вашими 68-ю весами.

Если уж на то пошло, то сделайте её в специализированной софтине, вроде матлаба или статистики, которая обучает и выплёвывает весовой вектор или *.dll готовой сети. В mql делать нейросеть это жестоко. Простейшую обратное распространение ошибки замутить дело довольно геморное, всё привязано к данным какгото ДЦ, нельзя запустить отдельное приложение, как то поработать с данными напрямую и тп. Нужно это будет делать скриптом и много всего предстоит гадкого.

Я не говорю что нейросеть нельзя прикрутить к мететрейдеру, это можно и нужно. Но лучше прикручивать только сам «черный ящик» в виде dll-ки или через вектор весов полученных в другой софтине.

Aliaksandr Yemialyanau
3479
Aliaksandr Yemialyanau 2013.11.12 03:21  

Обучается. Погуглите ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ОБУЧЕНИИ НЕЙРОННЫХ СЕТЕЙ 

 

Это похоже на "случайную подгонку"? 

 

Zhigool
55
Zhigool 2013.11.12 13:58  
gunia:

Господа! Не занимайтесь самообманом. Перед тем как писать нейронную сеть поинтересуйтесь что вообще это такое, в какой то из 100500 умных книжек по этой тематике вроде Ф. Уоссермен  «Нейрокомпьютерная техника», а лучше сразу «Нейронные сети  полный курс» Саймона Хайкина.

НЕЙРОННАЯ СЕТЬ НЕ ОБУЧАЕТСЯ ОПТИМИЗАТОРОМ!!!!  Это бред полнейший. Вы получите не обобщение а случайную подгонку с вашими 68-ю весами.

Если уж на то пошло, то сделайте её в специализированной софтине, вроде матлаба или статистики, которая обучает и выплёвывает весовой вектор или *.dll готовой сети. В mql делать нейросеть это жестоко. Простейшую обратное распространение ошибки замутить дело довольно геморное, всё привязано к данным какгото ДЦ, нельзя запустить отдельное приложение, как то поработать с данными напрямую и тп. Нужно это будет делать скриптом и много всего предстоит гадкого.

Я не говорю что нейросеть нельзя прикрутить к мететрейдеру, это можно и нужно. Но лучше прикручивать только сам «черный ящик» в виде dll-ки или через вектор весов полученных в другой софтине.

Я  просто экспериментирую..
Файлы:
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий