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

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

Страницы: 1
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Печально конечно, но хотя бы ясность. На самом деле, даже не время критично, а неопределенность конца приема, то ли все, то ли еще будет..  Количества не хватает для контроля.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Раз у вас такой довольно хакерский подход к длл, может пойти в хаченье дальше, выставить ордер гарантированно вне лимита и принять ответ о его отклонении? Как минимум, продавит то, что ползло до него по сети в обе стороны.
C квиковской длл по другому незя)))
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Ну то есть "когда рабочее место квик считать окончательно инициализированным после подключения к серверу". Ответ тут по форуму разбросан, в переводе на русский все это многословие звучит как "никогда". Никто не обещает, что после самого окончательного обновления инфы не придет еще более окончательное, никаких маркеров "вот это была история, а вот это реалтайм пошел" в квике нет. Никакой невозможности получения тоже нет, либо соединение потеряно, либо оно не потеряно и данные едут, быстро ли, медленно ли, как получится.
Нет. Это текущий поток, это не совсем то.. Все инициализировано и работает. Работает, работает. Вдруг у меня (моей проги) возникла необходимость проанализировать все мои текущие ордера. Я делаю так :  TRANS2QUIK_SUBSCRIBE_ORDERS( "", "" ); TRANS2QUIK_START_ORDERS(); , а затем собираю их из калбека по одному. Но как мне понять, что я закончил принимать??? А как мне узнать, что я все принял??? Никак?  
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Возвращаться за конечное, короткое время. Или квик меня должен проинформировать о невозможности получения полной информации об ордерах (истечение таймаута).  Это возможно, и так должно быть. Если это не так, то это лишь огрехи системы, возможно вследствие неправильного построения.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Речь малость не о том. Как я уже писал, моя задача проста, - получить все активные ордера на текущий момент. Я не отправляю никаких заявок (хотя это ничего не меняет), меня интересуют мои ордера на текущий момент. Я их запрашиваю посредством TRANS2QUIK_START_ORDERS, но принять не могу. Кто кого обогнал, или протормозил мне не важно. Мне важны мои активные ордера на текущий момент. Транзакции были давно, а те что недавно для меня не важны. Ордера должны возвращаться независимо от торможений, задержек и прочего.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Не поэтому только, а по самой природе распределенной системы. Ровно в ту микросекунду, когда рабочее место дернуло ваш код с докладом обо всех заявках, на сервер может подъехать еще одна ваша заявка и опа у нас опять неконсистентность. Запретить отправлять до получения ответа, как вы выше писали, нельзя, это равно синхронной отправке заявок по одной, то есть плюс два пинга на заявку минимум, многие такого "улучшения" не оценят. Правильным решением было бы добавление сущности "группа заявок" с атомарной обработкой, но чета я сомневаюсь, что в народный квик перетащат весь фикс. Даже если арка решит слить свой другой продукт, мамба такого альтруизма может не понять. Впрочем, мы по кругу уже пошли.
То, что я отправил заявку до окончания ответа, это уже мои проблемы, ее может и не быть, это нормально. Но этой функциональности все равно нет. Что касается равенства синхронной отправке, это не так. Заявки можно отправлять без ожидания ответа, если ордера по ним пока не интересны. Это вообще не связанные вещи, сервер должен возвращать то, что есть на текущий момент, а чего еще нет, от него не требуют. Природа распределенной системы здесь ни причем, кривая реализация системы квик налицо.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
О факте успешного получения информации как раз и говорит дернутый колбек, невозможность получения информации - это по-хорошему нонсенс, крэш соединения. А вот что рабочее место не всегда колбек дергает, это тот самый косяк. Более того, из неофициальных, тксть, источников, ответ-то от сервера оно при этом получает. Тупо где-то ветка кода упущена.
Дернутый каллбэк говорит о конкретном ордере на сервере, но не говорит об их кол-ве или окончанию дерганья. Поэтому по факту невозможно получить все активные ордера на текущий момент.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
По-моему, вы мешаете в кучу несколько разных проблем и пытаетесь придумать решение всех их сразу одной серебряной пулей. Если говорить о косяке, когда вы можете вообще не получить никакого ответа на транзакцию, то это косяк, он должен решаться (на стороне квика) не таймаутами, таймаут тут был бы не более чем костылем, причем как раз таким, за который и уволить стоило бы. При условии наличия этого косяка возникает отдельная тема что с ним делать на стороне клиента, но это именно уже другая тема, к пряморукости арки отношения не имеющая.
Согласен.
Цитата
Другой вопрос - о времени ответа на транзакцию, тут, с одной стороны, никто гарантий давать не будет, а с другой, если косяка, описанного выше, нет, то и дергаться незачем, когда-нибудь ответ придет (или будет разорвано соединение, что тоже своего рода ответ). То, что вы предлагаете, насколько я понял, - это "квик после отправки транзакции встает колом и висит до получения ответа сервера, но не дольше, чем (заданный) таймаут". Так себе решение.
Нет, я предлагал не это. Я предлагал информировать меня об успешном завершении получения инф-ии или о невозможности успешного завершения по таймауту.


На самом деле моя задача проста, - получить все активные ордера на текущий момент. API Dll, как сейчас мне представляется, этого сделать не позволяет. И не позволяет по причине кривой реализации Dll и/или квика, и никакие мои костыли в этом не помогут.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Выше и сейчас я пишу как должно быть, а не как есть. Итак.

Цитата
Откуда появилась проверка? Кем она была инициирована?
Эту проверку должен осуществлять квик. Сейчас ее нет. Сделать это можно (по крайней мере при проектировании это было можно).
Цитата
Какие "все"? В каком месте вы начали атомарную транзакцию с группой заявок, чтобы требовать ее атомарного завершения?
Нет никакой атомарной транзакции с группой. Под "все", имеются ввиду все заявки дошедшие до сервера (в тек. сессию). Соответственно все они должны прийти в каллбэк при нормальной работе.
Цитата
Тогда можно считать, что таймаут всегда является истекшим. Действительно, начните с этого предположения. Вы отправили что-то, таймаут истек. Ваши действия?
Нет, нельзя. Это исключительная ситуация. В случае ее возникновения, я делаю повторный запрос, и так до бесконечности. Если я регулярно не могу получить все ордера с сервера, система не работоспособна и требует ремонта/замены или смирения.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Истекший таймаут означает невозможность получения полной инф-ии о заявках, а не их отсутствие/наличие.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Вот смотрите, вы отправляете 10 заявок сразу, сервер их обрабатывает и посылает ответ "все заявки обработаны". Но пока этот ответ идет по сети, вы отправили еще одну. Тут вам приходит ответ "все заявки обработаны". Все 10 или все 11? Или наоборот, истек таймаут, квик дернул колбек "увы и ах" и тут начали сыпаться ответы. Куда их девать теперь, выбрасывать? Но заявки уже на бирже, часть уже может исполнилась, а ваш код думает, что таймаут истек. Простое решение только одно - сообщения о состоянии индивидуально по каждой транзакции, что квик и делает в меру сил.

В принципе, вы сами можете таймаут прикрутить. Отправляете заявку - ставите таймер, получаете ответ - сбрасываете таймер, если таймер таки сработал - вы не получили ответа за заданный интервал. Видите уже, что вам сделать придется? Ага, хранилище заявок с их состояниями. Более того, вам несколько сущностей понадобится, позиции, заявки, транзакции.
Все не верно.

1. Не нужно разрешать отправлять заявки во время проверки и это было бы правильно.
2. Куда сыпяться заявки меня не волнует, в каллбеке они должны быть только тогда, когда я их там жду (в нашем контексте). Если программисты квика не знают как это сделать, я подскажу ( хотя это очень просто ).
3. Таймаут не у меня, а у квика, и квик должен меня о его истечении информировать.
4. Таймаут я прикрутить не могу, тк. не знаю все заявки пришли или нет.

5. Не оправдывайте не умение программировать и продумывать систему до мелочей. На моей основной работе за такое программирование в лучшем случае выгонят.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Отличным решением было бы информирование о получении всех ордеров в каллбэк (или не получении по истечении таймаута). Как сейчас, если я правильно понимаю, я даже не могу понять все пришло или ждать еще чего..
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Дык в новосибе ночь уже, тем более пятница. Теперь в понедельник ответ будет, ежли Егора бессонница не мучает. Если хотите рассуждений за вообще, то гарантированно все активные ордера не придут никогда. Рассмотрите ситуацию, квик отправляет заявку и немедленно теряет соединение. Рассмотрите другую, на маршруте между квиком и сервером сдох роутер и трафик идет со скоростью 1 кб/с, соединение при этом не теряется.
Ну тогда вся эта квик система г-но, а ее программеров следует разогнать. Неприход по причине обрыва, это исключительная ситуация которая может и должна быть обработана, а то что скорость низкая, это вообще не аргумент.. тем более, что все транзакции короткие, даже с учетом шифрации.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Где ответ? Не делайте вид, что вопрос не читали.
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
После вызова TRANS2QUIK_START_ORDERS, в течении какого времени гарантированно придут все активные ордера в CallBack???
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Цитата
Добрый день.
Получить свои заявки и сделки можно функциями: TRANS2QUIK_SUBSCRIBE_ORDERS, TRANS2QUIK_START_ORDERS и TRANS2QUIK_TRADE_STATUS_CALLBACK и TRANS2QUIK_START_TRADES
По ссылке можете воспользоваться готовым примером по работе функций: https://arqatech.com/upload/iblock/80a/Trans2QuikAPI_1.3_x64.zip

А вы пост то читали?
Как получить список моих активных ордеров и список сделок по моим ордерам?, TRANS2QUIK
 
Описание TRANS2QUIK_UNSUBSCRIBE_ORDERS :
Цитата
Вызов функции прерывает работу функции
TRANS2QUIK_START_ORDERS и производит очистку
списка получаемых инструментов, сформированного
функцией TRANS2QUIK_SUBSCRIBE_ORDERS
Как мне ГАРАНТИРОВАННО получить список моих активных ордеров и список сделок по моим ордерам ИЗ DLL TRANS2QUIK?
Как проверить статус транзакции ( по TRANS_ID ) отправленной TRANS2QUIK_SEND_ASYNC_TRANSACTION, Не используя TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
 
То, что она отправлена я и сам знаю. Вопрос в актуальности статуса.
( TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK иногда не срабатывает !!! )
Как проверить статус транзакции ( по TRANS_ID ) отправленной TRANS2QUIK_SEND_ASYNC_TRANSACTION, Не используя TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
 
И еще, есть ли регламентированное максимальное время от транзакции до создания (выставления) ордера? Могу ли я забить на анализ транзакций и анализировать только ордера спустя X-секунд? Если транзакция успешно отправлена, но ордер в течении X-секунд не появился, можно ли считать что транзакция отклонена(причина не важна) биржей?
Как проверить статус транзакции ( по TRANS_ID ) отправленной TRANS2QUIK_SEND_ASYNC_TRANSACTION, Не используя TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
 
Она может быть не актуальной?
( например TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK иногда не срабатывает )
Как проверить статус транзакции ( по TRANS_ID ) отправленной TRANS2QUIK_SEND_ASYNC_TRANSACTION, Не используя TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
 
Собственно вопрос в названии.
Допустим моя прога мега глючная и падает сразу после TRANS2QUIK_SEND_ASYNC_TRANSACTION увлекая за собой QUIK.. Как мне после перезапуска QUIK и моей проги узнать статус транзакции ( TRANS_ID успел сохранить)) )?
Странное поведение getClassSecurities, Неторгуемые инструменты из getClassSecurities( "SPBFUT" )
 
А почему он транслируется, если торги закончены? И когда перестанет?
Странное поведение getClassSecurities, Неторгуемые инструменты из getClassSecurities( "SPBFUT" )
 
Перезаказал данные, это не помогло. Более конкретно, присутствует BRK9
Странное поведение getClassSecurities, Неторгуемые инструменты из getClassSecurities( "SPBFUT" )
 
Версия QUIK 7.26.0.26
Цитата

Повторяется ли проблема, после очистки данных в терминале (меню Система - Заказ данных - Перезаказать данные)?
Я не хотел бы перезаказывать сейчас, тк. возможно проблема при этом уйдет, но с истечением срока опять проявится. Или мне в скрипт перезаказ данных закладывать???
Странное поведение getClassSecurities, Неторгуемые инструменты из getClassSecurities( "SPBFUT" )
 
getClassSecurities( "SPBFUT" ) возвращает некоторые фьючерсы торги по которым завершены. Так и должно быть?
Страницы: 1
Наверх