На радость нейросетевикам, быстрая и бесплатная библиотека для MT4 - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сейчас протестил советника и отловил такой момент
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:28 2009.09.04 13:00 n5_test EURUSD,H1: 1024
2009.12.24 23:04:27 2009.09.04 12:00 n5_test EURUSD,H1: 1023
2009.12.24 23:04:26 2009.09.04 11:00 n5_test EURUSD,H1: 1022
Эти числа - то, что возвращает код:
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
Таким образом, идентификатор сети возрастает до 1024, а потом система отказывается создавать новую сетку
При этом функция f2M_destroy(ann[i]) никаких сеток не разрушает! Вот такое предположение...
При этом функция f2M_destroy(ann[i]) никаких сеток не разрушает! Вот такое предположение...
Александр, а Вы пробовали функцию f2M_destroy_all_anns();
Может быть будут различия в отработке?
Да, сейчас попробовал, похоже одна проблема локализовалась...
I. - В советнике ставлю static int AnnsNumber = 1027;
- Из папки ANN все удаляю, лог очищаю.
- По логу видно создаются сети с индексами начиная с 7 до 1024.
- Сохраняются сетки в файлы с номерами от .1017.net до .0.net
Повторял эту последовательность несколько раз - ничего не меняется.
Лог первого варианта прилагаю.
.
===========================
II. Вставил в начале init() ф-цию f2M_destroy_all_anns(); и картина изменилась кардинально в лучшую сторону, только в конце косячок
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_save(1, E:\ANN\USDJPY-870.1.net) returned: 0
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_destroy(1) returned: 0
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_save(0, E:\ANN\USDJPY-870.0.net) returned: -1
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_destroy(0) returned: -1
нулевая сетка не сохранилась, а 1024.net сохранилась. Но это уже мелочи )))
Кто-то раскомментировал все варианты. В коде из CVS таких ошибок нет.
Вопрос: Кто как разворачивал FANN2MQL?
Инсталлятором? Руками с оф. сайта? Другим способом?
Может все мы жертвы ЗАГОВОРА антисетевиков? )
Ну пожалуй тоже добавлю в копилку странностей FANN...
Эксперимента ради, решил обучить комитет из 46-сетей размерности 30/N/N/1 брутфорсом (т.е. на каждом баре: ~300тыс).
Уточните плиз. У каждой из 46 сетей выходы разные?
Диапазон размерности весов каков?
Если возможно, прикрепите профайлик одной комитетской сетки.
Сейчас протестил советника и отловил такой момент
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:28 2009.09.04 13:00 n5_test EURUSD,H1: 1024
2009.12.24 23:04:27 2009.09.04 12:00 n5_test EURUSD,H1: 1023
2009.12.24 23:04:26 2009.09.04 11:00 n5_test EURUSD,H1: 1022
Эти числа - то, что возвращает код:
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
Таким образом, идентификатор сети возрастает до 1024, а потом система отказывается создавать новую сетку
При этом функция f2M_destroy(ann[i]) никаких сеток не разрушает! Вот такое предположение...
Так там в самой библиотеке определено :
При этом функция f2M_destroy(ann[i]) никаких сеток не разрушает! Вот такое предположение...
Сама функция :
Память освобождается.
Удачи.
ЗЫ Проблема может возникнуть, если разрушать сети в произвольном порядке или от первой к последней. Нужно от последней к предыдущей - то есть в порядке, обратном тому, как создавались.
ЗЫ Проблема может возникнуть, если разрушать сети в произвольном порядке или от первой к последней. Нужно от последней к предыдущей - то есть в порядке, обратном тому, как создавались.
Дополню. Или в случае краха терминала. Но решение вроде найдено.
Вопрос другой. Владислав вы вроде без "посредников" читаете С++ код.
Не могли бы прокомментировать проблему с одинаковыми ответами коммитета сетей и правильность инициализации значений весов? (подробно озвучены здесь и ещё логи, а здесь вопрос по весам)
lasso и VladislavVG
Спасибо огромное
Уточните плиз. У каждой из 46 сетей выходы разные?
Диапазон размерности весов каков?
Если возможно, прикрепите профайлик одной комитетской сетки.
Да. На каждую сетку входы разные, хотя это и не принципиально. Можно взять стандартный сигнал, например тот же RSI и одну сетку, и все равно на брутфорсе получите отрицательные значения при любых входах.
Начальная инициализация весов -1, 1.
На счет профайла... Вы имеете ввиду результирующий файл обученной сети?