SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Всем добрый день.
Меня всегда интересовала возможность подключения непосредственно к серверу Quik без использования клиента info.exe (стандартное клиентское место). Как выяснилось это не так сложно как казалось +)
Ниже детали по моему тестовому клиенту, возможности: - использование для подключения прокси сервера; - получение списка классов; - получение списка финансовых инстументов; - получение истории котировок по финансовому инструменту; - получение таблицы всех сделок; - получение стакана по выбранным инструментам; - получение заголовков новостей; - получение деталей по выбранной новости; - получение обновляемой таблицы лимитов по деньгам; - получение обновляемой таблицы по фин. инструментам; - получение обновляемой таблицы ордеров (заявок); - получение обновляемой таблицы сделок; - получение таблица привязки торгового счета к коду брокера; - получение таблица привязки торгового счета к классам фин. инструментов; - выставление ордеров; - отмена ордеров; - выставление стоп-ордеров; - отмена стоп-ордеров;
классы:
 новости:
 все сделки:

Вообще, при общении клиента и сервера используется около 400 сообщений, поэтому клиент может использовать (принимать) всю информацию, которой располагает сервер +)
PS в идеале хочется сделать COM-exe сервер, встраиваемый в любое пользовательское приложение. как вариант подключить QuantDeveloper или MC непосредственно к серверу Quik... от было бы забавно +)
-------------------- The fastest way to make dreams come true is to wake up!!!
Редактировано SGN (02/12/2010 10:53)
|
Pawel
Душа форума
  
Зарегистрирован: 19/03/2007
Сообщений: 410
Нахождение: Москва
|
|
Григорий, приветсвую! Сколько ж в вас энергии!))) Можете ознакомить с деталями?
-------------------- Как соорудить МТС?
1) Ищем здравую техническую идею
2) Кодируем
3) Меняем условия входа/выхода местами - получаем профитную систему)
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Pawel, привет! Подробности будут позднее, но для начала, скажу, что все что нужно для подсоединения к серверу это: - qrypto32.dll - Qrypto32_Pr.dll - SecProv.dll - wt_de.dll - wt_dtcp.dll - qrypto.cfg
Далее используются "код" брокера, ваш логин, пароль и сгенерированные ключи.
Работа только в самом начале, но думаю, что разработчикам Quik'а уже сейчас пора задуматься о написании нормально API, иначе мы все сделаем за них... +)
PS Хотя можно переписать и wt_de.dll и SecProv.dll, но это пока не очень нужно +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Pawel
Душа форума
  
Зарегистрирован: 19/03/2007
Сообщений: 410
Нахождение: Москва
|
|
Я думаю, вы скоро научитесь вечные деньги делать на счете))
В ответ на :
разработчикам Quik'а уже сейчас пора задуматься о написани нормально API, иначе мы все сделаем за них
Имхо, вряд ли они будут открывать АПИ, поскольку сами занимаются вопросами интеграции своих продуктов за хорошую денежку  А какова стабильность ваших разработок в случае обновлений используемых длл-ок?
-------------------- Как соорудить МТС?
1) Ищем здравую техническую идею
2) Кодируем
3) Меняем условия входа/выхода местами - получаем профитную систему)
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Pawel Важный момент, НИКАКИХ хаков при использовании указанных библиотек НЕ используется! Только "официально" экспортируемые функции. Собственно только те функции, которые использует сам info.exe.
Хотя таблицу экспорта и можно "спрятать", но мы ее всегда сможем найти +)
И еще... у меня нет задачи взломать сервер (хотя мест для проверки переполнения буфера предостаточно) +) Совсем наоборот, хочется сделать мега стабильный клиент, не забивающий трафиком канал между брокером и клиентом!
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Pawel
Душа форума
  
Зарегистрирован: 19/03/2007
Сообщений: 410
Нахождение: Москва
|
|
Григорий
В ответ на :
хочется сделать мега стабильный клиент, не забивающий трафиком канал между брокером и клиентом
Согласен с вами. Это основная цель как минимум у большинства участников рынка - иметь стабильное техническое решение. Вопрос в том, что список экспортируемых фукций может менятся в длл-ках и следовательно обращение к ним от info.exe. Поскольку это все хозяйство - для внутреннего пользования, то разработчики не будут уведомлять об этом пользователей квика, поскольку обновление терминала будет происходить пачкой и наружу для пользователя функционал не изменится (по крайней мере без уведомления)
-------------------- Как соорудить МТС?
1) Ищем здравую техническую идею
2) Кодируем
3) Меняем условия входа/выхода местами - получаем профитную систему)
|
Mikhail Sukhov
на митинги ходят враги моей страны
 
Зарегистрирован: 21/02/2010
Сообщений: 605
|
|
В ответ на :
SGN писал: Важный момент, НИКАКИХ хаков при использовании указанных библиотек НЕ используется!
А экспорт недокументированных возможностей - это уже не хак? 
Не совсем понятен смысл такой разработки (я про собственный терминал и возня в набором ддл-ек). Есть Плаза 2 доступ (доступные цены и возможности), который:
1. Быстрее. 2. Стабильнее. 3. Независимый. 4. Официальный. 5. Проще.
При том, что требует время на порядок меньше, чем все то, что Вы выше написали. Брокер не дает доступ к Плазе? Меняйте брокера.
-------------------- Stock# - платформа для торговых роботов и создание торговых роботов.
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Pawel Я сам приверженет только стабильных решений, причем готов платить за подобные решения деньги.
Все кто начинал реверсить Quik согласятся со мной, что принципиально менять ахритектуру работы клиента с сервером (с использованием провайдера wt_de.dll возможно, но очень мало вероятно. +)
Ведь придется менять весь протокол общения, а он к счастью для нас сложный и просто так за месяц, другой, не меняется. Это как если банку "очень быстро пересесть" с Афины или Юнисаба на, скажем, ИБСО +)
А роль указанных библиотек, опять же, к счастью для нас, очень утилитарна: принять, отправить, зашифровать, расшифровать +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Mikhail Sukhov
А экспорт недокументированных возможностей
хахахахах +)
Брокер не дает доступ к Плазе? Меняйте брокера.
а я о пользователях, работающих как физ лица, с акциями и облигациями. Ведь не все работают только на Фортсе +) да и вообще... работать с разными рынками одним клиентом дорогого стоит +)
Хотя API подключения к шлюзу ММВБ открыт (Teap.exe, tsmr.dll, mtesrl.dll) использовать его мы, увы, не можем +)
для нашего банка я недавно закончил агента работающего со шлюзом ММВБ "по новым интерфейсам" и должет признать, что разработчики шлюзового API монстры!
А вообще, что-то мне подсказывает, что тема прямого подключения к Quik будет ну о-о-о-очень интересна... +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Mikhail Sukhov
на митинги ходят враги моей страны
 
Зарегистрирован: 21/02/2010
Сообщений: 605
|
|
В ответ на :
SGN писал: Ведь не все работают только на Фортсе +)
Да, согласен, упустил момент.
В ответ на :
SGN писал: Хотя API подключения к шлюзу ММВБ открыт (Teap.exe, tsmr.dll, mtesrl.dll) использовать его мы, увы, не можем +) Хотя для нашего банка я недавно закончил агента работающего со шлюзом ММВБ "по новым интерфесам" и должет признать, что разработчики шлюзового API монстры!
А разве они новую версию не написали шлюза?
В ответ на :
SGN писал: А вообще, что-то мне подсказывает, что тема прямого подключения к Quik будет ну о-о-о-очень интересна... +)
И мне в том числе. Но не хаканием сервера Квика.
-------------------- Stock# - платформа для торговых роботов и создание торговых роботов.
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Mikhail Sukhov
Не шлюза, а интерфейса, который, впрочем, давно уже в работе, просто мы "модернизировались" только недавно +)
Но не хаканием сервера Квика.
хахахахахах +)
Михаил, Вы великолепны! А главное очень внимательно читаете мои посты +) Я конечно понимаю, что реверсинг дело сложное, и в чем-то сокральное... Но вот вы только представьте что домохозяйка Зинаида Ювинальевна думает о вашем S#? "не инече как мажчина хакает биржу!" +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Mikhail Sukhov
на митинги ходят враги моей страны
 
Зарегистрирован: 21/02/2010
Сообщений: 605
|
|
В ответ на :
SGN писал: Mikhail Sukhov
Не шлюза, а интерфейса, который, впрочем, давно уже в работе, просто мы "модернизировались" только недавно +)
Но не хаканием сервера Квика.
хахахахахах +)
Михаил, Вы великолепны! А главное очень внимательно читаете мои посты +) Я конечно понимаю, что реверсинг дело сложное, и в чем-то сокральное... Но вот вы только представьте что домохозяйка Зинаида Ювинальевна думает о вашем S#? "не инече как мажчина хакает биржу!" +)
Мда, я удаляюсь.
-------------------- Stock# - платформа для торговых роботов и создание торговых роботов.
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Запрос истории по финансовому инструменту:
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Spacebar
Генерал
  
Зарегистрирован: 02/07/2007
Сообщений: 1536
Нахождение: Московская область
|
|
Вот это да. Григорий, мегареспект! Это ж какие перспективы открываются, подумать страшно. Так, где мой старый добрый Depends, посмотрим, что они экспортируют
|
Asd
Генерал
  
Зарегистрирован: 05/04/2003
Сообщений: 1756
Нахождение: Гондурас
|
|
SGN Ну а допустим с отправкой ордеров как, Квик все равно подключен должен быть ?
И что допустим случится, если какая нибудь замечательная программа при этом будет делать запросы в обход Квика как думаете, в Квик то это наверно формально польется, в том плане это для него как-то неожиданно будет ?
Ps. Вобще мне кажется это все очень тонкие материи для финансового софта, так как можно попасть если Квику(вцам) чего-то взбрендит в голову поменять, а депо при этом реальное. Например срабатывание Стопа не на ГП а на каком нибудь ГазоМясе маркетом по малоликвиду, после обновления версии Квика
|
Spacebar
Генерал
  
Зарегистрирован: 02/07/2007
Сообщений: 1536
Нахождение: Московская область
|
|
Штука-то в том, что если после обновления версии сработает стоп по газомясу, он сработает у всех, кто еще не обновил квик. На это квиковцы не пойдут однозначно.
На первый взгляд интерфейс достаточно просто выглядит. Что ж, обернем длл, поглядим, как оно работает. Похоже, квиковцам придется делать апи
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Друзья...
я еще раз повторяю, что мой клиент работает по протоколу Quik'а. Все что мой клиент отправляет на сервер, а это может быть ровно то, что отправляет оригинальный клиент, воспринимается сервером как руководство к действию, так как (я надеюсь +) ) сервер НЕ различает, что общается с "поддельным" клиентом +)
Выставлять все виды ордеров, поддерживаемые оригинальной версией (правильнее говорить серверной частью) конечто же можно +)
Вот возьмем Вас, Asd, Вы понимаете, что такое протокол работы промышленной системы вроде Quik? Прежде чем отвечать, очень вас прошу, посмотрите RFC4006 и RFC3588, описывающие телекомуникационный протокол diameter, который в чем-то похож на протокол общения Quik'a.
Можно изменить алгоритм шифрования, можно заменить транспорт (к примеру использовать SCTP), но очень сложно изменить словарь протокола и формат сообщений.
Это, учитывая стиль написания info.exe, все равно как написать совершенно новую версию Quik'а: возможно, но мало вероятно.
Spacebar, привет!
Так я не говорю, что там что-то сложное +)
PS при работе альтернативного клиента, никаких других (Боже прости меня) клиентов НЕ требуется +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Asd
Генерал
  
Зарегистрирован: 05/04/2003
Сообщений: 1756
Нахождение: Гондурас
|
|
Если взять меня, то я ламер в этом вопросе, поитому и спрашиваю что может быть, так как надо учесть что допустим таже МЧ не будет переписывать адаптер к Квику каждый квартал 
А так вобще мне кажется что Квик будет защищаться от распостранения вашей технологии подключения, так как она будет подрывать их FIX небесплатные услуги, хотя я естественно на нашей трейдерской стороне и за качественные связки с Квиком !
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Мой прогноз: разработчики будут очень недовольны, но мало что смогут противопоставить. Все слишком запущено +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Reeng
Гость
   
Зарегистрирован: 21/06/2006
Сообщений: 19
|
|
На самом деле API существует уже давно, реализован в виде "QuikApi.dll" и используется в таких продуктах, как "Colibri", "TrustManager", "QuikExport" и др. Для подключения через QuikApi клиент должен быть зарегистрирован на сервере брокера как "Api клиентского места". Я думаю что разработчики не заинтересованы в появлении альтернативных приложений и не будут открывать API. Скорее всего они будут боротся с нелегальными подключениями, например добавят в протокол сообщения, на которые мы не сможем корректно ответить и получим дисконнект, при этом поддержка предыдущих версий протокола будет прекращена. Или для начала будут отслеживать на сколько "полно" используется протокол, что добавит проблем тому, кто захочет замаскироваться под "info.exe".
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Reeng, разработчики уже попытались добавить "сообщения, на которые мы не сможем корректно ответить". Обратите внимание, как в существующих версиях info.exe и wt_de.dll, проверяется валидность клиентского места (хотя ,возможно, это просто реализация мега красивого решения по проверки клиенского места)... Используя код info.exe, мы всегда сможем дать достойный ответ +)
К сожалению, у меня нет ни "QuikApi.dll", ни "Colibri", "TrustManager", "QuikExport" поэтому о них ничего сказать не могу... Но у нас есть info.exe, в котором все четко прописано +) Подозреваю, что разбираться с QuikApi.dll еще проще...
Вообще, очень сложно (как мне кажется) что-то координально менять в протоколе с которым работает много разных версий info.exe, да и есть программки, вроде "Colibri", "TrustManager", "QuikExport" +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Spacebar
Генерал
  
Зарегистрирован: 02/07/2007
Сообщений: 1536
Нахождение: Московская область
|
|
SGN Спасибо за RFC.
А раз есть QuikApi.dll, может быть, возможно ее раздобыть и слегка подкорректировать, чтобы коннектилась она как info.exe? И тогда вопрос совместимости отпадает в принципе, а мы получаем "решение от производителя", хотя и вопреки его желанию
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Spacebar Немного смущает необходимость регистрироваться как "Api клиентского места". Вдруг, простому смертному (или бесплатному смертному) это сделать невозможно?
-------------------- The fastest way to make dreams come true is to wake up!!!
|
Spacebar
Генерал
  
Зарегистрирован: 02/07/2007
Сообщений: 1536
Нахождение: Московская область
|
|
Так нет, я же говорю - подправить ее, чтобы представлялась серверу обычным квиком. Там наверняка в паре строчек отличие. Может быть даже текстовых.
|
Reeng
Гость
   
Зарегистрирован: 21/06/2006
Сообщений: 19
|
|
Если у кого-то есть желание посмотреть в QuikApi, можете взять его на сайте разработчика, например ftp://ftp.quik.ru/public/TrustManager_1.7.3.298.rar или ftp://ftp.quik.ru/public/FIX_3.0.rar
|
Reeng
Гость
   
Зарегистрирован: 21/06/2006
Сообщений: 19
|
|
Легальным пользователем QuikApi может стать любой pubring.txk, достаточно поставить одну галочку в нужном месте в БО брокера. Наверное для этого нужен "знакомый" брокер.
Редактировано SGN (27/11/2010 13:23)
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
Reeng, спасибо. Не поленюсь и в понедельник поговорю со своим брокером +)
-------------------- The fastest way to make dreams come true is to wake up!!!
|
twilight
Свой человек
 
Зарегистрирован: 12/10/2006
Сообщений: 182
Нахождение: Moscow
|
|
В ответ на :
SGN писал:
Хотя API подключения к шлюзу ММВБ открыт (Teap.exe, tsmr.dll, mtesrl.dll) использовать его мы, увы, не можем +)
Ну это временное явление... "Идея реализации продукта состоит в замене mtesrl.dll производства ММВБ на свою библиотеку, повторяющую интерфейс один-в-один, таким образом, чтобы приложение, разработанное для работы с ТС ММВБ, было способно без изменений работать с разработанной нами dll." http://robot.zerich.ru/trading_robots/professional/fbmmvb.php
|
SGN
Профессор
  
Зарегистрирован: 23/06/2004
Сообщений: 2265
Нахождение: Нижний Новгород
|
|
twilight, приветствую.
Ребята из Цериха создают некоторый задел на будущее, но только в случае если ММВБ позволит физ. лицам подсоединяться к их шлюзу напрямую. (понятно что они полностью подменяют или эмулируют функционал mtesrl.dll) По моему личному опыту общения с разработчиками шлюза, в обозримом будущем прямой доступ к биржевому шлюзу физ. лицам не дадут... +) При этом никто не запрещает проф. участникам рынка как угодно (в рамках соглашений с ММВБ) использовать свое подключение в бирже. К примеру, как Церих, позволять своим клиентам транслировать запросы и транзакции через свой собственный шлюзик (и далее через стандартный ммвбшный шлюз) на биржу.
Интересно, а сколько стоит такая услуга для клиентов Церих Кэпитал?
-------------------- The fastest way to make dreams come true is to wake up!!!
|
twilight
Свой человек
 
Зарегистрирован: 12/10/2006
Сообщений: 182
Нахождение: Moscow
|
|
В ответ на :
SGN писал: twilight, приветствую.
Интересно, а сколько стоит такая услуга для клиентов Церих Кэпитал?
Пока можно только тестировать. http://zerich.ru/news/company/120653/
Но если посмотреть сюда - то похоже на "бесплатно"( в отличие от плазы ЭТО привязано к брокеру). http://robot.zerich.ru/trading_robots/professional/
PS. Церих сочинил еще вот это: http://robot.zerich.ru/trading_robots/professional/sdk.php Возможно у арбитражеров и найдет спрос, но в моем понимании данные с конкретной российской биржи составляют только 10% от необходимого. Как остальные 90% впихивать в этот SDK пока непонятно...
|