Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Класс нейронной сети PNN - библиотека для MetaTrader 5

Просмотров:
5158
Рейтинг:
(50)
Опубликован:
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 - обучение сети функции "исключающее ИЛИ". 

iSarX4 iSarX4

Четыре параболлика одновременно!

Класс нейронной сети GRNN Класс нейронной сети GRNN

Класс реализует обобщенно-регрессионную нейронную сеть (General Regression Neural Network - GRNN).

Aggressiveness Aggressiveness

Индикатор агрессивности показывает сколько пунктов проходит инструмент в среднем за одну свечу

Volatility Volatility

Индикатор волатильности показывает величину коридора движений цены за период N в пунктах