Дмитрий пишет: Если не делить число сделок на число секунд и не выводить нули когда сделок не было, то индикатор будет запаздывать при низкой активности торгов.
мне главное, чтоб правильно считал: т.е. есть сделка - есть счёт, нет - нет, и без всяких запаздываний.
Дмитрий пишет: Либо можете не делить это значение и не получать среднее, а считать, что в первую секунду прошли все сделки (как и есть на самом деле), а в остальные - 0
я в своём скрипте на среднее вообще не закладывался: нет сделок - нет счёта, нет нулей - просто ничего не выводил.
я почему-то всегда считал, что число сделок в секунду - всегда целое по определению. Бо как сделка ну никак не может быть "половинчатой" или "четвертованной"
другими словами, для ТВС - есть внутренний кеш подкачки пропущенных данных, а для ТТП - нет. Если разработчики это признают - то у меня не останется никаких вопросов.
Однако, принимая всё вышесказанное - остаётся открытым вопрос: если OnParam впереди планеты всей то, куда делось 21:18:19?
Проблема может решиться только если разработчики официально признают, что часть коллбеков всё же теряется. А также то, что модель единого хранилища данных - в корне не верна.
единственное верно - то, что это всё в главном цикле, равно как и коллбеки, а значит последовательно - по определению. И величина "среза" - ненормирована по времени, а зависит лишь от очередной, поступившей от биржи порции данных. Если же квиковцы сделали жёсткий срез по их внутреннему представлению времени - то это уже даже близко нельзя назвать стабильной МТС и даже ИТС.
я к тому, что среза никакого может и не быть вовсе. Есть главный источник данных. После каждого апдейта - происходит сравнение новых данных к предыдущем по таблице в памяти квика. Если новое значение не равно старому - вызывается соответствующий коллбек. И далеко не факт, что это будет OnAllTrade - всё зависит от преходящих данных.
хотелось бы уже подытожить: то, считалось, что OnAllTrade даёт более быстрый и достоверный результат то, OnParam. На старом форуме - OnParam. На этом форуме - не менее "жарче" разгорелись мнения за OnAllTrade и в итоге - всё-равно OnParam. Так курица или яйцо???
касательно всего того, то я здесь услышал и, с учётом многих новых подробностей - я так и не понял в таком случае, что такое "срез" и как он влияет (и влияет ли) на мои версии скриптов. Хочу заметить, что чтобы тут до этого не говорилось - мы всё-равно работаем в рамках концепции единого хранилища данных.
на самом деле, все 3 топика - об одном и том же: CreateDataSource, этот топик и "Вопросы по OnAllTrade"
в очередной раз, "Арка" самоустранилась (лень читать топики, "много букАв" и всё такое). В очередной раз, я услышал от Михаила Булычева его "Что это такое?". Он ещё любит говорить "непонимаю о чём Вы?" после долгого обсуждения, чтобы вконец отбить всё желание, что-то обсуждать, а начать пытаться искать ответы другими способами...
т.е. возвращаясь в самое начало: в OnParam - пропадают параметры или, по другому: этот коллбек невсегда срабатывает и не успев сработать - теряет данные.
в том сообщении - всё есть. я пытался считать количество сделок разными путями и на основе ТВС и ТТП с помощью соответствующих коллбеков. Суть в том, что у меня это не получилось. я - считал, что параметр TIME в ТТП имеет своё отражение и на основе сделок в ТВС (столбец "Время")
Дмитрий пишет: А если интернет на машине с терминалом отвалился?
то и торговля отвалится.
К тому же, можно сделать, что-то watchdog-таймера на основе очерёдности (по времени) прихода "асек". так называемая "побудка" - если вовремя не пришло сообщение - значит "бЯда! полный ахтунг на все 4 колеса"
в общем, задача сводится к тривиальной: отправка ICQ-сообщений по интернет с помощью соответствующего бесплатного API. Вот вам и аналог смс-оповещений))))
насчёт разницы в количестве коллбеков м/у OnParam и OnAllTrade: думаю. тут нет ничего удивительного - т.к. в OnParam - коллбек приходит на каждое изменение параметра и: параметры изменяются не единой строкой за так называемый "срез", а только те, что реально изменились. Те, что не изменились имеют значение с предыдущего апдейта (что иной раз усложняет жизнь - бо как невсегда понятно: "он уже" или "ещё нет" (если коллбек к тому же пропущен)).
Старатель пишет: доставка e-mail или СМС через интернет менее надёжна, чем GSM.
тут ещё можно поспорить. )))
в общем, чувствю самый оптимальный и бесплатный вариант - e-mail. А на компьютере - поставить, что-то вроде Mailru.Agent или Outlook - и тогда оповещения не потеряются и будут вовремя и на виду.
--------------------------------------------
Кстати, в качестве бесплатной альтернативы СМС, думаю, стоит рассмотреть старую добрую "аську" (ICQ) - надо только сделать под неё толковое API
теперь понятно зачем телефон: в общем, как я понял: берёшь телефон, платишь за него, подключаешь к компу, ставишь кучу непонятного софта и отправляешь куда-то за свой счёт с этого номера смс. Так???
Michael Bulychev пишет: Сервер - это программа, которая рассылает смс через модем или телефон, абсолютно бесплатная.
спасибо, это я и так знаю. насчёт "бесплатная" - далеко - нефакт. В каждом конкретном случае - по-разному. Так и штатное API МегаФона можно было бы использовать.
GSM модем или мобильный телефон с возможностью подключения к компьютеру.
1. какой сервер? платный/бесплатный?? 2. для чего??? ------------------------------------------------------------- честно говоря, ожидал какой-нибудь анонимный односторонний сервер без авторизации: как говорится, "пульнул смс и забыл". Без всяких телефонов, просто зная ip сервера и пару функций из его API.
sam063rus пишет: с OnAllTrade также пришлось столкнуться с тем, что надо знать "правильное чередование" и наличие "галочек". К тому же, коллбеки приходили со вчерашней вечерней сессии (понятно что сессия длится от клиринга до клиринга). В общем, это только кажется, что так всё просто.
Дмитрий пишет: По одному инструменту или по классу или на одной секции биржи?
изначально я планировал по классу (по фьючерсам), потом выяснилось,что наблюдается рассинхронизация между отдельными бумагами в классе. В итоге, остановился хотя бы на одной бумаге (тут синхронизация - полная)
вдобавок ко всему, - чем сложней и совершенней алгоритм в OnAllTrade был - тем больше тормозил квик, а учитывая, что сделок туда сыпется видимо-невидимо - то ...
sam063rus пишет: если бы я за каждую муху платил денег - я осталс бы без штанов.
sam063rus , хитрый вы какой: с других трясёте денег , а сами за чужой труд платить не желаете (Дмитрий спрашивал вас, кстати о помощи .)
С Дмитрием - мы всё уже решили - к тому же, моя подсказка в формате "clear room" была в топике для всех. Насчёт "трясти денег" - если создадите функциональный аналог qchart.dll - вам тогда не 10тыр, а в 3 раза больше будет )))))
с OnAllTrade также пришлось столкнуться с тем, что надо знать "правильное чередование" и наличие "галочек". К тому же, коллбеки приходили со вчерашней вечерней сессии (понятно что сессия длится от клиринга до клиринга). В общем, это только кажется, что так всё просто.
Дмитрий пишет: По одному инструменту или по классу или на одной секции биржи?
изначально я планировал по классу (по фьючерсам), потом выяснилось,что наблюдается рассинхронизация между отдельными бумагами в классе. В итоге, остановился хотя бы на одной бумаге (тут синхронизация - полная)
Дмитрий пишет: По-моему, задача вполне решаема, именно с использованием OnAllTrade. Округление до миллисекунд не критично - если и даст погрешность, то незначительную.
остаётся только вопрос как её правильно оценивать бо как ТТП - уже скомпрометирована. А визуально по ТВС - результаты получаются ещё хуже чем в версии скрипта с OnParam
Дмитрий пишет: Я думаю, что по OnParam невозможно сделать точный подсчет количества сделок в секунду.
я не спорю - осталось дождаться "официального подтверждения" и пусть укажут в документации (зарегистрируют очередное пожелание), что по факту полагаться на коллбеки OnParam однозначно нестоит бо как они не учитывают все изменения.
Старатель пишет: Написал тестовый скрипт для подсчёта общего количества сделокпо колбекам OnAllTrade и OnParam Результаты на демо-сервере по SBER:
Даже на демо-сервере видно, что число коллбэков по изменению ТТП меньше, чем по приходу новой сделки (при том что там еще не все колбэки OnAllTrade посчитаны, т.е. не учтены идущие подряд с минимальным интервалом). Это иллюстрация к моему предыдущему сообщению. Думаю, на боевом сервере в самый разгар торгов разница будет еще больше.
я в версии скрипта на основе OnParam коллбеки и не считал, а учитывал изменение количества сделок к предыдущему.