Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе - страница 4

Шрифт
Интервал


{

FileWrite(file,

iOpen(NULL,60,i),

iOpen(NULL,1440,iBarShift(NULL,1440,iTime(NULL,60,i))),

iHigh(NULL,1440,iBarShift(NULL,1440,iTime(NULL,60,i))),

iLow(NULL,1440,iBarShift(NULL,1440,iTime(NULL,60,i))),

iClose(NULL,1440,iBarShift(NULL,1440,iTime(NULL,60,i))),

iCustom(NULL,60,"Max",0,1440,60,0,i),

iCustom(NULL,60,"Min",0,1440,60,0,i));

TimeToStr(iTime(NULL,60,i)));

}

}

Alert("Файл записан");

FileClose(file);

}

//+-+





Запустив данный скрипт – в папке …MQL4/Files каталога данных терминала, получим файл “history”.







Откроем этот файл и добавим в начале десять столбцов In1-10 и один столбец Out.





Заполним эти столбцы Данными из столбца CloseD. Как Вы уже поняли, это данные дневных закрытий.




Далее мы сдвинем эти данные в наших столбцах последовательно на одну ячейку вверх.







Таким образом, мы получим в каждой строке вектор из дневных цен закрытия с глубиной в десять дней – это будут входы нейросети. А в столбце Out, который также сдвинут на один день вперед по отношению к In10, будут обучающие примеры закрытия дня для нейросети.





С помощью надстройки NeuroSolutions, выделив столбцы In1-In10, отформатируем их как входы.





А столбец Out как выход нейросети.





Аналогичным образом разобьем нашу матрицу построчно на обучающее множество.





И множество, которое мы будем использовать для анализа.





Теперь мы сформируем файлы для программы NeuroSolutions.








Откроем NeuroSolutions и нажмем кнопку NeuralBuilder.





Выберем модель нейросети Multilayer Perceptron.





Нажмем кнопку Browse…




И откроем файл с обучающими входами.







Далее откроем файл с обучающим выходом.







Определим 30% данных из тренировочного множества для перекрестной проверки в процессе обучения нейросети. Жмем кнопку Next до тех пор, пока не сформируется нейросеть.























С помощью кнопки Start и запустим процесс обучения.







После завершения процесса обучения нажмем кнопку Testing.








В выпадающем списке выберем Production.




Выберем файл с данными для анализа.








Создадим текстовой файл Prod.




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








Откроем файл Prod и скопируем из него отклики нейросети.





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







Поместим эти данные на график.




Результат вроде бы нас должен устроить. Кажется, что полученный результат хорошо накладывается на график цен закрытия. Однако, увеличив масштаб, мы обнаружим, что