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

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

Страницы: Пред. 1 ... 14 15 16 17 18 19 20 21 22 23 24 ... 34 След.
Счётчик числа сделок в секунду по одному тикеру
 
ТТП:
Скрытый текст
Счётчик числа сделок в секунду по одному тикеру
 
вот полная инфо:
ТВС:
Скрытый текст
Счётчик числа сделок в секунду по одному тикеру
 
насчёт мс и мкс - я сохранил данные таблиц в текстовые файлы, потом выгрузил в эксель. Но при сохранении в текстовый файл штатными средствами квика - почему-то не сохранились все поля таблицы.
да это по сути и не особо важно бо как даже при таком представлении - все отсчёты в ТВС - реально показаны. Насчёт срезов - скажу так, имхо:
параметры "время" в ТВС и TIME в ТТП - насколько я себе это представляю, - одинаковые по определению. и именно по ним построены таблицы. Так о каких тогда срезах можно говорить?
Счётчик числа сделок в секунду по одному тикеру
 
повторюсь - мой скрипт вполне даже себе уверенно и правильно считает. местами... ))
потом - хреново считает (такое ощущение, что идёт прогрузка данных)
потом - опять замечательно считает.

Мне надо - чтоб он считал -ВСЕГДА и не итог, а именно то, что мне надо: количество сделок в секунду.
Счётчик числа сделок в секунду по одному тикеру
 
проверьте на "боевом", на фортс, фьючерс SiM5. То, что Вы показали - не объясняет почему в OnParam не было изменения параметра за 21:18:19. К тому же, как Вы можете видеть - мои таблицы - тоже не дадут мне соврать - визуально видно, что нет сходимости в данных.
Кто как решил вопрос уведомления о сделках?
 
тогда и брокерам за смс-уведомление платить непришлось бы. всё - одно - экономия! ))))))))))
Кто как решил вопрос уведомления о сделках?
 
Цитата
Sergey Gorokhov пишет:
Только это делается через СМС провайдеров, которые иногда могут быть платными.
а может у вас там где-нибудь завалялся примерчик с бесплатным смс-провайдером? ))))))))
Кто как решил вопрос уведомления о сделках?
 
первый толковый пример с LuaSocket.

ещё бы смс также просто отправлять было))
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
sam063rus пишет:
т.е. время: 21:18:19 - попросту отсутствует.
для справки: я также на всякий случай делал анализ нарастающего итога по сделкам в ТВС - всё равно не сходится. (с временным гистерезисом в одну секунду - тоже)
Счётчик числа сделок в секунду по одному тикеру
 
Убрал пока что из скрипта все расчёты:

Код
actNumTrades = 0
lastNumTrades = 0
lastTime = 0
actTime = 0
is_run = true


function OnParam(class_code, sec_code)
   if class_code == "SPBFUT" and sec_code == "SiM5" then
      actNumTrades = tonumber(getParamEx(class_code, sec_code, "NUMTRADES").param_value)
      actTime = tonumber(getParamEx(class_code, sec_code, "TIME").param_value)

      message(tostring(actTime) .. "   " .. tostring(actNumTrades))
   end 
end


function main()
while is_run 
do

sleep(100)

end
end

function OnStop()
is_run = false
return 1000
end
 





В общем, причина не работы моего скритпа была в том, что в OnParam почему-то теряются некоторые параметры, а точнее, сам коллбек - теряется. т.е. под апдейт невсегда всё попадает.
Так, по ТВС ясно просматриваются реальные сделки по SiM5:


Код
 1127305110   21:18:16   номер сделки -- время
1127305111   21:18:16
1127305112   21:18:16
1127305138   21:18:19
1127305139   21:18:19
1127305140   21:18:19
1127305141   21:18:19
1127305146   21:18:20
1127305147   21:18:20



а по ТТП тем временем:

Код
211816   32530   --время -- количество сделок
211816   32530
211816   32530
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
211820   32536
 

т.е. время: 21:18:19 - попросту отсутствует. И это ещё безобидный пример. Дальше - хлеще. Но, это уже, километры листинга. И хоть нам тут говорят, что мол, инфа копится и ничего не забывается. Но, что-то незаметно. Хотя, возможно для OnAllTrade - это работает.

В итоге, имеем то, что имеем....

Прошу tech support пояснить.
Счётчик числа сделок в секунду по одному тикеру
 
Николай Камынин,
большое спасибо за пример. Посмотрю.
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
Пример кода сейчас писать некогда, но для OnAllTrade могу сказать, что в пределах одной торговой площадки там сделки поступают строго в порядке увеличения времени, поэтому считать можно по ним.
При этом надо запоминать время самой последней сделки из этой секции биржи и если придет сделка с более ранним временем с той же секции, то просто игнорировать ее (такое может быть если не включена галка "получать информацию по всем сделкам с текущего момента" и сделки по какому-то инструменту были заказаны спустя какое-то время после начала торгов - тогда сначала придут все сделки по этому инструменту, совершенные с начала торгов до текущего момента).
тут мы опять имеем "галки" - для моей задачи - это неприемлемо.
Счётчик числа сделок в секунду по одному тикеру
 
с другой стороны, если с биржи в квик каким-то образом приходит биржевое время и разработчики вдруг (ну а вдруг?) согласятся сделать коллбек OnMarketTimeChange - то многие задачи отпадут сами собой (и эта в том числе)
Счётчик числа сделок в секунду по одному тикеру
 
последняя реплика, разумеется - не моя ("мне читать все топики лень,").
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Николай Камынин пишет:
Поэтому предлагаю написать вариант через onAllTrade
и изложить претензии к такому решению (желательно с примерами)
уже были и примеры и топики и претензии но...
Цитата
sam063rus пишет:
Мне читать все топики лень,
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Николай Камынин пишет:
код увидел.
Мне читать все топики лень, поэтому я выскажусь, возможно что кто-то уже это сказал.
1) Работа через onParam - самый плохой вариант. Там и хранилище очень тяжелое и данный колбек на каждый чих срабатывает
при этом если срез не пришел и не актуальный то он вообще потеряется.
Т е через этот колбек Вы обязательно недосчитаетесь сделок когда-нибудь
---------------------------------
2) Поэтому данную задачу полагаю надо решать через onAllTrade
По крайней мере решение через onAllTrade будет полным, но возможно что есть и более быстрое но не полное.
Поэтому решение через onAllTrade должно быть базовым а остальные,
если они будут быстрее надо сравнивать с базовым.

--------------------------------
Поэтому предлагаю написать вариант через onAllTrade
и изложить претензии к такому решению (желательно с примерами)
отлично, жду от Вас примера кода. (без иронии)
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
Цитата
sam063rus пишет:
задам провокационный тогда вопрос: серверное время (время в поле "TIME" в ТТП) == биржевое (время заключения сделки)?
Это время последней сделки. Наверняка, это время биржи.
стало быть, сравнение ТВС иТТП по этому параметру имеет место быть.
Счётчик числа сделок в секунду по одному тикеру
 
В любом случае, если у Вас (обращение ко всем пользователям) есть свои примеры кода, как можно сделать счётчик - буду искренне рад.
Счётчик числа сделок в секунду по одному тикеру
 
скажу по другому, думаю, у меня бы вообще не возникло проблем, используй я и дальше OnAllTrade, если бы сделки на фортс были с микросекундной точностью
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Старатель пишет:
Другими словами, между этими величинами не обязательно будеn разница ровно в 1 сек. И не обязательно они будут принадлежать к началу этих секунд, как вы делаете в OnAllTrade
будет ровно одна секунда - т.к. в рамках одного тикера - последовательность сохраняется (что ранее было уже проверено в другой теме)
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Старатель пишет:
sam063rus , как я помню, в OnAllTrade вы считаете количество сделок за 1 секунду.
Здесь же вы считаете разницу между двумя неизвестными величинами
Код
 act_numTrades - last_numTrades 
где единственным условием является то, что, возможно, эти величины относятся к "временным срезам" на разных секундах.
просто именно благодаря данной особенности ТТП - я нашёл решение, как попытаться уйти от тех проблем, которые у меня были с OnAllTrade (в ТТП - уже есть счётчик сделок - оставалось только воспользоваться предоставленной возможностью его опроса через фиксированный интервал)
Счётчик числа сделок в секунду по одному тикеру
 
если "Да" - то, должна быть полная синхронизация по этому параметру между ТТП иТВС (бо как на самом деле - источник один - биржевой шлюз)
Счётчик числа сделок в секунду по одному тикеру
 
задам провокационный тогда вопрос: серверное время (время в поле "TIME" в ТТП) == биржевое (время заключения сделки)?
Счётчик числа сделок в секунду по одному тикеру
 
к тому же, интересует - именно "на лету", а не на истории.
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
А если и сопоставлять, то сравнивать их с учетом какой-то заранее заданной допустимой погрешности.
пробовал и так и так (в предыдущих топиках).
насчётпогрешности - в корне не согласен - это живые деньги и они, как известно: любят счёт.
Счётчик числа сделок в секунду по одному тикеру
 
чувствуется. что из всего форума к данной теме, интерес ограничивается только тремя людьми, - что печально. Хотя, анализ таких тонкостей позволил бы на порядок повысить понимание QLUA.
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
Это нормально, т.к. в скрипте берутся данные из ТТП, а они представляют всего лишь временные срезы информации о числе сделок и прочих параметрах, которые формируются через определенные промежутки времени.
А сделки в ТВС поступают в отдельном потоке, никак не синхронизированном с потоком данных ТТП.
с другой стороны, тут можно не согласиться - бо как за основу взято именно серверное время
Счётчик числа сделок в секунду по одному тикеру
 
остаётся тогда вопрос: Как быть? :))
Счётчик числа сделок в секунду по одному тикеру
 
в разные промежутки времени, число сделок в ТВС и число сделок в скрипте - не соответствует по времени времени (ни на инкремент по времени ни на декремент)
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Старатель пишет:
Надо найти отличия?
Цитата
sam063rus пишет:
сами напросились
sam063rus , вы одолжение нам делаете или что? Вы просили помощи. Так извольте привести необходимые данные.
Пока вопрос ваш не понятен.
имелось ввиду, что проще было это всё смотреть и анализировать у себя в квике - на то скрипт и дан, а не через форум.
Счётчик числа сделок в секунду по одному тикеру
 
как уже писал ранее - это всего лишь "винтик". никаким "граалем" тут и не пахнет.
Впоследствии, как удастся наладить стабильную реализацию с помощью коллбека - буду пытаться реализовать тоже самое без коллбеков. Что-нибудь на основе CreateDataSource etc.
Счётчик числа сделок в секунду по одному тикеру
 
последняя редакция скрипта:
Скрытый текст
Счётчик числа сделок в секунду по одному тикеру
 
Таблицу Всех Сделок - не привожу - она у вас и так есть. У себя - я её отфильтровал условным форматированием по: Бумага = SiM5
Счётчик числа сделок в секунду по одному тикеру
 
сами напросились:
Скрытый текст

Скрытый текст
Счётчик числа сделок в секунду по одному тикеру
 
он выводится у меня в комбобоксе квика функцией: message

поэтому это малось проблематично.
Счётчик числа сделок в секунду по одному тикеру
 
загрузите скрипт - посмотрите. просто листинг здесь приводить - он получится длинным.
Счётчик числа сделок в секунду по одному тикеру
 
пояявляются совершенно непонятые взятые "с потолка" отсчёты. Потом, вроде нормализуется, потом - опять.
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
Скорей всего изредка приходят опоздавшие обновления ТТП, в которых время или количество сделок отстали от текущих значений.
Попробуйте сделать проверку - если число сделок стало меньше, чем было в предыдущий раз, и время меньше предыдущего или равно ему - то просто не учитывайте пришедшие значения.
ну в принципе и я о том же
Счётчик числа сделок в секунду по одному тикеру
 
но мы отклонились:
Цитата
sam063rus пишет:
в общем, пока приходит на ум, что одно и з: "время" или "число сделок" - уже изменилось, а другое - соответственно - нет. В таком случае, как задать правильно условие (с учётом специфики OnParam)?
Счётчик числа сделок в секунду по одному тикеру
 
Счётчик числа сделок в секунду по одному тикеру
 
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Дмитрий пишет:
"Программа / Сохранение данных / Получать пропущенные данные" - галочка включена?
конкретно по этой "галке" - она у меня всегда включена.
Счётчик числа сделок в секунду по одному тикеру
 
если бы задача была такой просецкой - я бы наверно её здесь не приводил.
Счётчик числа сделок в секунду по одному тикеру
 
если уж "арка" с галками ничего не хочет делать по этому поводу: https://forum.quik.ru/messages/forum10/message4992/topic536/#message4992

в таком случае, моя задача обеспечить в своём скрипте, как говорится полны иммунитет от всех этих галочек. -> т.е. добится стабильности, вопреки.
Счётчик числа сделок в секунду по одному тикеру
 
давайте сразу договоримся: "Без галочек".

Я являюсь последовательным сторонником того, что скрипт должен сам решать и управлять потоком нужных ему данных, а не так как щас - непонятно в какой последовательности и в каком количестве понаставлено куча галок, да ещё и забыта половина. Это не работа.
Разработка торговых роботов, Разработка торговых роботов
 
Цитата
Николай Камынин пишет:
Если у Вас интересный алгоритм ,
то протестирую его в Амиброкере бесплатно
Если алгоритм удачный,
то отдам скрипт для амиброкера бесплатно
а можно сам Amibroker - бесплатно? (почему нет такого варианта?)
и тогда алгоритм будет интересным и удачным)))))))))
Счётчик числа сделок в секунду по одному тикеру
 
в общем, пока приходит на ум, что одно из: "время" или "число сделок" - уже изменилось, а другое - соответственно - нет. В таком случае, как задать правильно условие (с учётом специфики OnParam)?
Счётчик числа сделок в секунду по одному тикеру
 
Цитата
Николай Камынин пишет:
хорошо бы увидеть код(алгоритм), а то с нуля как-то лень начинать.
а вы разве не заметили спойлер?
Счётчик числа сделок в секунду по одному тикеру
 
Решил выделить из другой темы: https://forum.quik.ru/forum10/topic536/

Сам код:
Скрытый текст
В общем, бывают моменты - когда он в течении продолжительного времени вполне стабильно и правильно считает, но потом - "всё портится". Такое ощущение, что это как-то связано с кешированием или докачкой данных.
если бы код "был неправильным" - он бы даже частично правильно не считал.

У кого есть какие идеи?
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Цитата
Michael Bulychev пишет:
Нет, просто нет такого механизма в Lua.
вы про атомарные операции?
Страницы: Пред. 1 ... 14 15 16 17 18 19 20 21 22 23 24 ... 34 След.
Наверх