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

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

Страницы: 1
Замена инструмента, Автоматическая замена инструмента
 
Вручную значит в каждой таблице и на каждом графике, где присутствовал старый инструмент, он был заменен на новый. Все фильтры тоже были исправлены. Далее конфигурация была записана в тот самый WND(info.wnd). Это было проделано вечером. Однако, когда терминал снова подключился к серверу брокера(с утра), отобразилось окно, предлагающее автоматическую замену инструмента.
Замена инструмента, Автоматическая замена инструмента
 
Я уже заменил инструмент, какой результат-то сообщить?? Вопрос был не в этом. Еще раз: почему после полной ручной замены инструмента, терминал после реконнекта предлагает заменить его еще раз? Не было ни одной таблицы или графика со старым инструментом. И все равно.
Замена инструмента, Автоматическая замена инструмента
 
Quik 10.2.3.7
Вручную заменил инструмент во всех таблицах и на всех графиках, записал настройки, перезапустил Quik. С утра снова вылазит напоминание об автоматической замене инструмента. Информацию терминал при этом не получает конечно же. Но ни в одной таблице старого инструмента уже нет. Как это понимать? :what:  
Общий спрос,Общее предложение
 
Цитата
Zoya Skvorcova написал:
ALEX Bod,Добрый день.
Общий спрос и предложение  это Объем всех заявок на покупку/продажу в очереди Торговой Системы, выраженный в лотах
Количество заявок на покупку/продажу это Количество заявок на покупку/продажу в очереди Торговой системы
"Очередь торговой системы" это весь стакан по-другому?
QUIK 10.2.3.7 под Windows 11, Проблемы
 
Дампы я снять не успел. Есть заархивированный QUIK(со всеми внутренностями). Заархивирован как раз во время такого поведения. Есть видео с этим эффектом. Подойдет?
P.S. В таком состоянии он находился 4 минуты, потом "отвис". Иногда это длится даже дольше.
QUIK 10.2.3.7 под Windows 11, Проблемы
 
Ладно, попробую. Но никаких специальных действий я не совершаю. Как так получается, что свернутый QUIK даже восстановить нельзя и приходится его убивать? Это же вообще бред. Причем такое происходит даже после окончания торгов. То есть нагрузка на него 0 по сути...
QUIK 10.2.3.7 под Windows 11, Проблемы
 
Quik 10.2.3.7 под Windows 11 ведет себя странно. Например: обновляешь график, построенный по таблице параметров, чтобы получить пропущенные данные, и он надолго зависает. Винда считает, что приложение не отвечает и предлагает его закрыть. Есть еще такой эффект: Quik, вроде, работает, но невозможно восстановить приложение из состояния IsIconic. Жмешь на значок в панели задач - ноль эффекта, приходится уничтожать процесс. Вопрос к разработчикам: вы там как, сделали какие-то обновления приложения под Windows 11?
А то процессор Intel 12 поколения не справляется с ним. Возможно, есть какие-то коллизии в коде. Как пишет сам Microsoft, только Windows 11 умеет правильно использовать процессоры, в составе которых есть как производительные ядра, так и энергоэффективные. Естественно, в таком сложном приложении надо это предусмотреть. Что скажете?  
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
nikolz написал:
Цитата
Delv написал:
Решил сохранить историческую информацию о стаканах по отдельно взятому инструменту.
Есть 2 обработчика: OnQuote и OnAllTrades. В обоих стоит фильтрация по инструменту. События из них кладутся в некий общий список(std::list<std::any>),
Забыл сказать Вам ранее.
1) Существуют сделки, которых нет в стакане.
2) Для эксперимента можно сделать так.
Синхронизируйте часы компьютера от сервера точного времени. При этом проверьте на сколько будет уходить время на Вашем компьютере.
Реально получить 2-5 ms .
Потом пишите стакан и сделки с метками компьютерного времени.
Потом обработайте файл с оценкой разницы компьютерного времени и времени сделок.
В итоге Вы получите, что сделки приходят к Вам с запозданием
Сделки и срезы стаканов могут приходит в одном пакете.
Количество изменений стакана  в действительности всегда больше чем число совершенных сделок.
Но выбор среза стакана очевидно определяется не моментом совершения сделок, либо не только.
-----------------
В любом случае, если так сделаете, то узнаете много нового.
===============
Прим: Когда-то давно привозили данные с биржи по сделкам для экспертизы в рамках одного уголовного дела.
Там много чего есть интересного.
Спасибо, надо будет поинтересоваться. Пока же я буду просто использовать очередность сделок и кадров стакана. Разница по времени там небольшая будет. Те же 2-5 мс для меня не имеют особого значения, так как на сделку(отправка заявки на биржу и получение ответа по транзакции) уходит куда больше. До 250 мс.
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
А вот предсказывать движение курса пока что никому не удавалось за всё время существования биржи.
Я не был бы так уверен!! Просто те, у кого это получилось, рассказывать об этом не будут. Ну я бы не стал. Любая стратегия на рынке имеет свои пределы. Если в нее загнать некое критическое количество трейдеров, она просто перестанет работать.
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
Владимир написал:
Delv, А на кой? Какое нам дело, что нам ХОТЯТ показать? Пусть показывают, что хотят, а мы будем торговать так, как МЫ хотим.

Согласен, "статистические методы бессильны". Но зачем "выдумывать нечто"? Всё уже украдено до нас (с). Естественно, "человек не сможет адекватно и быстро анализировать сразу несколько потоков" - для того и скрипт. он никогда не устаёт, всегда внимателен, умеет быстро и точно считать, у него крепкие нервы - что ещё надо? А вот предсказывать движение курса пока что никому не удавалось за всё время существования биржи.
Не могу ответить "на кой", пока не попробую. Как попробую - расскажу, поучилось или нет. Без нюансов и подробностей естественно:)
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
Владимир написал:
А в стакане можно увидеть.разве что то, что там ХОТЯТ показать. Рынок двигают сделки, а не суходроч в стакане.
Совершенно верно. То, что хотят показать. Но из этого тоже можно сделать выводы.
Что касается "гнутых" пальцев: все эти финансовые ряды не стационарны. То есть статистические методы на них бессильны. Остается только выдумывать нечто. Ну например: вряд ли человек сможет адекватно и быстро анализировать сразу несколько потоков. Типа основного тренда плюс анализ разных сопутствующих данных. Участвовал в одном проекте от GeekBrains на эту тему. Было там интересное решение одного из участников. Анализ поведения индекса S&P500 и предсказание его движения(краткосрочного) путем построения языковой модели и анализа с ее помощью новостного фона. Результаты там были просто космос. Больше 70% точности!  
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
Владимир написал:
Delv, О, Господи! Который раз у нас нейросети? Самое смешное, что за них, кажется, топил сам nikolz. ::  
Даже не знаю, который. А что не так с нейросетями? Прекрасный фильтр, так-то. Впрочем, даже без нейросетей стакан интересен. Там многое можно увидеть.
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
nikolz написал:
Ваша идея не осуществима.
Единственное решение - купить у биржи или торговцев информации с биржи эту информацию.
Но остается вопрос - А смысл?
Да, именно это следует из ответа техподдержки. Решение купить дорогое в общем-то. К тому же купленную информацию придется еще обрабатывать, собирая из нее стакан.
Смысл? Да их масса. Например скормить эти стаканы нейросети, обучив ее на что-то.  
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Вот так этот поток выглядит:

+ Price: 2.451(1)
= Bid: 2.450(98) | Ask: 2.451(52)
= Bid: 2.450(98) | Ask: 2.451(52)
= Bid: 2.450(98) | Ask: 2.451(52)
= Bid: 2.450(98) | Ask: 2.451(52)
= Bid: 2.450(98) | Ask: 2.451(52)
= Bid: 2.450(95) | Ask: 2.451(52)
= Bid: 2.450(95) | Ask: 2.451(52)
+ Price: 2.451(1)
= Bid: 2.450(95) | Ask: 2.451(51)
= Bid: 2.450(95) | Ask: 2.451(51)
= Bid: 2.449(149) | Ask: 2.451(65)
-  Price: 2.450(3)
-  Price: 2.450(2)
-  Price: 2.450(65)
-  Price: 2.450(15) ## 1 ##
-  Price: 2.450(10)
= Bid: 2.449(149) | Ask: 2.451(65)
= Bid: 2.449(149) | Ask: 2.451(65)
= Bid: 2.449(149) | Ask: 2.451(65)
= Bid: 2.449(149) | Ask: 2.451(65)
= Bid: 2.449(149) | Ask: 2.451(65)
= Bid: 2.449(149) | Ask: 2.451(66)
= Bid: 2.449(149) | Ask: 2.451(66)
= Bid: 2.449(149) | Ask: 2.451(66)
= Bid: 2.449(149) | Ask: 2.451(86)
= Bid: 2.449(149) | Ask: 2.451(86)
= Bid: 2.449(149) | Ask: 2.451(86)
= Bid: 2.449(149) | Ask: 2.451(86)
= Bid: 2.449(149) | Ask: 2.451(144)
= Bid: 2.449(145) | Ask: 2.451(144)
-  Price: 2.449(1)
-  Price: 2.449(3)
= Bid: 2.449(145) | Ask: 2.451(145)
= Bid: 2.449(145) | Ask: 2.451(145)
= Bid: 2.449(145) | Ask: 2.451(125)
-  Price: 2.450(1)
= Bid: 2.449(93) | Ask: 2.450(62)
= Bid: 2.449(93) | Ask: 2.450(61)
+ Price: 2.450(1)
= Bid: 2.449(93) | Ask: 2.450(61)
= Bid: 2.449(93) | Ask: 2.450(61)
= Bid: 2.449(93) | Ask: 2.450(81)
+ Price: 2.450(2)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(79)
= Bid: 2.449(93) | Ask: 2.450(77)
+ Price: 2.450(2)
= Bid: 2.449(93) | Ask: 2.450(64)
+ Price: 2.450(5)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(64)
= Bid: 2.449(93) | Ask: 2.450(60)
+ Price: 2.450(4)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(93) | Ask: 2.450(60)
= Bid: 2.449(98) | Ask: 2.450(60)
= Bid: 2.449(98) | Ask: 2.450(60)
= Bid: 2.449(98) | Ask: 2.450(60)
= Bid: 2.449(98) | Ask: 2.450(53)
+ Price: 2.450(7)
= Bid: 2.449(99) | Ask: 2.450(53)
= Bid: 2.449(99) | Ask: 2.450(53)
= Bid: 2.449(99) | Ask: 2.450(52)
+ Price: 2.450(1)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(52)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(99) | Ask: 2.450(32)
= Bid: 2.449(103) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(32)
= Bid: 2.449(106) | Ask: 2.450(4)
+ Price: 2.450(20)
= Bid: 2.450(1) | Ask: 2.451(115)
+ Price: 2.450(4)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.449(410) | Ask: 2.451(123)
-  Price: 2.450(1)
= Bid: 2.449(410) | Ask: 2.451(123)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.450(1) | Ask: 2.451(115)
= Bid: 2.449(410) | Ask: 2.451(123)
-  Price: 2.450(1)
= Bid: 2.449(410) | Ask: 2.451(123)
= Bid: 2.449(410) | Ask: 2.451(123)
= Bid: 2.449(410) | Ask: 2.451(123)
-  Price: 2.449(1)
= Bid: 2.449(409) | Ask: 2.451(123)
+ Price: 2.451(5)
= Bid: 2.449(409) | Ask: 2.451(118)
= Bid: 2.450(80) | Ask: 2.451(106)
= Bid: 2.450(80) | Ask: 2.451(98)
- Price: 2.450(10)
= Bid: 2.450(70) | Ask: 2.451(98)
= Bid: 2.450(70) | Ask: 2.451(98)
= Bid: 2.450(70) | Ask: 2.451(98)
-  Price: 2.450(6)
= Bid: 2.450(64) | Ask: 2.451(98)
= Bid: 2.450(64) | Ask: 2.451(93)
+ Price: 2.451(5)
= Bid: 2.450(64) | Ask: 2.451(88)
+ Price: 2.451(5)
= Bid: 2.449(381) | Ask: 2.451(88)
-  Price: 2.450(64)
-  Price: 2.449(4)
-  Price: 2.449(1)
-  Price: 2.449(1)
-  Price: 2.449(1)
-  Price: 2.449(1)
= Bid: 2.449(373) | Ask: 2.451(107)
-  Price: 2.449(50)

Это только небольшая часть.
Вот такое вот обозначение ## 1 ## показывает разницу времени в миллисекундах относительно предыдущей сделки.
Хотел прикрепить целый файл, но форум выдает какую-то ошибку.
Здесь показаны только Bid/Ask и количество заявок на этих уровнях. В списке же хранится весь полученный стакан(50 позиций в каждую сторону). Инструмент - фьючерс на природный газ.
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
---------------
сделки в таблицу обезличенных сделок а следовательно и в колбек ALLTrades приходят не срезами, а блоками.
Срезы не гарантируют отсутствие пропусков, а обезличенные сделки приходят без пропусков, но кучей одновременно.
Так в чем разница срезов и блоков? В пропуске данных?
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Цитата
Купили историю заявок на бирже? Серьёзно??
В вашем файле время формирования информации, не более.
Нет, не покупал. Но предложение такое от биржи есть. Стоит недешево.
Честно говоря, не знаю, что именно за время биржа ставит на каждую заявку...Но по крайней мере оно там есть.
А тут, в QUIK у нас получается, что: все едет независимо и в итоге неясно, куда какой кадр стакана относится. То ли он сделку опередил и приехал первым, то ли он опоздал...
QIUK 9.8.0.11 выходит при attach MSVC 2019 debugger - защита или проблема?
 
Цитата
nikolz написал:
Цитата
Delv написал:
И как продвигается? Пока приходится использовать старый Quik для такой отладки. А какие другие варианты есть??? Не отлаживать dll?
Отлаживаю DLL вне QUIK.
В чем пролема?
Никогда не пробовал отлаживать dll для Quik вне Quik. Даже в голову такое не приходило. Но звучит интересно. Поделитесь опытом, как там и что.
QIUK 9.8.0.11 выходит при attach MSVC 2019 debugger - защита или проблема?
 
И как продвигается? Пока приходится использовать старый Quik для такой отладки. А какие другие варианты есть??? Не отлаживать dll?
Сохранение стакана, Описание эксперимента с сохранением стакана
 
Решил сохранить историческую информацию о стаканах по отдельно взятому инструменту.
Есть 2 обработчика: OnQuote и OnAllTrades. В обоих стоит фильтрация по инструменту. События из них кладутся в некий общий список(std::list<std::any>),
который потом записывается в файл. Очередность в итоговом списке такая же, какая случилась при вызовах коллбэков. Это небольшой кусочек списка, где стакан обозначен знаком =, а сделка знаком *:

=**=****===*====*===*==*=========***=***=**********=====*

Видно, что данные приходят срезами(иначе не было бы нескольких сделок подряд без изменения стакана, такое невозможно). И тут возникает вопрос: а как определить временную метку полученного стакана?? У каждой сделки такая метка есть.

Если покупать подобную информацию(история заявок, из которой можно собрать стакан) на бирже, то она выглядит как список заявок по всем инструментам, где каждая заявка также имеет свою временную метку, по формату аналогичную тому, что используется в сделках. То есть там не сам кадр стакана имеет временную метку, а каждая заявка, и можно собрать стакан самому, и при этом выяснить, какую временную метку ему проставить.

А что в Quik? Сохранить последовательность стаканов я могу, но без временных меток они не имеют много смысла.

Поэтому вопросы к разработчикам:
1) Где-то в недрах ваших систем есть временные метки для стаканов? Ведь биржа время заявки шлет. Если это есть, то почему бы это не передать в тот же коллбэк OnQuote, или в getQuoteLevel2?
2) Если таких временных меток на стакане у вас нет, то как вообще вы синхронизируете тот же стакан и таблицу всех сделок, графики да и все остальное, что имеет метку времени? Или же НИКАК??

Моя задача проста: распределить сделки и полученные стаканы на оси времени в верном порядке. Готов выслушать любые предложения:)

P.S. Если кому интересно: файл с записью такой информации только за вечернюю сессию по одному из инструментов срочного рынка занял 97 Мб.
Страницы: 1
Наверх