На радость нейросетевикам, быстрая и бесплатная библиотека для MT4 - страница 13
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат как раз именно всего лишь вменямый есть, используется, но вот сказать что это заслуга ЗЗ я не могу)
Выдается там не коммитет, а просто несколько (кол-во задается) сеток отобраных по минимальной ошибке, но вот то, что Statisticу стоит кормить неподготовленными данным это заблуждение точно. Конечно в поиске решений можно пробовать всякое, но валить все в сеть, а она пусть варится, не проходит, это Вам тут любой скажет.
А в каком направлении стоит работать, скажите пожалуйста, если конечно результаты вашей работы не засекречены от общественности?
Ребят, а точно библиотека не "кривая"?
Ситуация такая: регулярно вылазит сообщение об ошибке и то, что терминал будет закрыт.
Читайте топик. Написано же русским языком:
Да хрен бы с ним с советником. Да и переписывать, и заниматься им не надо.
Есть подозрение на некорректную работу самой библиотеки, и здесь надо разобраться так это и нет. Иначе смысла двигаться дальше нет.
Смоделировал Вашу ситуацию. Действительно, при использовании ann_train ответы одинаковые даже после обучения сети кол-ом сигналов ~10 000. Ответы сети при использовании ann_train_fast иногда разнятся а иногда нет.
Думаю что действительно есть проблема, как минимум, с рандомизацией весов.
Попробуйте закомментировать f2M_randomize_weights. Если ответы сетей станут разными, значит ошибка в FANN2MQL. Если всё равно одинаковыми - ошибка в FANN.
По-умолчанию происходит рандомизация (-0.1 ... 0.1)
UPD: Проверил сам. Рандомизация есть в обоих случаях. Только есть странность - от 2 до 5 сеток подряд отвечают одинаково, далее группа других одинаковых. Итак, на 16 сеток есть 5 разных ответов. Если ошибка не будет исправлена, то для комитета из N членов нужны 3*N сетей, остальные - балласт.
Читайте топик. Написано же русским языком:
А кто Вам сказал, что я использую параллельный режим?!
Почему надо сразу нравоучительно "метать какахи"? Не можете сказать, что написано в стеке и в чем конкретно ошибка,
так и не говорите ничего. Да, сейчас начнется про телепатов и прочее, предупреждаю этот возглас: дано сообщение об ошибке,
полный его текст, функции использовались такие же, как у Юрия Решетова, параллельный режим не использовался.
Какие могут быть причины ИМЕННО ТАКОГО сообщения?
А кто Вам сказал, что я использую параллельный режим?!
Прошу прощения ))
Поэтому последнюю Вашу фразу я считаю глупостью.
Считаете так потому что приняли её на свой счет, а я пытался лишь сказать, что библиотека не имеет мощного обработчика ошибок, и не прощает некорректной работы с объектами и указателями на них. Так что будем дружить! )))
А Решетова советник пробовали? То же вышибает терминал?
UPD: Проверил сам. Рандомизация есть в обоих случаях. Только есть странность - от 2 до 5 сеток подряд отвечают одинаково, далее группа других одинаковых. Итак, на 16 сеток есть 5 разных ответов. Если ошибка не будет исправлена, то для комитета из N членов нужны 3*N сетей, остальные - балласт.
Замечено. Рандомизация от -1 до 1, а в профайле сети значения весов от -10.0е--003 до 10.0e-003
Пример: (12, -7.35577636217311400000e-003) (13, 7.63970005423449810000e-002)
Это правильно?
.....
Да, то же такое было, что значения выходов у первые двух-четырех сетей отличаются от последующих.
Пробовал умножать входы на различные коэффициенты. Проблему это не решает.
Считаете так потому что приняли её на свой счет, а я пытался лишь сказать, что библиотека не имеет мощного обработчика ошибок, и не прощает некорректной работы с объектами и указателями на них. Так что будем дружить! )))
А Решетова советник пробовали? То же вышибает терминал?
Дружить мне больше нравится)))
Советник Решетова вышибал терминал до того, как я отменил параллельные вычисления.
Сейчас пробую свой советник во всех ракурсах и успешность операций проверяю Print'ом.
Заметил такую особенность: создание сетки может быть и неудачным(((
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
вот эта строка очень часто возвращает -1.
Скажу несколько точнее: некоторое число раз она возвращает не -1, а потом только -1, избавиться
от этого помогает только перезагрузка компьютера. Я подумал, что дело в том, что предыдущая сетка не удаляется и новой некуда
развернуться, поэтому сделал такой кусок кода:
for (int i=0;i<1024;i++)
{ann_destroy (ann[i]);}
int a=-1;
while(a<0)
{
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
}
Ну теперь-то точно первые 1024 сетки должны быть удалены! (может я и ошибаюсь).
Но опять же в лог пишется -1. До перезагрузки...
Ну пожалуй тоже добавлю в копилку странностей FANN...
Эксперимента ради, решил обучить комитет из 46-сетей размерности 30/N/N/1 брутфорсом (т.е. на каждом баре: ~300тыс). На каждый канал данных по одной НС. На вход подается временной паттерн. С размерностью баловался, поэтому указываю N/N (пробовал разные). Со слоями тоже баловался.
Активатор - FANN_SIGMOID_SYMMETRIC_STEPWISE. Пробовал другие, но сеть так быстро не сходится, как с ним.
Обучаю только знаку 1 или -1. Обучение на каждой итерации.
Кол-во положительных и отрицательных итераций обучения практически равны. Если быть точнее то: 132522/-112221
Данные нормализованы к диапазону 1:-1.
Почти все сетки к концу обучения сходятся к СКО в пределах 0.09. Это много конечно, но не в этом суть...
Но вот что странно, на тестовом участке весь комитет дружно выдал значения близкие к -1. Имхо, это нездоровое поведение для НС. Возможно в библиотеке присутствует еще и алгоритмическая ошибка...
И еще одно наблюдение... При нормальном обучении (только сигнальные участки) комитет все рано тяготеет к сваливанию в отрицательные значения, правда не так явно как в брутфорсе.
Кто-нибудь наблюдал у себя подобные явления? Может есть идеи?
Пример визуализированных входных данных (снизу):