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

Чтение книги онлайн.

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

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

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

target="_blank" rel="nofollow" href="#_47.jpg"/>

      В результате работы скрипта мы получим в папке /MQL4/Files каталога данных MT4 два файла In.csv и Out.csv. Исходя из имен этих файлов – первый является файлом входов нейросети. Выборку данных мы делаем с использованием технического индикатора Bollinger Bands. Т.е. записываем значения индикаторов с глубиной три часа в момент, когда максимум часа выше средней линии, а минимум ниже. Также максимум и минимум предыдущего часа либо одновременно выше средней линии или ниже. Файл Out.csv – файл, в который мы записали, соответственно с использованием индикатора Bollinger Bands выборку разницы закрытия дня и открытия текущего часа. Таким образом, мы тренируем нейросеть на направление движения цены и ее амплитуду. Эти данные мы записываем с помощью скрипта, так как нам необходимы значения (закрытие дня), которые с помощью эксперта мы записать не сможем. А вот для того, что бы получить достоверный результат при тестировании нейросети – тестовое множество нам надо записать с помощью эксперта.

      Запустим в тестере стратегий эксперт “ExpertPrimer”, как показано на рисунке выше.

      //+–+

      //| ExpertPrimer.mq4 |

      //| Copyright © 2019, Andrey Dibrov. |

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

      //+–+

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

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

      extern string DateTren="2004.07.01 00:00";

      extern string DateTest="2010.12.31 23:00";

      int handleTest=FileOpen("Test.csv",FILE_TXT|FILE_WRITE|FILE_SHARE_READ,";");

      int handleDate=FileOpen("Date.csv",FILE_TXT|FILE_WRITE|FILE_SHARE_READ,";");

      //+–+

      //| Expert initialization function |

      //+–+

      int OnInit()

      {

      //–

      //–

      return(INIT_SUCCEEDED);

      }

      //+–+

      //| Expert deinitialization function |

      //+–+

      void OnDeinit(const int reason)

      {

      //–

      FileClose(handleTest);

      FileClose(handleDate);

      }

      //+–+

      //| Expert tick function |

      //+–+

      void OnTick()

      {

      //–

      string Date=TimeToStr(iTime(NULL,0,0));

      if(handleTest>0 && handleDate>0 && DateTest<Date)

      {

      FileWrite(handleTest,

      iWPR(NULL,0,14,3),

      iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,3),

      iRVI(NULL,0,10,MODE_MAIN,3),

      iRSI(NULL,0,14,PRICE_CLOSE,3),

      iOsMA(NULL,0,12,26,9,PRICE_CLOSE,3),

      iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,3),

      iWPR(NULL,0,14,2),

      iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,2),

      iRVI(NULL,0,10,MODE_MAIN,2),

      iRSI(NULL,0,14,PRICE_CLOSE,2),

      iOsMA(NULL,0,12,26,9,PRICE_CLOSE,2),

      iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2),

      iWPR(NULL,0,14,1),

      iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,1),

      iRVI(NULL,0,10,MODE_MAIN,1),

      iRSI(NULL,0,14,PRICE_CLOSE,1),

      iOsMA(NULL,0,12,26,9,PRICE_CLOSE,1),

      iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1),

      iWPR(NULL,0,14,0),

      iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,0),

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