Нейронные сети. Вопросы экспертам. - страница 18

 
lasso:

Да я и не разу и не просил исходники, лишь саму dll и заголовок.

Не знаю что Вы углядите в самой dll, но пожалуйста, не жалко... Но Joo был абсолютно прав, может не напильник, но рашпиль там нужен. Исходник будет запрашивать вводить входы ручками, надо переделывать под пакетный ввод, что вообщем-то я и делал, только уже успел забыть)
Файлы:
knpr.rar  18 kb
 
Figar0:
Не знаю что Вы углядите в самой dll, но пожалуйста, не жалко... Но Joo был абсолютно прав, может не напильник, но рашпиль там нужен. Исходник будет запрашивать вводить входы ручками, надо переделывать под пакетный ввод, что вообщем-то я и делал, только уже успел забыть)
Надфиль. Напильник - круче. Рашпиль - почти пила.
 
Figar0:
Не знаю что Вы углядите в самой dll, но пожалуйста, не жалко... Но Joo был абсолютно прав, может не напильник, но рашпиль там нужен. Исходник будет запрашивать вводить входы ручками, надо переделывать под пакетный ввод, что вообщем-то я и делал, только уже успел забыть)

)) За голую dll спасибо. Не буду более вам надоедать...

 
lasso:

)) За голую dll спасибо. Не буду более вам надоедать...



Дык я ж сразу сказал, что исходников не осталось )))
 
Figar0:

Дык я ж сразу сказал, что исходников не осталось )))

Ну, а функции в этой dll вы как вызываете?

Оберточку то тоже уж покажите ))

 
lasso:

Ну, а функции в этой dll вы как вызываете?

Оберточку то тоже уж покажите ))


Какая оберточка? просто вызов из советника:

#import "KNpr.dll"
double research(double arrayohlc[]);
#import

int start()
{
   double inputs[20], result;
   for (int i=0;i<20;i++)
   {
     inputs[i]=Open[i]-Open[i+1];
   }          
   result=research(inputs);
   if (result>0) Открываем бай
   if (result<0) Открываем селл 
....
}
 
Figar0:


Какая оберточка? просто вызов из советника:

Блин. Снова оказался в ловушке стереотипов. )

В моем сознании, нейросетевая библиотека -- это что-то похожее на Fann2MQL.dll, с обучением и т.д.

А у вас, извините, не библиотека вовсе, а лишь маленькая брошурка...))

.........................

Ну и ладно. За то разобрались, что из Статистика 6/8 легкого и прозрачного для пользователя вывода нет.

Только через танцы с бубнами...

Чуть позже постараюсь описать свои танцы... Может кому полезно будет....

 
lasso:

А у вас, извините, не библиотека вовсе, а лишь маленькая брошурка...))


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

А Fann2MQL рукописная библиотека, там разумеется есть усЁ, для того она и писалась. Но, раз, это уже совершенно другой уровень программирования, профессиональный. Два, заточка "надфилем" (спасибо (без сарказма) tara за ликбез по разновидностям этих абразивных инструментов) кода той же статистики, несколько проще, чем даже просто разобраться как пользоваться библиотекой подобной Fann2MQL. Ну лично мне так.

 
Figar0:


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


joo:
Но ковыряться то в коде все равно придется, и каждый раз после обучения.

Не-е, братцы, я слишком "ленив", что бы каждый раз ковыряться.... ))

.......................

Моя вина в том, что не озвучил свои цели.

Вопросы задаю, а что мне необходимо в итоге -- не обозначил. Исправляюсь.

......................

Цель: -- из очень простых классифицирующих НС формата 1:1-N-1:1, где N - кол-во нейронов в скрытом слое (от 3 до 7), каждая из которых отвечает за свою "закономерность",

создать комитет сетей, который выдавал бы взвешенный выход (прогноз).

-- советник должен быть построен по принципу "Всё в одном".

Например: 1999-2000г на M15 по ценам открытия находим некие "закономерности", создаем набор обучающих примеров (ОП), обучаем сети, сохраняем их в файл.

Далее запускаем эксперта на диапазоне 2001-2010.

При инициализации: 1. он загружает приготовленные в спецпрограмме сети из файла (т.е. ф-ция fann4MT_create_standard не используется),

2. загружает ОП на которых учились сети.

И все. На этом вмешательство пользователя заканчивается. Никаких оптимизаций.

.....................

В процессе работы эксперт:

-- выполняет торговые операции

-- параллельно накапливает новые ОП

-- при наступлении заданных событий, производит переобучение.

.....................

Если по результатам его отработки за 10 лет нас всё устраивает, то выписываем ему путёвку в жизнь. (А себе в санаторий)))

.....................

И что самое главное:

на вопрос "Где грань...???" отвечать уже не надо будет!!!

 
lasso:

Ну и ладно. За то разобрались, что из Статистика 6/8 легкого и прозрачного для пользователя вывода нет.

Только через танцы с бубнами...

Чуть позже постараюсь описать свои танцы... Может кому полезно будет....

Итак. Кратко по пунктам. Если какой пункт кому-то будет интересен, то буду расписывать подробнее.

.................................

Задача:

Перенести сеть созданную для задач классификации в пакете "Статистика 6|8" в среду MQL4|5.

Пример для задачи классификации в контексте трейдинга здесь. (пятый пост снизу)

Танцы:

1) Нейросеть в советнике MT4 я решил реализовывать на базе библиотеки fann2MQL.dll

2) В качестве графического переходника выбрал fannExplorer (весь выбор здесь)

3) В fannExplorer создаем новую сеть и по параметрам известным из "Статистика" выбираем кол-во слоев, кол-во нейронов в слое, ф-ции активации с детализацией до конкретного нейрона и т.д.

4) Готовим файл с обучающими примерами (ОП) для fannExplorer не забывая, что сами ОП те же самые, что и для "Статистика 6", только формат представления данных другой.

5) То же проделываем с тестовыми примерами только сохраняем в отдельный файл с расширением *.test

6) В fannExplorer обучаем и тестируем сеть, ориентируясь на результаты полученные в "Статистика".

7) Сохраняем нужную конфигурацию (или несколько) в файл, для последующей загрузки и использования в MQL программе.

..............................

В fannExplorer есть некоторые "вкусности" недоступные в fann2MQL.dll, но есть и откровенные неудобства.

................................

P.S. Хотелось бы выслушать людей использующих NSDT, поскольку я догадываюсь, что там все проще и легче.

И возможно ли в NSDT создать и экспортировать в DLL классифицирующую сеть? Что бы она сразу выдавала номинальные выходы {1;-1}, например.

Так как в FANN это определенная проблема....

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