newTrades
Atom
8/2/2012
rminko


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


Tags:


Thanks:


1 2 3  >
ra81

Avatar
Date: 8/3/2012
Reply


rminko: Парни подскажите а событие NewTrades синхронно или нет? может ли пока я обрабатываю одно событие прийти следующее и обработаться в другом потоке? Просто у меня возникают ситуация что следующая сделка открывается за 5 секунд до закрытия предыдущей или вообще открываются две сделки с перерывом в пару секунд хотя еще одного сигнала на вход не возникало... как вообще работает это событие? раньше немного уже спрашивал про событие обновления стакана, там тоже был ньюанс в том что в обработчик события передается не копия текущего состояния стакана а ссылака на живой стакан и пока я его обрабатываю в обрабочике данные в переданной мне в обрабочик стакане меняются что конечноже бред ну да лано победил клонированием и работой клоном.. Может тут тоже такая же мулька? Ну это событие должно передоваться последовательно. То есть завешав обработчик получить следующее будет невозможно.

Thanks:

rminko

Avatar
Date: 8/3/2012
Reply


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

Thanks:

ra81

Avatar
Date: 8/3/2012
Reply


rminko: Это хорошо если синхронно. Вчера провел несколько опытов и тоже понял что синхронно. А проблема с различием времени открытия и закрытия позы видимо связанна с разницей времени сервера и моего. Только вот беру я его и там и там из сделки,ну это ладно победю... не понятно остается откуда еще могут быть сделки без сигнала

Такое может быть если время открытия сделки берется и с сервера и с локального времени. В коннекторах я замечал что время отмеряется локально а не берется с сервера самого. С ммоента старта коннектора время отмеряется локально после синхронизации стартовой. Это может быть причиной. Хотя не до конца понял в чем расхождение времени.

Thanks:

rminko

Avatar
Date: 8/3/2012
Reply


с расхождением разобрался реально из-за разницы времени локального компа и квика. а вот сделки без причинные не понятны... но явно не из-за врени так как разница локального и квиковского времени всего 4-5 сек. а сигнала нет в радиусе как минимум 1-2 минут. могут ли сделки приходить не в прямом порядке например при тормозах?

Thanks:

ra81

Avatar
Date: 8/4/2012
Reply


rminko: с расхождением разобрался реально из-за разницы времени локального компа и квика. а вот сделки без причинные не понятны... но явно не из-за врени так как разница локального и квиковского времени всего 4-5 сек. а сигнала нет в радиусе как минимум 1-2 минут. могут ли сделки приходить не в прямом порядке например при тормозах?

На альфа директе замечено, что порой ответ о сделке и исполнении ордера может задерживаться на длительное время. Даже на час другой. Это явно связано с терминалом или сервером альфы. Как на квике, не скажу нужны спецы по квику.

Thanks:

rminko

Avatar
Date: 8/4/2012
Reply


ra81:

rminko: с расхождением разобрался реально из-за разницы времени локального компа и квика. а вот сделки без причинные не понятны... но явно не из-за врени так как разница локального и квиковского времени всего 4-5 сек. а сигнала нет в радиусе как минимум 1-2 минут. могут ли сделки приходить не в прямом порядке например при тормозах?

На альфа директе замечено, что порой ответ о сделке и исполнении ордера может задерживаться на длительное время. Даже на час другой. Это явно связано с терминалом или сервером альфы. Как на квике, не скажу нужны спецы по квику.

Речь шла о таблице всех сделок, а не о моих сделок. Но вопрос о правильной обработки собственных сделок и заявок тоже актуален. Сейчас думаю над задачей управления позицией:

Как обычно это реализуется, может есть что почитать? Так как пока не могу придумать никакого толкового алгоритма открытия/закрытия позы что бы полностью исключить риск того что реальная поза окажется отличной от той что "подразумевает" робот

Хотел уточнить кстати по порядку возникновения событий, в описании что-то не понял.

Существует 3 возможных результата после отправки заявки на биржу.

  1. Заявка отклонена биржей (ГО не хватает, объем или цена неверные, биржа не работает, связь отрублена и т.д.) в этом случае я так понимаю прийдет OrdersRegisterFailed? для неработающей биржи или отсутствии связи с биржей это событие не придет?

  2. Заявка регистрируется в системе и появляется в стакане - ну тут придет NewOrders, с этим ясно

  3. Заявка исполняется сразу (по рынку кинули например). Вот тут не понятно, придет И NewOrders и OrdersChanged и NewPosition/ChangePosition и в каком порядке? я так понимаю в любом? или первое событие не возникнет?

Thanks:

ra81

Avatar
Date: 8/5/2012
Reply


rminko:

ra81:

rminko: с расхождением разобрался реально из-за разницы времени локального компа и квика. а вот сделки без причинные не понятны... но явно не из-за врени так как разница локального и квиковского времени всего 4-5 сек. а сигнала нет в радиусе как минимум 1-2 минут. могут ли сделки приходить не в прямом порядке например при тормозах?

На альфа директе замечено, что порой ответ о сделке и исполнении ордера может задерживаться на длительное время. Даже на час другой. Это явно связано с терминалом или сервером альфы. Как на квике, не скажу нужны спецы по квику.

Речь шла о таблице всех сделок, а не о моих сделок. Но вопрос о правильной обработки собственных сделок и заявок тоже актуален. Сейчас думаю над задачей управления позицией:

Как обычно это реализуется, может есть что почитать? Так как пока не могу придумать никакого толкового алгоритма открытия/закрытия позы что бы полностью исключить риск того что реальная поза окажется отличной от той что "подразумевает" робот

Хотел уточнить кстати по порядку возникновения событий, в описании что-то не понял.

Существует 3 возможных результата после отправки заявки на биржу.

  1. Заявка отклонена биржей (ГО не хватает, объем или цена неверные, биржа не работает, связь отрублена и т.д.) в этом случае я так понимаю прийдет OrdersRegisterFailed? для неработающей биржи или отсутствии связи с биржей это событие не придет?

  2. Заявка регистрируется в системе и появляется в стакане - ну тут придет NewOrders, с этим ясно

  3. Заявка исполняется сразу (по рынку кинули например). Вот тут не понятно, придет И NewOrders и OrdersChanged и NewPosition/ChangePosition и в каком порядке? я так понимаю в любом? или первое событие не возникнет?

Для квика если сервер не доступен, полагаю ничего не прийдет :). Но это лучше уточнить у квикеров :).

Порядок прихода событий по сделке не должен иметь значения ибо может идти с разных потоков. Я лично просто жду событие NewMyTrade и OrderMatched. Это однозначно показывает что ордер исполнился. Хотя по факту если ордер исполнился сделка уже явно совершилась на бирже.Размер позиции будет равен тому, сколько в ордере исполнилось. То есть объем исполненный в ордере. NewOrders - всегда есть для ордера. OrdersChanged - всегда есть для ордера который изменился. Если исполнился то событие есть. Смотреть исполнение ордера по ChangePosition думаю нецелесообразным.

Thanks:

rminko

Avatar
Date: 8/5/2012
Reply


ra81: Хотя по факту если ордер исполнился сделка уже явно совершилась на бирже.Размер позиции будет равен тому, сколько в ордере исполнилось. То есть объем исполненный в ордере. Не совсем согласен. Разве не может быть ситуации в которой заявка исполнилась, а информация о позиции еще не обновилась... То-есть если я в обработчике orderchanged вижу что у заявки статус - done и баланс 0- значит весь объем съели, но если я тут же проверю состояние позиции по инструменту то вполне могу получить что позиция еще не изменилась... или нет?

Thanks:

rminko

Avatar
Date: 8/5/2012
Reply


Еще сейчас подумал - и еще больше подводных камней нашел. Например совершенно непонятно как разрулить через NewMyOrders и OrderChanged ситуацию когда отправлена заявка на вход в позицию, но еще не пришли никакие события о регистрации этой заявки, а уже поступает сигнал на выход или на переворот. вообщем надо закрывать предыдущую сделку а еще не понятно она вообще есть или заявка в стакане висит или отклонена биржей..... Походу все-таки надо через PositionChanged отслеживать текущую позицию и реализовать какой-то класс синхронизатор который будет смотреть какую позу подразумевает робот а какая реально есть на бирже и синхронизирует их. Интересно как другие контролируют позу? Или так же на авось и периодически синхронизируют?

Thanks:

Kalikazandr

Avatar
Date: 8/6/2012
Reply


rminko: Еще сейчас подумал - и еще больше подводных камней нашел. Например совершенно непонятно как разрулить через NewMyOrders и OrderChanged ситуацию когда отправлена заявка на вход в позицию, но еще не пришли никакие события о регистрации этой заявки, а уже поступает сигнал на выход или на переворот. вообщем надо закрывать предыдущую сделку а еще не понятно она вообще есть или заявка в стакане висит или отклонена биржей..... Походу все-таки надо через PositionChanged отслеживать текущую позицию и реализовать какой-то класс синхронизатор который будет смотреть какую позу подразумевает робот а какая реально есть на бирже и синхронизирует их. Интересно как другие контролируют позу? Или так же на авось и периодически синхронизируют?

здрасте всем. чтото Вы тут огород огородите. тут нет никакой проблемы, если Вы внимательно почитаете встроенную справку по купайлу в квике, то там есть описания функций, с помощью которых оч легко осуществить такой контроль, а робота Вашего надо заставить не делать последующих выставлений ордеров без получения положительного ответа от биржи. по поводу разницы по времени: 1 сек серверного времени = 1000милисек, что означает 1000 ордеров/сек, если их пришло больше, то в табл всех сделок Вы увидете недалекое будущее, я замечал до 5 сек реального времени, как то так.

Thanks:
1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy