Добавить в цитаты Настройки чтения

Страница 2 из 6



//+-+

#property copyright "Copyright © 2009, Andrey Dibrov."

#property link https://www.youtube.com/cha

#property version "1.00"

#property strict

int file=FileOpen("history.csv",FILE_CSV|FILE_READ|FILE_WRITE,";");

//+–+

//| Script program start function |

//+–+

void OnStart()

{

//–

FileWrite(file,"Open;OpenD;HighD;LowD;CloseD;Max;Min;Date");

if(file>0)

{

Alert("Идет запись файла");

for(int i=iBars(NULL,60)-1; i>=0; i–)

{

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 до тех пор, пока не сформируется нейросеть.