Качнул историю Газпрома за 26ое - это оно! 39738 сделок, и начинается все в 9:59:59 )) Ок, я не в курсе, почему с этого времени, какой-то предторговый период в акциях что ли. Но почему-то не во всех файлах она полностью качнулась.
Арсений написал: Я тогда изучу внимательнее и отпишусь позже, если будет резон.
Изучил. В принципе, проблема разбилась на две. По первой очень хотелось бы вашего мнения
1) Я сравнивал свои тиковые данные с данными с сайта Финама. Встречается одна и та же особенность - очень небольшой процент сделок, меньше 0.5%, имеет расхождение по времени в одну секунду Вот как это выглядит. Список таких сделок из моего файла (ТОС):
Скрытый текст
Скрытый текст
20180226;10:04:08;2366.8;1;B;35118
Скрытый текст
20180226;10:12:32;2374.7;5;S;35284
Скрытый текст
20180226;10:12:32;2374.65;1;S;35284
Скрытый текст
20180226;10:12:32;2374.65;2;S;35284
Скрытый текст
20180226;10:12:32;2374.5;1;S;35284
Скрытый текст
20180226;10:12:32;2374.5;2;S;35286
Скрытый текст
20180226;10:12:32;2374.4;2;S;35286
Скрытый текст
20180226;10:12:32;2374.4;20;S;35326
Скрытый текст
20180226;10:12:32;2374.35;2;S;35328
Скрытый текст
20180226;10:12:32;2374.35;5;S;35328
Скрытый текст
20180226;10:34:15;2374.35;2;B;36068
Скрытый текст
20180226;12:44:27;2367.7;1;S;37192
Скрытый текст
20180226;12:55:02;2360.05;2;B;36638
Скрытый текст
20180226;15:59:06;2370.55;1;B;35812
Скрытый текст
20180226;17:00:00;2365.6;1;S;35468
Скрытый текст
20180226;18:20:48;2358;1;B;35792
Скрытый текст
20180226;18:20:48;2358;7;B;35784
Скрытый текст
20180226;18:20:48;2358;3;B;35790
Скрытый текст
20180226;19:05:14;2361.4;1;S;35468
Скрытый текст
20180226;20:49:53;2365.85;1;B;35798
Скрытый текст
20180226;23:09:35;2366.9;2;B;35728
Из файла Финама:
Скрытый текст
Скрытый текст
20180226;10:04:09;2366.8;1;B
Скрытый текст
20180226;10:12:33;2374.7;5;S
Скрытый текст
20180226;10:12:33;2374.65;1;S
Скрытый текст
20180226;10:12:33;2374.65;2;S
Скрытый текст
20180226;10:12:33;2374.5;1;S
Скрытый текст
20180226;10:12:33;2374.5;2;S
Скрытый текст
20180226;10:12:33;2374.4;2;S
Скрытый текст
20180226;10:12:33;2374.4;20;S
Скрытый текст
20180226;10:12:33;2374.35;2;S
Скрытый текст
20180226;10:12:33;2374.35;5;S
Скрытый текст
20180226;10:34:16;2374.35;2;B
Скрытый текст
20180226;12:44:28;2367.7;1;S
Скрытый текст
20180226;12:55:03;2360.05;2;B
Скрытый текст
20180226;15:59:07;2370.55;1;B
Скрытый текст
20180226;17:00:01;2365.6;1;S
Скрытый текст
20180226;18:20:49;2358;7;B
Скрытый текст
20180226;18:20:49;2358;1;B
Скрытый текст
20180226;18:20:49;2358;3;B
Скрытый текст
20180226;19:05:15;2361.4;1;S
Скрытый текст
20180226;20:49:54;2365.85;1;B
Скрытый текст
20180226;23:09:36;2366.9;2;B
Во всех файлах количество сделок (без учета мусора) совпадает. Я не сохранял id сделок у себя, но думаю хорошо видно, что сделки совпадают с точностью до секунды. Остальные сделки скриптом нашлись в обоих файлах.
Такое встречается у меня не только в тот день - я выборочно прогнал историю за один из беспроблемных дней - такая же картина, у небольшого числа сделок идет расхождение в секунду.
Что это может быть? Из-за чего так?
2) В почти все файлы добавилась история какой-то предположительно акции. Я не проверял на 100%, но очень похоже на Газпром или НЛМК. Я посчитал, я сохранил историю 18ти инструментов в тот день, и только в один из них это не добавилось. Во всех остальных 17ти есть. Количество строк разное, в некоторых совпадает, но в целом какой-то рандом, колеблется от 32475 до 39738. С 39738, кажется, 5 файлов и визуально совпадает начало и конец Время торгов тоже характерное , с 10 до 18.48 Первые 300+ сделок действительно отображаются в неправильное время
Скрытый текст
Скрытый текст
20180226;9:59:59;148.5;10;S;0
Скрытый текст
20180226;9:59:59;148.5;2;S;0
Скрытый текст
20180226;9:59:59;148.5;6;B;0
Скрытый текст
20180226;9:59:59;148.5;10;B;0
Скрытый текст
20180226;9:59:59;148.5;1;B;0
Скрытый текст
20180226;9:59:59;148.5;1;B;0
Скрытый текст
20180226;9:59:59;148.5;1;B;0
Но учитывая, что у меня какие-то расхождения в секунду обнаружились выше, может дело в этом Не знаю, говорит ли вам о чем-то эта информация, но вот на всякий случай описываю. Для себя я эту часть проблемы "закрыл", бо в дальнейшем все равно буду получать котировки скриптом. Да и нужные котировки все загрузились :)
Egor Zaytsev написал: Скорее всего эти данные у Вас заказаны в пункте меню Система - Заказ данных - Поток котировок.
Да, так и есть. Ясно, спасибо)
Цитата
Egor Zaytsev написал: Здесь нужно рассматривать конкретный пример с данными выгрузки, как понимаем Вы это делали при помощи Qlua.
Нет, на тот момент я еще не умел сохранять историю через Qlua, поэтому делал все по "Вывод через DDE". Выше вы ответили, что ТОС должен прогружаться полностью по идее.. С того момента я не открывал те файлы, бо расстроила история. Но сейчас открыл на спокойную голову и понял, что там всё не совсем так, как я описал. Я тогда изучу внимательнее и отпишусь позже, если будет резон. Непрогруженным значением был открытый интерес. Но беглый взгляд показывает, что как будто в котировки, а я запрашивал только и исключительно фьючерсы(!), добавились какие-то акции, у которых ОИ конечно же равен нулю. Я акциями вообще не торгую и не торговал пока, и уж тем более заказывать их в ТОС - не делал ни разу. И такое впечатление, что это добавилось во все или почти все файлы, одно и тоже. И кроме того там есть какой-то странный мусор - сделки до открытия сессии: time=9:59:59.352; price=148.5 И их много таких на 9:59:59
Вообще, у меня было открыто довольно много таблиц ТОС - может 20-25. Т.е. изначально одна или две, но после того, как не получилось засейвить, решил сделать отдельную по каждому интересовавшему инструменту. И расстройство вызвало то, что в почти всех были эти нули в ОИ в некоторых местах. Полчаса усилий и спешки успеть до закрытия рынка, казалось, пошли насмарку. Так что я, наверно, даже не все файлы и сохранил в итоге. Но в целом все равно немного странная история.
1) Обнаружил случайно, что на демо по некоторым тикерам getParamEx дает инфу, хотя в ТТП их нет. Проверил сегодня на рабочей - так же. Вопрос скорее в целом, хочется понимать - почему такое возможно? И как влияет удаление инструмента из таблицы на дальнейшее получение инфы по нему?
2) На форуме встречается фраза "перезаказ данных". Это имеется ввиду "Система-Заказ данных-Перезаказать данные" или еще что-то скриптовое?
3) Сделки в ТОС по тикеру всегда поступают последовательно от первой в сессии и упорядоченно по времени их совершения или необязательно? При условии, что не было потерь при передаче данных.
4) Если в процессе передачи данных от брокера случился сбой интернета и часть сделок до моей ТОС не дошла - это как-то обнаружится терминалом в процессе работы или за этим надо следить самому?
5) Возникла реальная ситуация на рабочем квике. Где-то в 23:30 по Москве решил, что в ТОС мне нужно добавить еще пару колонок параметров и добавить с пару десятков инструментов. Сначала сделал это в одной таблице, но при выгрузке в эксел превысилось максимальное допустимое число строк в файле. Ок, разбил на несколько таблиц. В общем, пока это все делалось, аккурат время зашло за 23:50. Тем не менее, количество строк в таблицах не увелчивалось уже и я начал выгрузку данных в файлы. В итоге оказалось, что в примерно половине тикеров в одной из колонок не прогрузились данные полностью - часть полей оказались нулевыми. К слову, в последующие дни таких проблем не возникало. У меня вопрос - как бороться с такими ситуациями? Т.е. сделки, в смысле их числа = количество строк в ТОС оказалось корректным - именно столько сделок и было на момент окончания сессии, но по некоторым сделкам данные не загрузились полностью. Могло ли это быть связано с временем, когда я это делал? Мол если бы это было в разгар сессии, то данные догрузились бы. Или данные по сделке всегда подгружаются целиком и не могут приходить частями? И все же что делать в такой ситуации? Перезаказывать данные или заново делать CreateDataSource в скрипте?
6) Если я правильно понял(поправьте, если нет) данные о торгах, которые приходят в квик, можно разделить на две части: данные за текующую торговую сессию, которые используются соответствующими таблицами, и данные за гораздо больший период, которые используют графики. И последние, в отличие от первых, сохраняются локально на комп. Перезаказ данных из меню позволяет удалять полностью и те, и те.
7) Последовательный вызов CreateDataSource (с колбеком) с одними и теми же параметрами без промежуточных Close() приводит к увеличению числа объектов или некий объект создается один раз, а множатся только ссылки?
8) Нетиковый вызов CreateDataSource с колбеком как-нибудь повлияет на ТОС?
9) Я читал на форуме уже немало про асинхронность (хотя не все, вероятно), но все же, встретились противоречивые комментарии. Уточню еще раз. ТОС, ТТП и CreateDataSource живут в своих независимых потоках данных каждый? Или все-таки какие-то пересечения есть? Не очень понятен еще такой момент, как связаны getNumberOf("all_trades") и ds:Size() для тиковых данных.
Sergey Gorokhov написал: а что мешает дописать, а не переписать значения?
Удобство. Т.е. в переменные типа LUA_PATH у меня вписаны, по сути, пути к дополнительным модулям из интернета, они не в квиковской папке лежат. За счет этого у меня нет проблемы с require. Единственное, что приходится прописывать в скриптах через package.path - пути к моим собственным файлам с функциями
Но вопрос в том, что ... Эти package.path\cpath сам Квик использует для чего-нибудь в своей работе? Или они в таком дефолтном виде существуют только для создателей скриптов и их удобства? Если второе, то не о чем беспокоиться. Если первое, то их нельзя "терять" и надо вписывать тоже
Еще кстати одно неудобство возникает при
Код
package.path=package.path.."smth"
Пути неконтролируемо разрастаются от регулярных добавлений одних и тех же кусков при многократном запуске скриптов. Нужно дополнительно это чекать
Арсений написал: Если у меня среди переменных среды нет переменных LUA_PATH, LUA_CPATH, то в квике package.path, package.cpath имеют одни значения, привязанные к папке Квика. Если эти переменные среды явно задать руками, то выглядит так, что они полностью переписывают квиковские на свои.
У меня вопрос. Т.е. квик не дописывает в package.path, package.cpath свои пути при запуске? Это вообще важно для работы квика, если в package.path, package.cpath нет его путей? Словом, что мне нужно делать, чтобы все правильно работало и не возникло потом каких-то проблем с работой квика?
Если у меня среди переменных среды нет переменных LUA_PATH, LUA_CPATH, то в квике package.path, package.cpath имеют одни значения, привязанные к папке Квика. Если эти переменные среды явно задать руками, то выглядит так, что они полностью переписывают квиковские на свои.
У меня вопрос. Т.е. квик не дописывает в package.path, package.cpath свои пути при запуске? Это вообще важно для работы квика, если в package.path, package.cpath нет его путей? Словом, что мне нужно делать, чтобы все правильно работало и не возникло потом каких-то проблем с работой квика?
У меня установился bit32, который в депенденсис luaposix, но сам luaposix не встал: "luke: fatal: cannot find LDocs generator" Поставил ldoc, но ошибка не уходит. Гугл не особо помог. У кого-то была похожая проблема, но не с luaposix https://github.com/gvvaughan/lyaml/issues/21
Здравствуйте! Застрял в самом начале Нубские вопросы, но где еще задать? Поиском тут не нашел Мне нужно несколько библиотек, но я не хочу кидать их в папку Квика, как и любые дальнейшие, если понадобятся. Гуглом нашел 2 варианта: 1) ставить луа, ставить luarocks и потом это все как-то конфигурируется и работает 2) ставить Lua for Windows, там в комплекте есть уже нужная библиотека и, собственно, рабочий Lua 5.1
Первый вариант не получился от слова совсем Пошел вторым. Lua for Windows всем известный https://github.com/rjpcomputing/luaforwindows/releases Ставлю, скажем, в папку C:\Lua. Если запускать скрипт оттуда из SciTe, то библиотека работает. Если из квиковой папки, то предсказуемо нет
Что именно нужно добавить в код скрипта, чтобы библиотеки работали? Я хочу сказать, в Lua for Windows дофига библиотек, и хочется какую-то унифицированную запись, чтобы работали все библиотеки, не только одна нужная из них мне сейчас. А там дофига папок, файлов. И в перспективе это удобно, что они все там лежат и не путаются в папке с квиком, а я не заморачиваюсь с тем, что очередной require не работаетю
Второй момент, что именно нужно сделать, чтобы добавить в эту сборку библиотеку, которой там нет? Хотел еще luaposix добавить. Это делается через luarocks? Как вообще им пользоваться применительно к этой Lua for Windows сборке, может кто-нибудь пояснить - в английских объяснениях я потерялся. Или может стоило все делать первым методом через голый луа и луарокс и это было бы проще?
Отдельный вопрос, кто-нибудь ставил luaposix, на win7х64 оно заработает? В инете есть патч
Если выставлять заявки в стакан, то значение в Текущих чистых позициях, тобишь ГО, меняется. У меня вопрос, это точное значение, транслируемое биржой, которое реально будет после исполнения заявок, или сразу после исполнения проводится еще какая-то коррекция этого значения биржей?