Полностью ли выполнена заявка?

Страницы: 1
RSS
Полностью ли выполнена заявка?
 
Добрый день
Как узнать, полностью ли выполнена заявка?
Из мануала:
бит 0 (0x1)  Заявка активна, иначе – не активна  
бит 1 (0x2)  Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена  

Не понятно значение второго поля (то есть, бита "1")
Судя по первому предложению ("Заявка снята"), он должен быть "1", когда заявка снята.
Судя по второму предложению ("Если флаг не установлен..."), он должен быть "0", как и первый бит... иначе получается, что заявка еще не снята, а до сих пор актуальна.

Итак, "0" и "0" или "0" и "1"?

Спасибо!
 
Первый флаг 0х1 означает "Активна ли заявка".
Если == 1, то активна.
Если == 0, то снята либо исполнена.

Второй флаг как раз объясняет это состояние.
Если == 1, то снята.
Если == 0, то исполнена.

т.е. 0х00 = исполнена,
0х01 или 0х03 = активна,
0х02= снята
 
Добрый день.
В заявке есть поле balance (остаток). Если заявка не активна и balance == 0 , то заявка исполнена полностью
 
А если неактивна, не снята, и balance != 0?
 
А можно ли использовать только balance без битовых проверок?
 
Уважаемые господа, вопрос не решен.

В таблице trade нет никакого balance. Я анализирую то, что приходит в OnTrade.
Есть trade.value, но это объем в деньгах, ничем не помогает.

Печалька такая: независимо от того, полностью или не полностью выполнена заявка, биты "0" и "1" в flags ВСЕГДА нулевые. Это проверено экспериментально. Конкретно код такой:
   if bit.band(trade.flags,1) == 0 and bit.band(trade.flags,2) == 0 then isComplete = true else isComplete = false end
Может, тут ошибка? Я ее не вижу. Следующий бит "2" срабатывает при аналогичной проверке на buy/sell корректно:
   if bit.band(trade.flags,4) > 0 then operation = sell else operation = buy end

Как проверить-то?!
Не хочется запоминать отправленное в заявке значение объема, а потом смотреть на пришедшее в OnTrade trade.qty, вычитать и сравнивать с нулем... это будет костыль какой-то.

Heeeeeeeeeeeeeeeeeeelp !!!
Спасибо!
 
Может, поможет:
В QUIK нет таблицы "trade", но только "trades".
В таблице "trades" нет заявок, только сделки.
Заявки - в таблице "orders".
Надо делать так, как надо. А как не надо - делать не надо.
 
полагаю, что есть в описании функции, то и будет работать:
function OnTrade(trade)
function OnTrade(trades)
function OnTrade(ooooooo)

ooooooo.qty - рабочий вариант, ась?
 
Хорошо, в OnTrade нет заявок.
Цитата
Сергей написал:
ooooooo.qty - рабочий вариант, ась?
Рабочий. Можете работать.
Надо делать так, как надо. А как не надо - делать не надо.
 
Это ирония или что?
Я всерьез рассчитываю, что именно указанная в описании функции переменная/таблица будет содержать необходимые данные.
 
По-моему, два решения озвучено:

Цитата
Michael Bulychev написал:
В заявке есть поле balance (остаток). Если заявка не активна и balance == 0 , то заявка исполнена полностью

Цитата
Сергей написал:
запоминать отправленное в заявке значение объема, а потом смотреть на пришедшее в OnTrade trade.qty, вычитать и сравнивать с нулем
Надо делать так, как надо. А как не надо - делать не надо.
 
Вы путаете заявки со сделками. Сделки (trades) не могут быть активны/не активны или сняты. Поэтому 0-й и 1-й биты для них не используются.
Надо делать так, как надо. А как не надо - делать не надо.
 
Вооот! Точно! Не в OnTrade нужно ловить, и не сделки!
СПА-СИ-БО!
 
Цитата
Imersio Arrigo написал:
А если неактивна, не снята, и balance != 0?
Хотелось бы услышать ответ на этот вопрос.
 
Цитата
Constantin написал:
Цитата
Imersio Arrigo   написал:
А если неактивна, не снята, и balance != 0?
Хотелось бы услышать ответ на этот вопрос.
Добрый день.
Придумайте. пожалуйста, реальную ситуацию для такого случая.
 
По флагам - заявка исполнена, но Balance ещё(?) не стал равен нулю. Вот и спрашивают - такое возможно?
 
Я такой ситуации не представляю.
 
Вопрос в тему:
На практике кто-нибудь сталкивался с тем, что сумма всех qty > запрашиваемого объёма.
Я имею ввиду, всегда ли гарантировано хватает точности Lua-типа number (или Си типа double) для хранения значения объёма
(и проведения с этим значением поэтапного вычитания - вычисление невыполненного объёма)?
 
Вячеслав +,
Приведите пример из жизни
 
Мин и макс целое в lua
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
 8-битный плавающий...   должно быть, однако,  8-бАЙтный плавающий...  
Страницы: 1
Читают тему
Наверх