Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Класс нейронной сети PNN - библиотека для MetaTrader 5
- Просмотров:
- 5244
- Рейтинг:
- Опубликован:
- 2012.11.30 11:47
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Класс CNetPNN реализует вероятностную нейронную сеть (Probabilistic Neural Network - PNN).
Создание сети объявляется параметрическим конструктором класса.
CNetPNN *net=new CNetPNN(размер входного вектора, количество классов(целей классификации));
Нумерация классов(целей классификации) начинается с нуля и должна быть непрерывна. Например, если задано 3 класса, то номера классов должны быть: 0, 1, 2.
Обучение сети осуществляется вызовом метода Learn(количество обучающих паттернов, массив входных данных, массив выходных данных, количество циклов обучения, допустимая ошибка обучения).
Входные и выходные обучающие данные располагаются в одномерных массивах, вектор за вектором. Для каждого входного обучающего вектора должен быть определен номер класса в выходных данных. Процесс обучения ограничивается, либо количеством эпох обучения, либо допустимой ошибкой.
Метод Learn возвращает следующие значения:
- 0 - завершено обучение сети и результат обучения можно проверить через переменные класса: mse – ошибка обучения, epoch – количество пройденных циклов обучения;
- -1 - несуществующий класс в выходных обучающих данных;
- -4 - недостаточно памяти.
Для получения ответа сети служит метод Calculate(массив входного вектора). Метод Calculate возвращает номер класса, соответствующий входному вектору, или -1, если сеть не обучена.
Методы Save(хэндл открытого файла с флагами FILE_WRITE и FILE_BIN) и Load(хэндл открытого файла с флагами FILE_READ и FILE_BIN) предназначены для сохранения сети в файл и загрузки сети из файла соответственно. В файл сохраняются топология сети, значение ошибки обучения и массивы весов. Если параметры топологии загружаемой сети отличаются от параметров топологии созданной сети, сеть не будет загружена и метод Load вернет false.
С применением данного класса можно ознакомиться в прилагаемом примере: Test_PNN_XOR - обучение сети функции "исключающее ИЛИ".
Четыре параболлика одновременно!
Класс нейронной сети GRNNКласс реализует обобщенно-регрессионную нейронную сеть (General Regression Neural Network - GRNN).
Индикатор агрессивности показывает сколько пунктов проходит инструмент в среднем за одну свечу
VolatilityИндикатор волатильности показывает величину коридора движений цены за период N в пунктах