как уже говорил - задача бы значительно упростилась, имей мы коллбек: OnServerTime
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:33:18
Код
если выборка == nil then "ничего страшного"
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:32:31
а я и не говорил, что всё это легко. То есть, нужны мгновенные выборки (число сделок в секунду) с дискретностью 1 сек.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:26:42
Цитата
Дмитрий пишет: Если не делить число сделок на число секунд и не выводить нули когда сделок не было, то индикатор будет запаздывать при низкой активности торгов.
мне главное, чтоб правильно считал: т.е. есть сделка - есть счёт, нет - нет, и без всяких запаздываний.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:23:04
ок присмотрюсь к скрипту. авось, что и получится. Галки в квике пока не меняю.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:21:36
Цитата
Дмитрий пишет: Либо можете не делить это значение и не получать среднее, а считать, что в первую секунду прошли все сделки (как и есть на самом деле), а в остальные - 0
я в своём скрипте на среднее вообще не закладывался: нет сделок - нет счёта, нет нулей - просто ничего не выводил.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:16:47
Цитата
Дмитрий пишет: И потом Вы ведь как-то поняли, что Ваш скрипт выдавал неадекватные данные. Значит, есть возможность проверить.
только вручную, глядя в ТВС.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:15:28
если такое происходит - то это уже усреднение.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 21:13:53
я почему-то всегда считал, что число сделок в секунду - всегда целое по определению. Бо как сделка ну никак не может быть "половинчатой" или "четвертованной"
другими словами, для ТВС - есть внутренний кеш подкачки пропущенных данных, а для ТТП - нет. Если разработчики это признают - то у меня не останется никаких вопросов.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 18:10:32
Цитата
Старатель пишет: Если не баловаться галочками в процессе подсчёта
а я и не баловался. Я наоборот, сторонник того, чтоб в скриптах (в отличии от GUI квика) - галочки не играли никакой роли.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 18:08:28
Однако, принимая всё вышесказанное - остаётся открытым вопрос: если OnParam впереди планеты всей то, куда делось 21:18:19?
Проблема может решиться только если разработчики официально признают, что часть коллбеков всё же теряется. А также то, что модель единого хранилища данных - в корне не верна.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 17:55:20
единственное верно - то, что это всё в главном цикле, равно как и коллбеки, а значит последовательно - по определению. И величина "среза" - ненормирована по времени, а зависит лишь от очередной, поступившей от биржи порции данных. Если же квиковцы сделали жёсткий срез по их внутреннему представлению времени - то это уже даже близко нельзя назвать стабильной МТС и даже ИТС.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 17:51:09
я к тому, что среза никакого может и не быть вовсе. Есть главный источник данных. После каждого апдейта - происходит сравнение новых данных к предыдущем по таблице в памяти квика. Если новое значение не равно старому - вызывается соответствующий коллбек. И далеко не факт, что это будет OnAllTrade - всё зависит от преходящих данных.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 17:33:35
Цитата
Дмитрий пишет: , а если нас интересует изменение только лучшей цены предложения/спроса
Откуда в итоге ее лучше брать, чтобы получить новое значение раньше?
Если судить по написанному Egor Zaytsev, то лучше из стакана (OnQuote). А если по написанному - то лучше из ТТП (OnParam)/
, и не забываем отвечать на вопросы...
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 17:27:43
финалом подобных историй, как правило становится: "проблема изучается. Постараемся дать на неё в ближайшее время ответ" + очередные "милые извинения"
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 17:16:57
, (ака Серж),
хотелось бы уже подытожить: то, считалось, что OnAllTrade даёт более быстрый и достоверный результат то, OnParam. На старом форуме - OnParam. На этом форуме - не менее "жарче" разгорелись мнения за OnAllTrade и в итоге - всё-равно OnParam. Так курица или яйцо???
касательно всего того, то я здесь услышал и, с учётом многих новых подробностей - я так и не понял в таком случае, что такое "срез" и как он влияет (и влияет ли) на мои версии скриптов. Хочу заметить, что чтобы тут до этого не говорилось - мы всё-равно работаем в рамках концепции единого хранилища данных.
на самом деле, все 3 топика - об одном и том же: CreateDataSource, этот топик и "Вопросы по OnAllTrade"
в очередной раз, "Арка" самоустранилась (лень читать топики, "много букАв" и всё такое). В очередной раз, я услышал от Михаила Булычева его "Что это такое?". Он ещё любит говорить "непонимаю о чём Вы?" после долгого обсуждения, чтобы вконец отбить всё желание, что-то обсуждать, а начать пытаться искать ответы другими способами...
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 15:22:59
ну вот... опять вся "Арка" разбежалась... :(
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 15:06:44
т.е. возвращаясь в самое начало: в OnParam - пропадают параметры или, по другому: этот коллбек невсегда срабатывает и не успев сработать - теряет данные.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 15:04:22
и там и там - это время последней сделки НО! почему-то в некоторые моменты времени - он просто теряется.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 15:02:41
Цитата
Michael Bulychev пишет: Никакого преимущества. они влияют только на открытый интерес.
это многое объясняет... и этим можно правильно воспользоваться.
в том сообщении - всё есть. я пытался считать количество сделок разными путями и на основе ТВС и ТТП с помощью соответствующих коллбеков. Суть в том, что у меня это не получилось. я - считал, что параметр TIME в ТТП имеет своё отражение и на основе сделок в ТВС (столбец "Время")
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:43:37
я - про:
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:42:51
Цитата
Michael Bulychev пишет: 3. Некоторые изменения в ТТП могут вообще не отражаться в стакане котировок. Например внесистемные сделки.
а это уже действительно интересно... т.е. у нас появляется небольшое конкурентное преимущество.
Цитата
Michael Bulychev пишет: 2. По ТТП формируются временные срезы на уровне торговой системы и сервера QUIK.
значит ли это, что данные из двух таблиц (ТВС и ТТП) должны сходиться? или... где 21:18:19?
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:37:38
Цитата
Дмитрий пишет: А если интернет на машине с терминалом отвалился?
то и торговля отвалится.
К тому же, можно сделать, что-то watchdog-таймера на основе очерёдности (по времени) прихода "асек". так называемая "побудка" - если вовремя не пришло сообщение - значит "бЯда! полный ахтунг на все 4 колеса"
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:28:09
за ссылку, спасибо
в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:23:18
Цитата
Старатель пишет: Согласно логу, OnParam раньше "приносит" новую котировку раньше.
об этом на старом форуме писалось. Но кто-то тут уже говорил, что дескать под ТВС отдельный поток и что он быстрее...
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:21:11
насчёт разницы в количестве коллбеков м/у OnParam и OnAllTrade: думаю. тут нет ничего удивительного - т.к. в OnParam - коллбек приходит на каждое изменение параметра и: параметры изменяются не единой строкой за так называемый "срез", а только те, что реально изменились. Те, что не изменились имеют значение с предыдущего апдейта (что иной раз усложняет жизнь - бо как невсегда понятно: "он уже" или "ещё нет" (если коллбек к тому же пропущен)).
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:15:22
однако, я всё же заставил вас задуматься))) сколько сразу умных мыслей)))
вот только техподдержка почему-то молчит...
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 14:09:42
Цитата
Старатель пишет: доставка e-mail или СМС через интернет менее надёжна, чем GSM.
тут ещё можно поспорить. )))
в общем, чувствю самый оптимальный и бесплатный вариант - e-mail. А на компьютере - поставить, что-то вроде Mailru.Agent или Outlook - и тогда оповещения не потеряются и будут вовремя и на виду.
--------------------------------------------
Кстати, в качестве бесплатной альтернативы СМС, думаю, стоит рассмотреть старую добрую "аську" (ICQ) - надо только сделать под неё толковое API
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 05:26:36
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 05:19:43
Цитата
Michael Bulychev пишет: Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
спасибо, это я и так знаю. насчёт "бесплатная" - далеко - нефакт. В каждом конкретном случае - по-разному. Так и штатное API МегаФона можно было бы использовать.
Кто как решил вопрос уведомления о сделках?
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 05:16:32
но, как говорится, в любом случае, за ссылку - спасибо. Посмотрю на досуге.
Sergey Gorokhov пишет: Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
честно говоря, не совсем понял. Автор пишет:
Цитата
Итак, что для этого нам понадобится:
Сервер рассылки СМС сообщений
GSM модем или мобильный телефон с возможностью подключения к компьютеру.
1. какой сервер? платный/бесплатный?? 2. для чего??? ------------------------------------------------------------- честно говоря, ожидал какой-нибудь анонимный односторонний сервер без авторизации: как говорится, "пульнул смс и забыл". Без всяких телефонов, просто зная ip сервера и пару функций из его API.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 03:11:07
Цитата
sam063rus пишет: с OnAllTrade также пришлось столкнуться с тем, что надо знать "правильное чередование" и наличие "галочек". К тому же, коллбеки приходили со вчерашней вечерней сессии (понятно что сессия длится от клиринга до клиринга). В общем, это только кажется, что так всё просто.
Дмитрий пишет: По одному инструменту или по классу или на одной секции биржи?
изначально я планировал по классу (по фьючерсам), потом выяснилось,что наблюдается рассинхронизация между отдельными бумагами в классе. В итоге, остановился хотя бы на одной бумаге (тут синхронизация - полная)
вдобавок ко всему, - чем сложней и совершенней алгоритм в OnAllTrade был - тем больше тормозил квик, а учитывая, что сделок туда сыпется видимо-невидимо - то ...
sam063rus пишет: если бы я за каждую муху платил денег - я осталс бы без штанов.
sam063rus , хитрый вы какой: с других , а сами за чужой труд платить не желаете (Дмитрий спрашивал вас, кстати о .)
С Дмитрием - мы всё уже решили - к тому же, моя подсказка в формате "clear room" была в топике для всех. Насчёт "трясти денег" - если создадите функциональный аналог qchart.dll - вам тогда не 10тыр, а в 3 раза больше будет )))))
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:38:33
с OnAllTrade также пришлось столкнуться с тем, что надо знать "правильное чередование" и наличие "галочек". К тому же, коллбеки приходили со вчерашней вечерней сессии (понятно что сессия длится от клиринга до клиринга). В общем, это только кажется, что так всё просто.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:26:29
Цитата
Дмитрий пишет: По одному инструменту или по классу или на одной секции биржи?
изначально я планировал по классу (по фьючерсам), потом выяснилось,что наблюдается рассинхронизация между отдельными бумагами в классе. В итоге, остановился хотя бы на одной бумаге (тут синхронизация - полная)
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:22:46
если бы я за каждую муху платил денег - я осталс бы без штанов.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:20:32
Цитата
Дмитрий пишет: По-моему, задача вполне решаема, именно с использованием OnAllTrade. Округление до миллисекунд не критично - если и даст погрешность, то незначительную.
остаётся только вопрос как её правильно оценивать бо как ТТП - уже скомпрометирована. А визуально по ТВС - результаты получаются ещё хуже чем в версии скрипта с OnParam
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:17:39
в общем, как и говорил ранее: у кого какие варианты с кодом есть - Welcome!
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:16:09
либо, пусть разработчики решат проблему с синхронизацией ТТП - потому как скрипт большую часть времени всё же правильно показывает.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:12:47
в таком случае, боюсь задча счётчика останет ся не разрешимой бо как на фортс вдобавок ко всему в OnAllTrade округляется всё до миллисекунд.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:09:32
А там меньше и не поставишь насколько я знаю
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:06:42
Цитата
Дмитрий пишет: я к тому, что ТТП изменяется далеко не при каждой новой сделке
по нормальному - должна при каждорй сделке - т.к. сделка - это уже существенный факт.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 02:02:37
Цитата
Дмитрий пишет: Я думаю, что по OnParam невозможно сделать точный подсчет количества сделок в секунду.
я не спорю - осталось дождаться "официального подтверждения" и пусть укажут в документации (зарегистрируют очередное пожелание), что по факту полагаться на коллбеки OnParam однозначно нестоит бо как они не учитывают все изменения.
Старатель пишет: Написал тестовый скрипт для подсчёта общего количества сделокпо колбекам OnAllTrade и OnParam Результаты на демо-сервере по SBER:
Даже на демо-сервере видно, что число коллбэков по изменению ТТП меньше, чем по приходу новой сделки (при том что там еще не все колбэки OnAllTrade посчитаны, т.е. не учтены идущие подряд с минимальным интервалом). Это иллюстрация к моему предыдущему сообщению. Думаю, на боевом сервере в самый разгар торгов разница будет еще больше.
я в версии скрипта на основе OnParam коллбеки и не считал, а учитывал изменение количества сделок к предыдущему.
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 01:53:15
т.е. не просто какое-то время с потолка (время обновления по непонятно какому параметру), а именно время последней сделки
Счётчик числа сделок в секунду по одному тикеру
Пользователь
Сообщений: Регистрация: 01.02.2015
29.05.2015 01:52:26
в ТТП у меня: Время последней сделки и количество сделок