Как стать автором
Обновить

Торговый робот на раз-два-три и четыре. Часть 1

Написать своего первого торгового робота с нуля для торговли на рынке FORTS московской фондовой бирже можно быстро. Для проделывания работы нам понадобяться:
  • Знания языка C#
  • Роутер и клиент доступа к бирже по протоколу Plaza2
  • MS VisualStudio (2010)

Для более глубокого знакомства есть на форуме.

Этапы работ:

  1. Получение доступа к бирже
  2. Установка роутера для протокола PLAZA 2
  3. Установка торгового терминала Plazer для отладки
  4. Настройка роутера
  5. Подготовка проекта
  6. Написание адаптера
  7. Написание алгоритма робота
  8. Боевой запуск робота

В первой части проведем подготовительную работу к написанию робота. Во второй части напишем свой адаптер, в третьей разработаем алгоритм торговли и в четвертой проведем боевой запуск.

Часть 1


Получение доступа к бирже

Получаем доступ на тестовый контур торговой системы биржи. На получение доступа уйдет 1-2 дня. Для этого необходимо написать письмо на help@micex.com со следующим содержанием:
  • Фирма, которую представляет пользователь или ФИО физического лица?.
  • Цель подключения — тестирование новой версии торгового робота.
  • К какому рынку вы хотите получить доступ — FORTS.
  • Привязка логина к уровню фирмы или клиента необходима.
  • Протокол подключения — PLAZA2
  • подключение будет проходить через интернет.
  • Адрес электронной почты, на который будут высылаться отчеты о торгах, если это необходимо?

Так же можете сразу попросить в письме установить тестовый лимит денег 1 000 000р.

Установка роутера для протокола PLAZA 2

В качестве технологии доступа к бирже используем протокол PLAZA2. Все по этому протоколу можно скачать с библиотеки Plaza2. Качаем и устанавливаем P2_ClientGate (последней версии с необходимой разрядностью). Инструкция к установке находиться в файле p2gate_ru.pdf. Устанавливаем программу с роутером как локальный сервис. С установленным роутером есть примеры кода реализации подключения, создания стаканов и отправки заявок. Роутер будет работать как локальный сервис и запускаться автоматически при запуске операционной системы. Он так же может работать как сетевой сервис что позволит подключаться через него нескольким роботам запущенным на разных компьтерах. Для отладки устанавливаем его на машине где будет происходить отладка робота.

Установка торгового терминала Plazer для отладки


Для отладки будет удобен бесплатный терминал Plazer. Качаем и устанавливаем его. Терминал позволит видеть ваши заявки, сделки, лимит, стакан. В меню связь-> настройки связи указываем в качестве адреса localhost, порт 3001, логин plazer, пароль plazer. После настройки роутера запустим терминал и проверим работоспособность соединения.

Настройка роутера

После того как придет ответ от биржи с настройками подключения для роутера вводим их в файл ../Program Files/P2FORTSGate/client_router.ini. Находим соответствующие теги и вводим (вместо звезд свои данные):
[AS:NS]
; настройка имени пользователя и пароля
USERNAME=***********
PASSWORD=***********
[AS:Local]
bot1=bot1
Plazer_RFR=plazer
Plazer_OBS=plazer
Plazer_IND=plazer
Plazer_TIC=plazer
Plazer_TRN=plazer
[ROUTEINFO]
;ip адрес и порт
default=194.247.133.43:3001

Для применения настроек перезапускаем службу FORTSGATE_Router. Теперь Запускаем терминал Plazer и смотрим лимит денег, стаканы, инструменты, сделки. Доступ к торгам в тестовок контуре осуществляется согласно расписанию которое находиться в файле p2gate_ru.pdf.

Подготовка проекта

Запускаем MS VisualStudio и создаем консольный проект. К проекту добавляем ссылку на ../Program Files/P2FORTSGate/P2ClientGateMTA.dll. Один раз собираем проект и идем в папку Debug, в которую собралось приложение. Туда копируем все файлы из папки ../Program Files/P2FORTSGate/Scheme. Для разработки адаптера и робота нам все файлы не понадобяться но и не помешают. Туда же копируем фаил ../Program Files/P2FORTSGate/P2ClientGate.ini. Для того что бы убедиться что все получилось и готово к дальнейшей работе открываем фаил ../Program Files/P2FORTSGate/P2Samples/MTA/BaseClient/Src/Class1.cs вставляем куски кода в свой фаил Program. Добавляем ссылки на сборки указанные в файле.
На этом предварительная подготовка завершена. У нас есть доступ, куски кода с примерами, остаеться написать свой адаптер и алгоритм работы.

Продолжим в следующей части.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.