Нейросетевая торговая система. Пошаговая разработка для платформы Meta Trader 4 в среде MATLAB. Сокращенное издание. Андрей Дибров. Читать онлайн. Newlib. NEWLIB.NET

Автор: Андрей Дибров
Издательство: Издательские решения
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 0
isbn: 9785449389770
Скачать книгу
Какой из вариантов мы сможем реализовать зависит от того как мы будем обучать нейросеть. И согласитесь, что третий вариант реализовать все-таки легче. Если во втором – мы будем использовать, какую либо информацию с прицелом на получение результата на следующий день – его закрытия (день выбран как пример, естественно может быть какой либо другой период), то в третьем варианте мы используем информацию, пришедшую за шаг до принятия решения – куда двинется цена в этот момент времени.

      Критические ошибки при разработке нейросетевой системы

      Рассмотрим, на примере как допускаются ошибки при тестировании нейросети. Если у вас нет программы «NeuroSolutions 6», то пропустите дальнейшее описание работы с ней, а рассмотрите результаты и сделанные выводы. В этой книге я не буду рассматривать создание системы на основе «NeuroSolutions». Хотя в принципе, автоматическая нейросетевая система реализована и на основе данного продукта.

      Отметим, что следует понимать разницу между обучением и тестированием. Обучать нейросеть можно на любых примерах даже, некорректных для тестового множества – ведь обучение мы проводим на событиях, которые уже произошли. Данный пример взят из реальной жизни. Данный способ работы с нейросетями продавался в интернете. Позиционировался как система, которая дает 80—90% прибыльных сделок. Причем продавец, мне кажется, искренне заблуждался в идеальной результативности данного способа подготовки нейросети. Я делаю этот вывод из того, что ошибка возникала на стадии тестирования отклика сети.

      Итак, сначала модернизируем и скомпилируем скрипт для получения исторических данных.

      //+ – — – — – — – — – — – — – — – — – — – — – — – — – — – +

      //| History.mq4 |

      //| Copyright © 2009, Andrey Dibrov. |

      //+ – — – — – — – — – — – — – — – — – — – — – — – — – — – +

      #property copyright «Copyright © 2009, Andrey Dibrov.»

      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,60,iBarShift (NULL,1440,iTime (NULL,60,i))),

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

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

      iClose (NULL,60,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);

      }

      //+ – — – — – — – — – — – — – — – — – — – — – — – — – — – +

      В результате работы скрипта получим файл. Создадим колонку «In» и заполним ее формулой.

      Добавим колонку «Out» и заполним ее формулой.

      Воспользуемся