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

Читать онлайн книгу.

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


Скачать книгу
так как данную платформу мы в построении нашей системы использовать не будем, а я в данном случае использую ее как пример. Напишем скрипт для получения ценовых данных в MT4. Хочется обратить внимание на то, что при копировании программного кода из файла в формате PDF не сохраняется его стиль – все строки при переносе сохраняются без отступов. Так же могут быть скопированы номера страниц. Для текстовых редакторов эта проблема отсутствует.

      //+-+

      //|History.mq4 |

      //| Copyright © 2009, Andrey Dibrov. |

      //| "https://www.youtube.com/channel/UCScAAn_sRRaKHdNIxl0aI9A?view_as=subscriber"|

      //+-+

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

      #property link https://www.youtube.com/channel/UCScAAn_sRRaKHdNIxl0aI9A?view_as=subscriber

      #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.

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


Скачать книгу