Нейросетевая торговая система. Пошаговая разработка для платформы META TRADER 4 в среде MATLAB. Сокращенное издание
Шрифт:
Предисловие
Важно! Данное издание представляет собой сокращенный вариант. Все разделы оглавления соответствую полному изданию, за исключением программных кодов основных скриптов и экспертов. Механизм работы с MATLAB+MT4 также включен в книгу. Для приобретения полного издания Вы можете связаться с автором по адресу электронной почты andreydib@yandex.ru.
Книга разрабатывалась с учетом интересов всех категорий трейдеров, а так же тех читателей, которые готовятся заняться трейдингом. Хочется обратить Ваше внимание на тот факт, что в данной книге вы не найдете никакого теоретического материала по проблемам нейросетей и самого трейдинга. В любой литературе посвященной этим двум направлениям есть список трудов различных уважаемых авторов. Мне так же хотелось бы снабдить эту книгу таким же списком. Однако, увы, я этого не могу сделать, так как максимально постарался уйти от какой либо теории и психологии, которым в основном посвящена литература о трейдинге. Однако это не значит, что в свое время я не изучал подобную литературу и, что от нее нет пользы. Вот не полный список авторов, труды которых мною изучались – Чарльз
Важно! Данная книга ориентирована на Matlab. Matlab не поставляется с этой книгой, прежде чем приступать к изучению и разработки автоматической нейросетевой системы торговли, вы должны приобрести ее отдельно и установить.
Также обращаю Ваше внимание на достоинствах нейросетевых систем как способов трейдинга. Мной разработано еще несколько систем, в том числе на основе платформы “NeuroSolutions”Видео с примерами этой системы и системы представленной в этой книге также можно посмотреть по ссылкамhttps://youtu.be/cIegQGJKbhY.
Логическое обоснование обучения нейросетей на принятие решения.
Прежде чем приступать к разработке любой торговой системы, мы задаемся вопросом – на каких принципах данная система будет функционировать? У нас есть два основополагающих принципа – использования флэтов и продолжение тенденции. Пока не будем рассматривать более узкие производные от них – внутри дневная торговля или нет, на фундаментальных данных, на новостях, на открытии рынков и т.д. Мне пришлось сталкиваться с описанием нейросетевых продуктов, где их авторы в примерах использования предлагали прогнозирование каких либо курсов – акций, валют и т.д. Приведем пример, используя платформу NeuroSolutions. Весь процесс повторять не обязательно, так как данную платформу мы в построении нашей системы использовать не будем, а я в данном случае использую ее как пример. Напишем коротенький скрипт для получения ценовых данных в MT4. Хочется обратить внимание на то, что при копировании программного кода из файла в формате PDF не сохраняется его стиль – все строки при переносе сохраняются без отступов. Так же могут быть скопированы номера страниц. Для текстовых редакторов эта проблема отсутствует.
//+–+
//| History.mq4 |
//| Copyright © 2009, Andrey Dibrov. |
//+–+
Запустив данный скрипт – в папке …MQL4/Filse каталога данных терминала, получим файл “history”.
Откроем этот файл и добавим в начале десять столбцов In1-10 и один столбец Out.
Заполним эти столбцы Данными из столбца CloseD. Как Вы уже поняли, это данные дневных закрытий.
Далее мы сдвинем эти данные в наших столбцах последовательно на одну ячейку вверх.
Таким образом, мы получим в каждой строке вектор из дневных цен закрытия с глубиной в десять дней – это будут входы нейросети. А в столбце Out, который также сдвинут на один день вперед по отношению к In10, будут обучающие примеры закрытия дня для нейросети.
С помощью надстройки NeuroSolutions, выделив столбцы In1-In10, отформатируем их как входы.
А столбец Out как выход нейросети.
Аналогичным образом разобьем нашу матрицу построчно на обучающее множество.
И множество, которое мы будем использовать для анализа.
Теперь мы сформируем файлы для программы NeuroSolutions.
Откроем NeuroSolutions и нажмем кнопку NeuralBuilder.
Выберем модель нейросети
Multilayer
Perceptron
.
Нажмем кнопку Browse…
И откроем файл с обучающими входами.
Далее откроем файл с обучающим выходом.
Определим 30% данных из тренировочного множества для перекрестной проверки в процессе обучения нейросети. Жмем кнопку Next до тех пор, пока не сформируется нейросеть.
С помощью кнопки Start и запустим процесс обучения.
После завершения процесса обучения нажмем кнопку Testing.