ЗАО ФИНАМ, Холдинг FINAM, брокер
17:03
MSK  
   PDA Eng
+7 (495) 796 93 88 Звонок с сайта
   
О компании
О компании
Теханализ
Теханализ
Календарь статистики
Статистика
Котировки
Котировки
Экспорт
Экспорт
Графики
Графики
Теханализ
Видео
Форум
Форум
Кабинет Клиента
Кабинет Клиента
 

TRANSAQ Connector

Общее описание Тестовый доступ

Для освоения и получения навыков использования модуля Transaq Connector был разработан пример в среде SharpDevelop 3.2 на языке C#. Пример оформлен в виде приложения . exe ( Windows Application), снабжен подробными комментариями. Пример не является законченным программным продуктом и предназначен исключительно для ознакомления и самостоятельного изучения. В приложении реализовано:

  • Подключение / отключение от сервера
  • Запрос статуса сервера
  • Формирование / разбор XML структур
  • Получение данных:
    • Исторические данные
    • Клиентские счета
    • Доступные рынки
    • Информация о доступных периодах свечей
    • Список инструментов
    • Котировки по инструментам
  • Построение графика в режиме online, используя модуль MSChart
  • Простейшая стратегия, основанная на пересечении скользящих средних, генерирующая сигналы

Для запуска стратегии необходимо:

  • Подключиться к серверу
  • Выбрать инструмент
  • Выбрать таймфрейм
  • Нажать кнопку Старт

В примере намеренно введено ограничение: по факту сигнала формируется XML структура для заявки, но она не отправляется на сервер. Перед запуском приложения необходимо установить модуль MSChart.

Краткие подробности реализации:

В файле connector.cs описаны классы TXmlConnector и MarshalUTF8. Класс MarshalUTF8 является статическим и нужен для преобразования строк и для работы с библиотекой. Класс TXmlConnector – это основной класс для работы. В классе описаны функции (методы), для работы:

public String SendCommand(String command)

– эта функция (метод) передает сообщение command и возвращает сообщение результат. Это главная функция для работы.

Получаемые данные, в описанном примере, поступают в список строк

public IList<string> DataList;

Для работы надо объявить переменную типа TXmlConnector, например:

public TXmlConnector oConn;

И создать экземпляр класса:

oConn = new TXmlConnector();

Посылать команды надо будет через SendCommand, которая возвращает результат команды.

string res = oConn.SendCommand(cmd);

Для получения данных, создайте новый список. Как в примере:

DataList = new List<string> (1000);
oConn.DataList = DataList;

Теперь можно работать с этим списком – обрабатывать полученные данные. Важно отметить, что данные приходят сроками, представленных в виде xml структур. Для разбора (парсинга) этих структур используется пространство имен (namespace) Xml. Можно так же использовать LINQ – это уже выбор разработчика. Вы можете использовать файл connector.cs и класс TXmlConnector для реализации собственных приложений: посылать команды, описанные в руководстве пользователя TRANSAQ Connector, через SendCommand и получать данные от сервера, и не вдаваться в подробности реализации подключения библиотеки DLL к приложению, а сосредоточиться на вашей стратегии.

Более опытным пользователям. При получении данных вызывается callback функция, поэтому можно настроить обработку событий получения данных. В данном примере это реализовано, но закомментировано. Если раскомментировать строку:

//RaiseNewDataEvent(data);

можно будет обрабатывать данные сразу при их поступлении.

Файлы:

* Скачать Пример программы
* Скачать Проект приложения C#
Скачать модуль MSChart

Скриншоты:

Bonds.Finam.Ru
узнайте, что такое дисконтная облигация
FinamAuto.Ru Finam.Info РашкаРу www.Finam.aero