Truf (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Автологин
 
Цитата
swerg пишет:
Цитата
Антон Иволгин пишет:
Мне лично кажется странным - почему каждый раз здесь набрасываются на предложения пользователей, если нам нужна такая опция
Слышал, что службы безопасности брокеров часто против в принципе наличия хоть какой-то возможности автологина.
Я так понимаю, что если Imersio Arrigo прав, то эта возможность уже реализована. Просто программное ее использование неудобно.
Я в финаме только что двухфакторную аутентификацию quik'а отключил просто подав поручение через личный кабинет на сайте - никаких препятствий.

Имхо, если брокеры против - то им просто нужно дать контроль за этой фичей. К примеру, при подключении может передаваться флаг о том, что оно осуществляется автоматически. Если брокер против - пусть refuse'ит подключение по дефолту. А когда юзеры его задолбят, он также будет брать подписку о том, что юзер сам этого хочет, и включать возможность автологина персонально.
Корректность тиковых данных
 
Цитата
bondar пишет:
это ТВС квика по SiZ5 отфильтрованная cкопированна с терминала в текстовый файл
Сразу оговорюсь, что использую Quik 7.0.0.289 и таблицу обезличенных сделок. Как я понимаю, это и есть переименованная ТВС. По кр мере они в LUA дергают одну и ту же функцию OnAllTrade.

Я сравнил ~3х часовой отрезок, выгруженный в Excel по DDE из моего терминала, и он не сошелся. Я получаю примерно в 6 раз меньше тиков по всем инструментам и в 10 раз, если брать один SiZ5. У меня в среднем 4 тика в секунду проходит. Скорее всего это связано с тем, что я ковыряю данные с учебного сервера ФИНАМа (QuikJunior). Это же ответ на:
Цитата
Eugene пишет:
о каких брокерах идёт речь?
Зарезать тиковые данные на учебном сервере в принципе - логично. Это уменьшит нагрузку и не даст бесплатно собирать исторические данные. Нужно будет по-человечески оформится у них и попробовать все это же на нормальном боевом сервере.

И на свой же вопрос

Цитата
Truf пишет:
на каком основании Quik присваивает тику операцию (Buy\Sell)
нашел такой ответ:

Цитата
читаем в руководстве: "Направленность заявки, инициирующей заключение сделки: «Купля» - заключена сделка путем выставления заявки на покупку против находящейся в торговой системе котировки на продажу, «Продажа» - заключена сделка по заявке на продажу. Для рынка FORTS направленность заявки, инициирующей заключение сделки, определяется направлением исполнившейся заявки с меньшим номером.". Крайняя фраза конечно доставляет ("направленность заявки, инициирующей заключение сделки, определяется...")- определяется она тем кто ее таки выставил))). Ну если серьезно - на ФОРТСе чья заявка была раньше выставлена - такова и направленность сделки.
отсюда. Там же спор о значимости этих данных.
Корректность тиковых данных
 
Цитата
bondar пишет:
Спасибо за ссылку, я проверил, результаты довольно благоприятные
Это отличный результат. Я проверил - файлы сходятся. Возможно, зря я переживал и ввели меня в заблуждение несистемные сделки. Но, вроде, я ориентировался на время сделки и сравнивал RTS с тем, что нападало мне в таблицу QUIKа за день. Сегодня еще раз постараюсь посмотреть именно на эти данные QUIK'а.

Я же правильно понимаю, что quik.csv - это полученные с сервера через quik исторические данные, экспортированные в файл? Или они прямо с сайта где-то доступны?

И совсем глупый, неотносящийся к теме, вопрос в зал -  никто не подскажет, на каком основании Quik присваивает тику операцию (Buy\Sell)?
Корректность тиковых данных
 
Цитата
bondar пишет:
Цитата
Truf пишет:
А у RTS приблизительно 1.5 млн тиков.

В общем, надо посмотреть, поразглядывать. Отпишусь потом по результатам.
Если не сложно можно ссылку на конкретный архив где Вы отыскали ленту(ТВС) SiZ5 за вчера(10.12.15), я бы тоже хотел поразглядывать, не могу найти у них на фтп, там где 1.5 мио тиков (((
Надо бы четко сравнить по количеству и значениям
Такое большое расхождение конечно не дело((( Возможно в "чистом" потоке есть некие дополнительные "тики" внесистемные сделки или что то служебное
http://ftp.micex.com/pub/info/stats/history/F/2015/FT151210.zip
Там 151210ft.csv внутри. Я вчера грубо оценил кол-во внесистемных сделок - их там 6-7 тыс. Будет время - сегодня посмотрю детальнее.
Хочу заметить, что они пихают в эти данные вечернюю сессию предыдущего дня. Сначала идут тики с 19.00 до 22:00 предыдущего дня, потом с 10:00 до 18:45 текущего. А вечерняя сессия попадает в файл следующего дня. Сами файлы публикуются ежедневно в 19:01.
Корректность тиковых данных
 
Заранее пардон за тупые вопросы - я только начал разбираться.
Ок. Если у вас есть тестовый сервер, то у вас есть как минимум один такой программно - аппаратный интерфейс. Или доступ к нему, если он в собственности биржи. Вот вы продали брокеру QUIK со всеми необходимыми модулями. Или подарили. Развернули у него сервер QUIK. Дальше он САМ идет на биржу подключаться (или использует уже имеющееся СВОЕ подключение к своему программно - аппаратному интерфейсу)? Или он идет подключаться к ВАШЕМУ программно - аппаратному интерфейсу? Или и так и так может быть в зависимости от желания брокера?

Или этот программно - аппаратные интерфейс не стандартный Plaza2 и пр., а ваша собственная (с биржей) разработка, специально сделанная под Quik? И тогда, полюбому к вам с логами приходить. Или даже в этом случае сервер quik может и по Plaza2 к бирже быть подключен, и тогда вы можете быть не причем?

Просто, если я сейчас получу логи с сервера брокера, и они совпадут с тем, что на моем терминале, то брокер скажет, что он что получает, то и ретранслирует. А затем пошлет меня с этими логами либо на биржу, либо к вам, как поставщику данных, либо к вам же, как обслуживающим специфичный для QUIK "программно - аппаратные интерфейс". Вот интересно, к кому?
Корректность тиковых данных
 
Цитата
bondar пишет:
Да было бы неплохо посравнивать ленты, стаканы у разных брокеров, вряд ли кто то будет химичить с этим как на форексе, но всё же…
На данном этапе лично меня химичание брокеров не сильно интересует. Просто, есть большой архив тиковых данных по ФОРТС в открытом доступе из наиболее доверенного, как мне кажется, источника - это ftp'шник самого RTS, на который я сослался в первом посте. Это - отличный источник данных для различных статистических исследований и машинного обучения. И вот именно он сильно не похож, на то, что я увидел в QUIK. Нужно будет еще посидеть, подумать и оценить на сколько, а также почему.

Если мы сравним данные QUIK'ов разных брокеров - мы может быть и увидим небольшую разницу. Но их разница с тем, что лежит на сервере RTS в разы больше и она никак не может быть объяснена химичанием. Я боюсь напороться например на то, что биржа сплитит или объединяет сделки по тикам и выдает их брокерам в таком виде, а себе в архив пишет как было на самом деле. Или наоборот - брокер получает как на самом деле, а архив RTS постобработан. И встанет вопрос о том, что данные с фтп'шника RTS, будь они 100 раз правильнее данных в терминалах, в исследованиях использоваться не могут, т.к. расходятся с практикой. Например:
Цитата
_sk_ пишет:
По количеству строк сходится (700 716 тиков).
А у RTS приблизительно 1.5 млн тиков.

В общем, надо посмотреть, поразглядывать. Отпишусь потом по результатам.
Корректность тиковых данных
 
Цитата
Egor Zaytsev пишет:
решать на стороне брокера.
Смотреть, какие данные приходят с биржи и какие попадают в QUIK
Правильно ли я понимаю, что когда вы поставляете QUIK брокеру, он его подключает к бирже сам, через свой канал. У вас же тоже есть свой сервер и свое подключение, которое используется для построения как минимум архива графиков. Т.о. если данные не согласуются в таблице обезличенных сделок - то это проблема брокера, если с историческими графиками - то проблема у вас?
Корректность тиковых данных
 
Решил сверить тиковые данные RTS с тем, что приходит через финамовский QUIK. Смотрю на тикер SVZ5. Они не очень хорошо согласуются.

Кто вообще отвечает за корректность тиковых данных? Их предоставляют ваши сервера или у брокеров свой канал к бирже? Если вы, то имеется ли у брокера техническая возможность докрутить свой дополнительный метчинг сделок от своих клиентов, исполнять их не выводя на биржу и добавлять результаты к потоку данных с биржи? (в логах QUIK могут быть сделки, которых нет в тиковых данных на бирже?). И наоборот, чем можно объяснить то, что в тиковых данных биржи сделка есть, а в QUIK'е ее нет и близко.
Автологин
 
Цитата
Imersio Arrigo пишет:
Цитата
Truf пишет:
Оно из всех костылей наиболее элегантное, имхо.
Это - на ваш взгляд. У других людей может иметься мнение отличное от вашего. бгг.

У меня стоит галочка "автоматически восстанавливать", а запускается квик простеньким VB-скриптом, к-й стартует приложение и проводит логин.
И все. больше никаких заморочек. Ни с lua, ни "с w32 модулем".

И мне мое решение "из всех костылей" кажется наиболее элегантным.
Вы знаете, что такое "имхо"?
LUA скрипт исполняется интерпретатором из поставки Quik'а. DLL-ка - штатный wrapper win32-функций для LUA, которую можно скачать с оф сайта. По сути всю работу делает сам QUIK постоянно сам себя авторизовывая по мере необходимости.
Ваше решение требует Windows Script Host для исполнения. И, например, мне под Wine на Linux'e только его до полного зоопарка не хватало. И если я уже использую LUA для экспорта тиков и всякого, то логичнее его же использовать и для прочей автоматизации. А еще логичнее - дать LUA API, предложенное в пункте 2, чтобы Windows из этой цепочки убрать совсем.
Автологин
 
Цитата
Imersio Arrigo пишет:
Цитата
Валентин пишет:
а если в процессе работы произошел обрыв соединения?
А если обрыв - то есть настройка "автоматически восстанавливать соединение" :)
Я советую решение, на которое я ссылаюсь во втором посте этого треда. Оно из всех костылей наиболее элегантное, имхо. Хотя, принцип работы тот же. Это LUA скрипт и dll библиотека к нему. Кладете dll в папку quik. Сохраняете скрипт в текстовом файле с расширением lua там же. Меняете в нем логин и пароль на свои. Добавляете скрипт в Quik через Services\Lua scripts  и запускаете там же один раз. После рестарта программы он будет запускаться автоматически (пока вручную не остановите).
Автологин
 
Цитата
green_X5 пишет:
Нет, это дело не пользователя, когда пользователь проcepит деньги и подаст в суд на разработчика за такую дыру в безопасности.
По вашему, функция "Запомнить меня на этом сайте", реализуемая в любом браузере и не отличающая фейсбук от интернет-банка - дыра в безопасности? И можно гугл с файерфоксом засуживать?
Пара функциий в Trans2quik
 
Цитата
s_mike@rambler.ru пишет:
Цитата
Truf пишет:
На будущее хочу попросить добавить в Trans2Quik.dll три простейшие экспортируемые функции:
1. Позволяющую получить версию QUIK'а, к которому подключилась dll.
2. Позволяющую получить версию самого API (1.2, 1.3 и т.д.)
3. Возвращающую разрядность dll (32/64)

2 и 3 делается элементарно. С 1 могут быть проблемы.
В ряде экзотических случаев эти функции могут быть нужны. Ну и просто - хороший тон.
Версию quik можно получить обычным способом. https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms647003(v=vs.85).aspx
Есть много способов сделать что-то неправильно. А правильно - через само API.
Строго говоря, я могу не знать, где находится exe'шник quik'а, т.к. dll связывается с ним через OLE (вроде). А если и знаю где лежит файл, то нет гарантии, что именно этот экземпляр QUIK запущен и именно к его процессу присосалась dll'ка.
Автологин
 
P.S. Из сторонних решений мне под wine подошел lua скрипт с w32 модулем отсюда. Я все равно использую свои lua скрипты и модули для экспорта тиковых данных, так что оно не сильно увеличивает мой зоопарк.
Автологин
 
Сегодня озадачился автологином в QUIK и с удивлением обнаружил, что за пять лет существования запроса на эту фичу не было сделано штатного решения. Создан ряд сторонних скриптов и утилит, но меня это не очень радует. Во первых я QUIK запускаю в wine под linux, а в будущем положу его в облако. Решения, основанные на манипуляции окном стороннего приложения через Win API в таких средах могут быть ненадежными. Бинарники их закрыты. А скрипты потянут за собой необходимую для их запуска инфраструктуру. И вообще, держать запущенный процесс только ради того, чтобы детектировать появление чужого окна - не фонтан. Ну я то выкручусь, но на будущее хотелось бы:

1. Чтобы Quik принимал 2 параметра командной строки - логин и пароль. И использовал их для установки соединения сразу после запуска. Это позволит запускать его bat файлом.
2. Функции для lua через которые можно будет указать логин и пароль, а также установить соединение. Их можно будет использовать в обработчике OnDisconected.
3. Хорошо бы в окно ввода логина и пароля влепить checkbox "Использовать для автоматического входа". В случае если связь с сервером разорвана или Quik перезапущен, показывать это окно снова. Если checkbox был включен пользователем, то вместо него выводить таймер обратного отсчета ("Подключение будет автоматически произведено через 5.4.3.2.1 сек" и кнопку отмена). Если кто-то захочет войти под другим логином - успеет нажать отмену и введет новые credentials. Или нажмет disconect в самом Quikе. А кому 5-ти секундный интервал будет слишком долгим - пусть пишут LUA скрипт и реконнектятся мгновенно.
Пара функциий в Trans2quik
 
На будущее хочу попросить добавить в Trans2Quik.dll три простейшие экспортируемые функции:
1. Позволяющую получить версию QUIK'а, к которому подключилась dll.
2. Позволяющую получить версию самого API (1.2, 1.3 и т.д.)
3. Возвращающую разрядность dll (32/64)

2 и 3 делается элементарно. С 1 могут быть проблемы.
В ряде экзотических случаев эти функции могут быть нужны. Ну и просто - хороший тон.
Кросплатформенный connector
 
Цитата
Egor Zaytsev пишет:
Александр, рассмотрев Ваше пожелание сообщаем, что вы можете воспользоваться интерфейсом FIX Client Connector, установив его на Windows и подключаться к нему с Linux.

https://arqatech.com/ru/products/quik/modules/integration-solutions/fix-software-interfaces/

Устроит ли Вас такое решение.
Если интерфейс заработает под wine и будет стоить копейки - то почему бы нет. Но в целом, я уже набросал C++ Dll для Lua, подсасываемую Quik под wine для экспорта тиков через stdout. И дописываю консольные приложения - wrapper'ы trans2quik.dll на Qt, общающиеся через сокеты. Одно будет запущено в wine, другое в linux. Этого костыля мне хватит.
trim() юзернейма в окне подключения Quik
 
Супер!
Кросплатформенный connector
 
Цитата
тот самый пишет:

врядли. Скорей всего, они оформят это (а точней уже оформили), как платный продукт ( https://arqatech.com/ru/products/quik/modules/integration-solutions/fix-software-interfaces/ )
И почем это удовольствие?
trim() юзернейма в окне подключения Quik
 
Может уже тогда combobox на поле с логином поставить. Он ведь все равно username'ы сверяет тем, что в ключе прописано. Ключ доступен программе, а значит и юзеру, и содержит их в открытом виде. А при начале ввода - фильтровать содержимое. Типа того.
trim() юзернейма в окне подключения Quik
 
Интересный подход к решению проблем. Буду знать. Спрашивать не буду, что будет, если есть два логина на один и тот же символ.

Тем не менее, это не решает проблему дурака. Я - новый юзер. Я ничего не знаю об этой фиче. Мне не откуда об этом узнать. Я скачал программу и скопипастил логин из HTML-письма вместе с лишним пробелом. В форме подключения пробелы в начале строки в edit box'ах видны плохо. Везде эта проблема решается простым trim'ом логина. Т.к. нигде не позволяется использовать лидирующие или завершающие пробелы в качестве логина.
trim() юзернейма в окне подключения Quik
 
Скачал с финама QuikJunior 7.0.0.289 (пардон, если проблема решена в более новых версиях - не проверял). Скопипастил логин и пароль из их письма для доступа к демо-серверу. И залип на 10 мин, т.к. в username пробрался пробел. Обычно лигину делается trim() и пробелы отбрасываются с обеих сторон. Можете сделаете, для защиты от дурака?
Кросплатформенный connector
 
Выделить часть функционала для подключения к бирже, получения котировок и выставления ордеров в DLL (на манер Transaq Connector). Но в отличие от этих @!$#, не пихать в нее зависимости от виндового апи и обеспечить ее работу на Linux без wine.
Страницы: 1
Наверх