getitem и тип сделки. маркет-мейкер маркет-тейкер

Страницы: 1
RSS
getitem и тип сделки. маркет-мейкер маркет-тейкер
 
Друзья, подскажите, если кто-нибудь знает:
Мне в скрипте при запросе типа getitem в таблице сделок deals необходимо для i- й сделке понять была ли она маркет-мейкерская или маркет-тейкерская для определения размера комиссии Мосбиржи для класса инструментов TQBR. Могу ошибаться, но комиссия ТС в этой таблице deals не учитывает активность/пассивность сделки(т. е. комиссия всегда отражается, не важно, были ли сделка заключена "по рынку" или "лимитная". В самой таблице deals в QUIK есть поле "Состояние", принимающее значение "А" и "П", но вот как его  запросить с помощью getitem, я не понимаю. Есть какой то битовый флаг? Помогите пожалуйста 🥺
 
что-то я не вижу таблицу deals в списке таблиц, используемых в функциях getItem (см док)

TableNameТаблица
firmsФирмы
classesКлассы
securitiesИнструменты
trade_accountsТорговые счета
client_codes* Коды клиентов
all_tradesОбезличенные сделки
account_positionsПозиции участника по деньгам
ordersЗаявки
futures_client_holdingПозиции по клиентским счетам  (фьючерсы)
futures_client_limits Ограничения по клиентским  счетам
money_limitsПозиции по деньгам
depo_limitsПозиции по инструментам
tradesСделки
stop_ordersСтоп-заявки
neg_dealsЗаявки на внебиржевые  сделки
neg_tradesСделки для исполнения
neg_deal_reportsОтчеты по сделкам для  исполнения
firm_holdingПозиции участника по инструментам  
account_balanceПозиции участника по торговым счетам  
ccp_holdingsОбязательства и требования по активам  
rm_holdingsВалюта: обязательства и требования по  активам

* - функция  getNumberOf("client_codes") возвращает количество доступных

==================================

Дайте ссылку, где в документации на QLUa Вы ее нашли.
 
Я перепутал, не deals, а trades имел в виду в getItem
 
Цитата
написал:
Я перепутал, не deals, а trades имел в виду в getItem
примерно так:
capacityNUMBERРоль в исполнении заявки. Возможные значения:  
  • «0» – не определено;
  • «1» – Agent;
  • «2» – Principal;
  • «3» – Riskless principal;
  • «4» – CFG give up;
  • «5» – Cross as agent;
  • «6» – Matched principal;
  • «7» – Proprietary;
  • «8» – Individual;
  • «9» – Agent for other member;
  • «10» – Mixed;
  • «11» – Market maker
Код
n = getNumberOf("trades")
   for i=0,n-1 do
      local t = getItem("trades", i)
                if t.capacity==11 then   
                -- это Market maker
                end
   end
 
Спасибо, я проверю на практике, но у меня закралось сомнение, что это не совсем тот маркет-мейкер, что нужно. Если не ошибаюсь тут маркет-мейкер - это не то, как была исполнена заявка(по рынку или как лимитная) , а как признак того, что заявка была выставлена участником маркет-мейкером.
Код
 
Нашел вот тут в описании flag самой таблицы trades, но нужно проверять(как доберусь до ПК)

Бит 6(0x40) - по нему можно попнять , что сделка была исполнена как лимитная, а не рыночная .

Может кто уже этим пользовался и подтвердит

Набор битовых флагов
ПараметрТипОписание
бит 0 (0x1)-Заявка активна, иначе – не активна
бит 1 (0x2)-Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена
бит 2 (0x4)-Заявка на продажу, иначе – на покупку. Данный флаг для сделок и сделок для исполнения определяет направление сделки (BUY/SELL)
бит 3 (0x8)-Заявка лимитированная, иначе – рыночная
бит 4 (0x10)-Разрешить / запретить сделки по разным ценам
бит 5 (0x20)-Исполнить заявку немедленно или снять (FILL OR KILL)
бит 6 (0x40)-Заявка маркет-мейкера. Для адресных заявок – заявка отправлена контрагенту
бит 7 (0x80)-Для адресных заявок – заявка получена от контрагента
бит 8 (0x100)-Снять остаток
бит 9 (0x200)-Айсберг-заявка
 
Цитата
написал:
Спасибо, я проверю на практике, но у меня закралось сомнение, что это не совсем тот маркет-мейкер, что нужно. Если не ошибаюсь тут маркет-мейкер - это не то, как была исполнена заявка(по рынку или как лимитная) , а как признак того, что заявка была выставлена участником маркет-мейкером.  
Код
    
Из Вашего вопроса и следовало, что Вы хотите  узнать участника.
Чтобы получить нужный Вам ответ , пишите правильно вопросы.  
 
А вопрос-то правильный, интересный и нужный. И хорошо бы узнать, что скажут об этом разработчики.
Поскольку внятного ответа так и не было, подниму тему вновь. Вопросов здесь, на самом деле, два:
1. Какой параметр в таблице сделок (или в данных, получаемых от прерывания OnTrade) позволяет определить, была ли сделка "тейкерной" или "мейкерной" в том смысле, что заложен в комиссионные тарифы Мосбиржи?
2. Зависит ли передача этого параметра в терминал пользователя от настроек на стороне брокера?
 
Цитата
Glukator написал:
А вопрос-то правильный, интересный и нужный. И хорошо бы узнать, что скажут об этом разработчики.
Поскольку внятного ответа так и не было, подниму тему вновь. Вопросов здесь, на самом деле, два:
1. Какой параметр в таблице сделок (или в данных, получаемых от прерывания OnTrade) позволяет определить, была ли сделка "тейкерной" или "мейкерной" в том смысле, что заложен в комиссионные тарифы Мосбиржи?
2. Зависит ли передача этого параметра в терминал пользователя от настроек на стороне брокера?
Нет там проблем никаких. Просто nshch спутал Сделки с Заявками и выкатил сюда описание битовых флагов для Заявок. В описании флагов для Сделок всё есть:
бит 5 (0x20) Пассивная сделка («Состояние» — «П»)
бит 6 (0x40) Активная сделка («Состояние» — «А»)
 
Игорь М, спасибо! Лишь бы оно работало. А то ж знаете сами, квик такая штуковина чудесатая. Есть-то много чего, только работает все это порой довольно странно и с кучей условностей :)  
 
Вопрос-то, может, и правильный, но мало интересный и совсем уж не нужный. Во-первых, очевидно, что Квик знает о том, была ли сделка тейкерной или мейкерной - достаточно посмотреть на цифирь комиссии в портфеле. Во-вторых, эти данные нафиг не нужны: при подаче заявке мы не можем гарантировать, будет ли сделка тейкерной или мейкерной, а после того, как сделка состоялась, это и тем более никому не интересно. В-третьих, что за бред? Как это
бит 5 (0x20) Пассивная сделка ("Состояние" - "П")
бит 6 (0x40) Активная сделка ("Состояние" - "А")

Если я что-нибудь в чём-нибудь понимаю, то сделка может быть либо активной либо пассивной, то есть это ОДИН бит информации, а здесь их ДВА. И что будем делать с состояниями 0x00 и 0x60?
Страницы: 1
Читают тему
Наверх