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