Обсуждение статьи "Подключение нейросетей от NeuroSolutions" - страница 2

 
Buter:
И у меня работает жутко медленно.
посмотрите код dll-переходника. там при каждом обращении сеть зачитывается и инициализируется заново! большой простор для оптимизаций
 
jedy:
посмотрите код dll-переходника. там при каждом обращении сеть зачитывается и инициализируется заново! большой простор для оптимизаций

Да. И причем некоторые оптимизации можно сделать средствами терминала и MQL, если торговая стратегия это позволяет.

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

В тестере такую стратегию можно гонять в режиме "Только цены открытия". А еще можно прямо в советник встроить фильтр, чтобы сеть использовалась лишь при появлении нового бара.

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
ds2:

Yes. And some optimization can be done by means of the terminal and MQL, if the trading strategy allows it.

For example, the strategy described in the article, it does not matter whether the network is called on every tick, or only at the beginning of the bar. Because in her case the mains input (and hence the price forecast) changed only by changing the bar.

The tester can be a strategy to drive in the "Only the opening price." And, you can embed directly in the EA filter to the network is used only when a new bar .

But why its so slow that I can't finish a one month testing ! any Ideas.
 
NFTrader:
But why its so slow that I can't finish a one month testing ! any Ideas.
And now try to imagine if an idea would be a complicated one. :)
 

Спасибо за крутую статью! Все описано хорошо и понятно.

Но есть вопрос: файл-переходник для связи DDL нейросети и советником в MT будет работать на MetaTrader 4?

Благодарю автора!

Алексей 

 
alexey_mosc:

Спасибо за крутую статью! Все описано хорошо и понятно.

Но есть вопрос: файл-переходник для связи DDL нейросети и советником в MT будет работать на MetaTrader 4?

Благодарю автора!

Спасибо.

Для MT4 переходник наверное надо немного упростить: в MT4, я думаю, строки в DLL не в unicode передаются, а обычные, поэтому внутри DLL их не надо перекодировать. Остальное всё должно работать.

 
ds2:

Спасибо.

Для MT4 переходник наверное надо немного упростить: в MT4, я думаю, строки в DLL не в unicode передаются, а обычные, поэтому внутри DLL их не надо перекодировать. Остальное всё должно работать.

Большое спасибо за ответ!
 

Могли бы Вы подсказать, в чем может быть проблема?

Не получается создать dll. Пишет: .dll creation failed. Почитал в той же программе, какие могут быть причины неудачи. из всего понял только то, что может быть неправильно отконфигурирован visual c++ 6. Кто то сталкивался с такой проблемой применительно к NeuroSolutions? Что можно попробовать поменять в первую очередь? Visual C++ 6 нужно устанавливать в варианте Standard installation? Как то настраивать нужно? у меня лицензионная win 7 64 bit. visual c++ 6 установил стандартно, пробовал, запускается.

 

Когда дело доходит до custom solution wizard, он спрашивает, преобразовать в dll активный проект или сохраненный. выбираю активный. предлагается его вначале сохранить, сохраняю в отдельную папку, затем пытаюсь создать длл, но не удается. сохранять длл нужно в папку сохраненного проекта или в любую?

 

 С уважением,

Алексей 

 

alexeymosc:

Не получается создать dll. Пишет: .dll creation failed. Почитал в той же программе, какие могут быть причины неудачи. из всего понял только то, что может быть неправильно отконфигурирован visual c++ 6. Кто то сталкивался с такой проблемой применительно к NeuroSolutions? Что можно попробовать поменять в первую очередь? Visual C++ 6 нужно устанавливать в варианте Standard installation? Как то настраивать нужно? у меня лицензионная win 7 64 bit. visual c++ 6 установил стандартно, пробовал, запускается.

Я генерировал DLL на win XP 32 bit. Там все работало без каких-либо настроек.

Еще можно попробовать VC++ какой-нибудь более свежей версии. Они наверняка лучше дружат с современными операционками (если проблема именно в этом).

Ну а если разбираетесь в VC++, то рекомендую заглянуть в файл build.bat (он появляется в той папке, где должна появиться DLL). В нем есть все необходимое для "ручной" компиляции, с возможностью увидеть все возникающие ошибки и поэкспериментировать с настройками.

Кстати, используя информацию из build.bat, можно даже попробовать вручную скомпилировать DLL, используя версии VC++ Express (официально они не поддерживаются NeuroSolutions).

alexeymosc:

Когда дело доходит до custom solution wizard, он спрашивает, преобразовать в dll активный проект или сохраненный. выбираю активный. предлагается его вначале сохранить, сохраняю в отдельную папку, затем пытаюсь создать длл, но не удается. сохранять длл нужно в папку сохраненного проекта или в любую?

В статье показано, что для DLL отдельная папка создается. У меня также успешно DLL генерировалась и в папку с проектом. Т.е. можно в любую.

 
ds2:

Я генерировал DLL на win XP 32 bit. Там все работало без каких-либо настроек.

Еще можно попробовать VC++ какой-нибудь более свежей версии. Они наверняка лучше дружат с современными операционками (если проблема именно в этом).

Ну а если разбираетесь в VC++, то рекомендую заглянуть в файл build.bat (он появляется в той папке, где должна появиться DLL). В нем есть все необходимое для "ручной" компиляции, с возможностью увидеть все возникающие ошибки и поэкспериментировать с настройками.

Кстати, используя информацию из build.bat, можно даже попробовать вручную скомпилировать DLL, используя версии VC++ Express (официально они не поддерживаются NeuroSolutions).

В статье показано, что для DLL отдельная папка создается. У меня также успешно DLL генерировалась и в папку с проектом. Т.е. можно в любую.

Спасибо!

 Попробую более свежую версию VC++ (кстати, когда устанавливал 6-ю версию, вышло окно, что у данной версии есть известные проблемы совместимости с виндой 7).

Также, вспомнил, что после установки VC не перезагрузил компьютер. Может, банально, в этом была причина.

Буду колдовать :)

 

Большое спасибо за помощь! В целом, идея статьи очень классная. Если есть желание делать несколько сетей для разных инструментов и обновлять их (переобучать) регулярно, то автоматическая генерация dll выглядит гораздо привлекательнее, нежели ручное создание dll или написание сети в языке MQL.