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

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

Страницы: 1
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
В общем, помогло удаление файла dat. Но всё равно, из за чего при изменении настроек фильтра, таблица обезличенных сделок начинает жёстко сбоить?
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
Цитата
nikolz написал:
Цитата
вадим написал:
   Вроде бы? Зачем утверждать то, в чём не уверен?  Данные, которые может увидеть скрипт, при отсутствии ошибок, те же что и в видимой таблице. Легко проверить с помощью функций. Запрашиваешь количество строчек таблицы обезличенных сделок, а потом пробуешь получить значение из строки большей, чем их есть в видимой таблице. Выдаст значение nil.
k = getNumberOf("all_trades")
F=getItem("all_trades",k).flags
Но как я и писал выше, в некоторых случаях случается ошибка, при редактировании параметров фильтров, замене инструментов перед экспирацией. Скрипт выдаёт значения из строк неверно, скорее всего из-за того что при редактировании параметров фильтра, некорректно обновляется файл, содержащий данные обезличенных сделок. Из-за это скрипты у меня, которые анализируют ТОС, начинают выдавать чушь.  Правда ситуация исправляется перезаказом данных, но иногда это приходится делать по несколько раз. В последний раз у меня было такое, что я перезаказывал данные после замены инструментов перед экспирацией и у меня раз через раз отображалось то 42108 строчек, то 41958. Притом, что менялось и их программное отображение. В зависимости от того сколько отображалось строчек, у меня менялись первые свечки тикового графика. То их не было, то они появлялись, после перезаказа. И только на раз 8 перезаказа, после проверки, таблица начала выдавать данные, которые запрашивают. И поэтому когда происходят какие то изменения в параметрах фильтра таблицы обезличенных сделок, я проверяю корректное их обновление. В своё время, пока я не обнаружил эту ошибку, я сильно намучался, пытаясь понять почему мои скрипты работают неверно.
Написал "вроде бы" так как исследовал это надцать лет назад.
Но специально для Вас сделал сейчас снова.
------------------
Да, я оказался прав.
вот две картинки
На этой таблица содержит все
 
а на этой включен фильтр кол-во=10
 
 
но результат запроса числа строк в ТОС
остается как без фильтра
Если вы перезакажите данные, или перезапустите квик, то таблица будет выдавать только данные инструментов, выбранные фильтром. Но проблема то и не в этом, а в том что потом таблица выдаёт данные не из тех строк, из которых вы их заказываете. Возможно я крайне туп, что очень долго это мерещится мне, и зря при изменениях в фильтре каждый раз проверяю таблицу и перезаказываю данные. Очень возможно. Если у кого нибудь ещё появятся такие ошибки, тогда проблема подтвердится.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
Цитата
nikolz написал:
Цитата
вадим написал:
Здравствуйте. В квике есть ошибки, связанные с таблицей обезличенных сделок (далее ТОС). При чём у меня два брокера и эта проблема есть в обоих QUIK. При включенном фильтре, когда убираешь какой-либо инструмент из ТОС, то программно он не убирается. Или когда происходит замена инструментов перед экспирацией, ТОС начинает выдавать не правильные данные. Возможно есть и другие ситуации, когда случаются ошибки, я встречал пока только эти. У меня скрипты собирают данные из ТОС. И я заметил ошибки, когда скрипты начали сбоить. Хоть визуально таблица правильно выглядит, программно из неё нельзя корректно получить данные. Сегодня произошла замена инструмента. И мне пришлось раз 8 перезаказать данные, ещё и перезапустить QUIK. Проверяю я работу выводом данных из случайных строк через функцию getItem. И только спустя столько перезагрузок, мне начало выдавать значения те, что и показываются в строке из которой я беру данные. Исправьте пожалуйста проблему в следующих версиях.
Вроде бы, если включить фильтры, то они действуют лишь на отображаемую таблицу.
Скрипт будет видеть всю таблицу без фильтров.
Вроде бы? Зачем утверждать то, в чём не уверен?  Данные, которые может увидеть скрипт, при отсутствии ошибок, те же что и в видимой таблице. Легко проверить с помощью функций. Запрашиваешь количество строчек таблицы обезличенных сделок, а потом пробуешь получить значение из строки большей, чем их есть в видимой таблице. Выдаст значение nil.
k = getNumberOf("all_trades")
F=getItem("all_trades",k).flags
Но как я и писал выше, в некоторых случаях случается ошибка, при редактировании параметров фильтров, замене инструментов перед экспирацией. Скрипт выдаёт значения из строк неверно, скорее всего из-за того что при редактировании параметров фильтра, некорректно обновляется файл, содержащий данные обезличенных сделок. Из-за это скрипты у меня, которые анализируют ТОС, начинают выдавать чушь.  Правда ситуация исправляется перезаказом данных, но иногда это приходится делать по несколько раз. В последний раз у меня было такое, что я перезаказывал данные после замены инструментов перед экспирацией и у меня раз через раз отображалось то 42108 строчек, то 41958. Притом, что менялось и их программное отображение. В зависимости от того сколько отображалось строчек, у меня менялись первые свечки тикового графика. То их не было, то они появлялись, после перезаказа. И только на раз 8 перезаказа, после проверки, таблица начала выдавать данные, которые запрашивают. И поэтому когда происходят какие то изменения в параметрах фильтра таблицы обезличенных сделок, я проверяю корректное их обновление. В своё время, пока я не обнаружил эту ошибку, я сильно намучался, пытаясь понять почему мои скрипты работают неверно.
Таблица обезличенных сделок не наполняется, С началом нового дня не приходят свежие даннные
 
Здравствуйте. В квике есть ошибки, связанные с таблицей обезличенных сделок (далее ТОС). При чём у меня два брокера и эта проблема есть в обоих QUIK. При включенном фильтре, когда убираешь какой-либо инструмент из ТОС, то программно он не убирается. Или когда происходит замена инструментов перед экспирацией, ТОС начинает выдавать не правильные данные. Возможно есть и другие ситуации, когда случаются ошибки, я встречал пока только эти. У меня скрипты собирают данные из ТОС. И я заметил ошибки, когда скрипты начали сбоить. Хоть визуально таблица правильно выглядит, программно из неё нельзя корректно получить данные. Сегодня произошла замена инструмента. И мне пришлось раз 8 перезаказать данные, ещё и перезапустить QUIK. Проверяю я работу выводом данных из случайных строк через функцию getItem. И только спустя столько перезагрузок, мне начало выдавать значения те, что и показываются в строке из которой я беру данные. Исправьте пожалуйста проблему в следующих версиях.
QUIK не отправляет заявку, в которой цена представлена переменной
 
Цитата
BlaZed написал:
Цитата
Андрей написал:
Кто-нибудь знает ЧТО ЭТО ЗА БРЕД?
Знаю, сталкивался с этим.
В переменной PRCStr у тебя строка типа "12345.0"
А в транзакцию цену надо передавать строку с учетом шага цены "12345"

Короче, точку с нулем из строки похерь и будет счастье
Код
   function   cut_zero (str)
   local  num = tonumber(str)
   local  zero =  string.byte ( "0" , 1 )
   local  point =  string.byte ( "." , 1 )
   if ( string.find (num,'%.'))  then   -- Имеется точка в числе 
     for  n =  string.len (num), 1 , -  1   do   -- Перебор справа налево 
       if ( string.byte (num,n) =  = point)  then   return   string.sub (num, 1 ,n -  1 )  end 
       if ( string.byte (num,n)~ = zero)   then   return   string.sub (num, 1 ,n)  end 
     end 
   end 
   return  num
 end 
  
Можно и проще, зачем такие сложности. Можно округлить до целого и убрать точку с нулём через math.ceil().
Страницы: 1
Наверх