Главная Quikprofit twiiter Quikprofit Rss

QUIK + DDE = Быстрый торговый робот

Январь 14, 2010 | 9 комментариев

Хотите, чтобы Ваш торговый робот быстро получал данные из торгового терминала QUIK?

Можно! Наилучший способ этого достичь — научить QUIK экспортировать данные напрямую  в вашего робота!

Более того это можно  сделать, написав всего лишь пять строчек кода! Как?

Легко скажу я Вам, если использовать готовый модуль QuikDDE.

Что из себя представляет модуль QuikDDE?

Модуль QuikDDE – набор библиотек, которые позволяют программисту соединить своего торгового робота с торговым терминалом QUIK. Данный модуль написан на языке высокого уровня Microsoft C#.

QuikDDE состоит из DDE сервера, который принимает данные от QUIK и доставляет их вашему роботу в том виде, в каком они требуются.

Обратите внимание! Вам больше не потребуется использовать Excel листы для передачи данных! Скорость возрастает многократно!

Вот лишь маленький пример привода, написанного с использованием QuikDDE:

Да, это обычный стакан котировок, который в онлайн (!) режиме дублирует аналогичный стакан в Quik!

Все это стало возможно благодаря, разработанному нами,  модулю QuikDDE.

Скачать QuikDDE можно здесь: http://download.quikprofit.ru/quikdde.zip
Получать данные очень легко!

Пример:
Создание DDE сервера:

1
2
3
4
QuikDDE.ddesrv DdeServerHandler = new QuikDDE.ddesrv("QuikDDE_DEMO");
DdeServerHandler.OnPokeData += new
QuikDDE.ddesrv.DdeEventHandler(GetDDEData);
DdeServerHandler.Register();

где “QuikDDE_DEMO” — имя DDE сервера, который указывается при экспорте данных в терминале QUIK, а функция GetDDEData – функция обработки полученных данных.

GetDDEData:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void GetDDEData(object sender, QuikDDE.DdeData Data)
{
Console.WriteLine("dde data has arrived");
Console.WriteLine("Topic: " + Data.TopicName + " ; Item: " +
Data.ItemName);
for (int i = 0; i < Data.DataTable.RowsCount; i++)
{
for (int j = 0; j < Data.DataTable.ColsCount; j++)
{
Console.Write(Data.DataTable[i, j] + "; ");
}
Console.WriteLine();
}
}

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

1
2
3
4
5
6
7
8
9
10
11
private void DdeData(object sender, QuikDDE.DdeData e)
{
/// Пришли цены
if (String.Compare(("SBER03_Prices"), e.Topic, true) == 0)
{
}
/// Пришли данные о транзакциях
else if (String.Compare("Orders_Order", e.Topic, true) == 0)
{
}
}

В данном примере, мы сортируем данные, на два типа: данные о ценах (экспортируется стакан) и данные о заявках.
К слову в QuikDDE нет каких либо ограничений на кол-во экспортируемых таблиц. В наших разработках, через этот модуль принимаются данные более чем из 20 таблиц.

Понравилось? Следите за обновлениями по RSS! Также можете следить за обновлениями в Twitter.
* * * * * 1 проголосовавших

Комментарии

9 ответов to “QUIK + DDE = Быстрый торговый робот”

  1. Misha
    Март 19th, 2010 @ 21:22

    Вы сами написали этот модуль? Можете поделиться исходниками?

  2. Sergey
    Март 22nd, 2010 @ 09:53

    Модуль написан полностью нашими силами, и используется в наших разработках. Исходные коды модуля не публикуются.

  3. Алексей
    Июль 14th, 2010 @ 21:10

    Я бы купил, если:

    - есть вменяемое описание и/или примеры кода раскрывающие функционал.

    - библиотека нормально подключается и работает с Application написанным на C# (VS2008).

    Пож-та, прокомментируйте.

    Алексей

  4. Sergey
    Июль 15th, 2010 @ 08:07

    Алексей, в состав продукта входит демонстрационная программа написанная на языке C# в Visual Studio 2008.
    Библиотеки написаны на языке C# под Framework 2.0, и смогут спокойно использоваться в Ваших программах. Вы можете написать нам info@quikprofit.ru и мы Вам вышлем инструкцию от модуля, и Вы сможете оценить легкость интеграции и использования этого модуля.

  5. Штат
    Июль 23rd, 2010 @ 15:03

    Привет,
    возможно ли организовать через QuikDDE трансляцию данных с полем «Операция» Купля/Продажа в ПО МаркетДельта для тех анализа? Если нет, то интересно ли ($$$) для вас поработать над этим, готов организовать группу заинтересованных лиц,
    С уважением,
    АХ

  6. Sergey
    Июль 26th, 2010 @ 09:00

    Добрый день.

    Нет, QuikDDE не может быть использован для экспорта данных в МаркетДельта. В МаркетДельта нет возможности импорта с использованием механизма DDE.
    По поводу разработки, опишите подробнее, что именно Вы хотите экспортировать в МаркетДельта. Описание вышлите нам на email: info@quikprofit.ru.

  7. Дмитрий
    Апрель 11th, 2011 @ 12:59

    Огромное спасибо за пример! Всё замечетельно работает в С#. Недавно сделал оповещение с отправкой СМС сообщений (с информацией о завершенных сделках), Вы не представляее как помог этот прмимер!

  8. adolf
    Апрель 19th, 2011 @ 23:28

    Вопрос КвикДДЕ — может только получать данные из Квика? Или с помощью библиотеки можно и отправить данные в квик, постановка заявок на покупку/продажу, например?

  9. Sergey
    Апрель 20th, 2011 @ 07:10

    Да, он работает только на прием данных.

Оставить комментарий





Поля помеченные (*) обязательны к заполнению

Страница 1 из 11
  • Меню

  • Облако тегов

  • Рубрики

  • Для пользователя