.
Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов
Автор megabax   
24.10.2011 г.
Структура программы на примере простейшей программы

  Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Исходники к уроку можно скачать в платном разделе.

 

Сегодня мы соединим нейросеть (см урок 2 и урок 4) и биржевой симулятор (см. урок 1 и урок 3). В прилагаемых к уроку исходниках содержится новая версия нейросети с возможностью эмулировать совершения сделок на бирже.

И так, по порядку о нововведениях.

При выборе пункта меню "Входы" -> "Источники котировок":

Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов

 

открывается окно редактирования списка доступных бумаг:

Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов

 

Если мы откроем код, вызываемый по кнопочке "Добавить", то увидим вот такие строки...

...

 

... У нас откроется окно настройки параметров расчета, в котором надо ввести номер начальной свечи (с которой будем рассчитывать) и файл, куда выведем итоги расчета (историю изменения стоимости портфеля и свободных денежных средств):

 

Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов

 

Результат расчета будет выведен в текстовый файл с разделителями:

Пишем биржевого робота на C#. Урок 5. Соединение нейросети с эмулятором биржевых торгов

 

Теперь немного комментариев к процедуре расчета нейросети. И так, когда вы нажимаете кнопочку рассчитать, вызывается вот такой код...

 

...

 

... и так, как же это все работает? В цикле происходит расчет нейронной сети, затем, при ее выходные сигналы, согласно установленным связям, идут на вход торгового устройства (метод  set.Compute(source,_device)). Затем мы переходим к следующей свече источника котировок (метод source.next()), после чего применяем полученные сигналы (метод  _device.SetSignal()). Процедура SetSignal() как раз и выполняет действия по посылке в систему ордеров через интерфейс ITerminalDriver. Сейчас у нас к нему подключен эмулятор, но если написать класс, который работает с реальным торговым терминалом, и подключить его через ITerminalDriver, то робот будет совершать реальные сделки.

 

 

 

Последнее обновление ( 18.01.2013 г. )