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

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

Страницы: 1
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
То что вы пишете про рыночный ордер справедливо к площадке срочного рынка.

для спота Московской биржи это не так, механизм другой.

да и труба - это сомнительная абстракция с учётом факта существования шлюзов.

Ладно, ввязался я во все это дерьмо, надо доделать и забыть весь этот квик как страшный сон. Изверги, надо же слепить такой Франкенштейн...
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Цитата
tohoki написал:
9560658713
Получается, чтобы писать нормальный текст, а не песни Болливуда, нужно после отправки транзакции, получения ответа ontransreply со статусом 3 в процессе ожидания колбеков onorder еще асинхронно проверять состояние заявки на предмет снятия. и если приехал бит снятия в заявке, прекращать ожидание сделок по заявке.

Охренеть можно.

Я, кстати, бывал в Мумбае. Больше никогда.
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
И вопрос к здравому смыслу. Если терминал знает, что заявка была снята (он ведь эту информацию дает) почему бы ему не вернуть не 3 в статусе а 333? Это же нормально и логично. Он же возвращает статусы типа Транзакция не прошла контроль дополнительных ограничений, или Кросс-сделка, а чем наш случай принципиально отличается? В чем разница между Зитой и Гитой?
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Цитата
nikolz написал:
Предположу следующее
транзакция выполнена - это правда, так как заявка доставлена без ошибок в ней и принята биржей
но заявка не выполнена и причина указана в ответе.
Что не так?
Судя по вашему ответу, вдобавок к статусу = 3 необходимо читать текст сообщения.

Ну ок, давайте подумаем.

1. а какие еще могут быть текстовые ответы, кроме "нет встречных котировок", чтобы понять, что ждать исполнения не нужно? В камасутре я ничего даже похожего не нашел

2. Я тут видел, что терминал знает русский и английский языки (но почему то не знает хинди). Получается, нужен еще список ответов на английском?

3. А как узнать, на каком языке сейчас трудится это чудо? Я не нашел камасутре по этому поводу ничего.  grep нашел в каких-то файлах терминала ключ Language, но всему должна быть мера
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
В общем и целом, утверждение, что depolimit с максимальным номером limit_kind дает общее количество лоток/контрактов, выглядит верным. А вот когда нужно смотреть что у нас там в T0,T1,...  то начинается мазохизм с разборками "а это новый или старый вариант depolimit? Старый? Тогда вызываем обработчик1. Новый - тогда делаем обработчик2". И страшный нерешаемый геморрой с торговыми датами, когда накладываются выходные и особенно праздники, так как календаря праздников и тем более переноса рабочих дней в доступе нет. Индусы среди нас, без вариантов.

Пока ковырял весь этот варёный рис, нарвался на ситуацию. Отправляю транзакцию на установку рыночного ордера. Получаю ответ

17:10:11.497 > Ответ на транзакцию: {result_msg="(161) Заявка N 9560658713 зарегистрирована и снята из-за отсутствия встречных
котировок",date_time={day=30,week_day=3,min=10,hour=16,month=4,ms=601,mcs=601153,sec=10,year=2025},quantity=4,price=0,first_order
num=0,got_local_time={day=30,week_day=3,min=10,hour=13,month=4,ms=497,mcs=497542,sec=11,year=2025},uid=3765,flags=2490369,firm_id
="NC0011100000",sec_code="AGRO",time=161010,sent_local_time={day=30,week_day=3,min=10,hour=13,month=4,ms=433,mcs=433926,sec=11,ye
ar=2025},error_source=0,exchange_code="",class_code="QJSIM",trans_id=103070188,error_code=0,client_code="qtest658",account="NL001
1100043",gate_reply_time={day=1,week_day=1,min=0,hour=0,month=1,ms=0,mcs=0,sec=0,year=1601},balance=0,order_flags=4,status=3,orde
r_num=9560658713,brokerref="qtest658//",server_trans_id=26}

Что мы тут видим? status = 3, что в руководстве по камасутре означает
  • «3» – транзакция выполнена;
Ну раз выполнена, то ждем исполнения рыночного ордера. Но исполнения, понятное дело, нет.

Существует ли нормальный вариант отследить эту ситуацию? Чтение текстовой диагностики или священные танцы, пожалуйста, не предлагайте.

Спасибо.
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Цитата
Nikolay написал:
Цитата
tohoki написал:
Спасибо, прочел.

на вопрос, почему в разных терминалах мы видим разные представления данных, ответа не нашел.  
Там же написан ответ:

Ожидается, что в будущем на эту схему перейдет большинство брокерских компаний.
Получается, что программист должен располагать информацией, к какому брокеру подключен терминал, обновила ли эта брокерская компания схему подачи данных и предусмотреть разную их обработку.

Как минимум, удивлен. А вообще - такой восторг я испытываю, когда разбираюсь в шедеврах от индусов

Nikolay, спасибо. Проверю подход с поиском максимального limit_kind
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Существует ли какая-нибудь внятная документация, где сформулировано, что есть дата расчета, откуда она берется, по каким правилам формируется, что такое Тх и все остальное? Чтобы не бродить впотьмах, а просто понять.

Мне нужно следующее. Терминал, в нем происходят сделки. Нужно в колбеке ondepolimit в момент изменения позиции по инструменту найти ПОЛНУЮ позицию по этому инструменту без каких либо дат расчета и скажем, вывести ее не экран.

Есть ли какой нибудь разумный алгоритм, который позволит это сделать и у втб-подобного брокера, и у тех, кто уже исполнил перестройку и гласность?
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Спасибо, прочел.

на вопрос, почему в разных терминалах мы видим разные представления данных, ответа не нашел.  
onDepolimit, Формат данных, возвращаемых onDepoLimit
 
Два квика.
1 : игровой сервер Quik ip 91.209.122.220  версия терминала  12.2.2.8 Lua 5.4
2: боевой ВТБ ip 78.41.199.16    версия терминала 12.2.2.8 Lua 5.4

Смотрим, что отдается по колбеку onndepolimit, интересует поле likin_kind

Игровой:  Сигнал DepoLimit: {locked_buy_value=0,sec_code="GAZP",openbal=-70,locked_sell=0,awg_position_price=143.177143,firmid="NC0011100000",wa_position_price=143.177143,limit_kind=20250426,trdaccid="NL0011100043",currentlimit=0,wa_price_currency="SUR",client_code="qtest658",locked_buy=0,locked_sell_value=0,currentbal=-70,openlimit=0}


Боевой: DepoLimit: {locked_buy_value=0,limit_kind=0,trdaccid="*скрыто*",client_code="*скрыто*",openlimit=0,firmid="MC0061900000",awg_position_price=0,wa_price_currency="USD",wa_position_price=0,locked_sell_value=0,locked_buy=0,locked_sell=0,currentbal=0,sec_code="AAPL.SPB",openbal=0,currentlimit=0}

как видно, на игровом сервере limit_kind закодирован датой расчета. В моем случае они бывают 20250426, 20250427, 20250428 и так далее
на боевом сервере limit_kind изменяется от 0 до 3.

Соответственно, скрипт, работающий на демо, разваливается на боевом.

Вопросы.

1. Как понять ситуацию, когда разные терминалы одной версии дают данные в разных форматах?
2. Как написать скрипт, чтобы он нормально работал везде сейчас и в дальнейшем? Мне нужно получить позицию по инструменту, разбивка по датам расчета не нужна

Спасибо.
утилита для выгрузки котировок, необходимо создать утилиту для выгрузки котировок
 
Цитата
sharkas написал:
здравствуйте,

прошу откликнуться кто пишет скрипты для quik,
необходимо создать утилиту для выгрузки котировок в реальном времени
я вот этой пользуюсь
Страницы: 1
Наверх