Ошибка при перерегистрации ордера - ReRegisterOrder ошибка


Ошибка при перерегистрации ордера - ReRegisterOrder ошибка
Atom
2/18/2014


Подскажите кто сталкивался, выполняю перерегистрацию ордеров по нужным мне ценам с помощью ReRegisterOrder.
Какое то время все хорошо, потом в статусе текущей заявки появляется статус None, в терминале остается активная заявка, а в мониторе следующее:

FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:39 Info Перерегистрация заявки 71328746 с ценой 9645 на цену 9646.
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:39 Info Перерегистрация проскальзывания заявки 71328746 (0x179D47C) на заявку (0x629157).
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:40 Info Заявка 71328746 больше не активна.
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:40 Info Перерегистрация заявки 71328747 с ценой 9646 на цену 9645.
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:40 Info Перерегистрация проскальзывания заявки 71328747 (0x629157) на заявку (0x2FF6AFB).
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:40 Info Заявка 71328747 больше не активна.
FS_SRH4@FORTS_SPBFUT00b19 14.02.2014 20:28:40 Info Новая позиция: SPBFUT00b19-SRH4@FORTS=28.

None статус у следующего ордера №71328748, в монитор он не попадает вообще.

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

версия библиотеки 4.2.2.6 ошибка в том, что не приходит ответ от терминала, что ордер выставлен и активен, если этот ордер снять вручную, то приходит статус Done, если ордер начинает исполнятся, то так же приходят нужные статусы, но до исполнения робот не видит ордер.



Thanks:


< 1 2 3 4 5  > >>
vsnoopy83

Avatar
Date: 2/19/2014
Reply


Bond Go to
vsnoopy83 Go to
Bond Go to
vsnoopy83 Go to
Bond Go to
Любят они и тики отключать и сделки. Типа нам это не нужно)
Вам нужно отлавливать момент, когда происходит изменение.
В дополнение поставьте таймер. Если в течении минуты статус не изменился снимайти заявку и выставляйте по-новому. Лучше перестраховаться. Биржа тоже порой косячит не по-детски.


Так хорошо, но как её снять то))) если S# её не видит)) а по факту в терминале она стоит уже давно)


Слушай, да тут делов на две строчки в коде [biggrin]

Если заявка долго не переходит в состояние Активная, делай вот такую штуку:
Code

foreach (var order in Trader.Orders)
            {
                if (order.State == OrderStates.Active) Trader.CancelOrder(order);
            }


И торгуй себе дальше)


я же говорю, CancelOrder не пройдет, нельзя снять ордер, если система считает, что его нет.


Trader.Orders - это массив сделок из Квика, а не СтокШарпа. Проверял, все там четко работает.
Специально для тебя потратил время. Но, я думаю, ты сам в следующий раз разберешься.



Я смотрел Trader.Orders там те же статусы- None. Спасибо за потраченное время.
Thanks:

vsnoopy83

Avatar
Date: 2/19/2014
Reply


Михаил Сухов Go to
vsnoopy83 Go to


Навскидку косяк - перерегистрация может случится в момент, когда предыдущая еще не зарегистрирована биржей.


Но мы ведь проверяем статус при перерегистрации и не начинаем её пока не получим Active. И опять же странно, что в некоторых случаях и по нескольку раз в секунду все нормально срабатывает, а в некоторых случаях на редких операциях не приходит статус.
Thanks:

casper-ss

Avatar
Date: 2/19/2014
Reply


Я как понял если чел парится по транзакциям значит планирует торговать на скоростях...и наверное в будущем не через квик...дык вопрос, зачем обкатываться и парится на джуниоре, когда можно сразу на тестовой плазе например...лично по себе скажу, джуниор - это полный геморрой, очень проблематично там что то нормально обкатать, не говоря уже, что от боевой версии он сейчас достаточно сильно отличается...:)
Thanks:

vsnoopy83

Avatar
Date: 2/19/2014
Reply


casper-ss Go to
Я как понял если чел парится по транзакциям значит планирует торговать на скоростях...и наверное в будущем не через квик...дык вопрос, зачем обкатываться и парится на джуниоре, когда можно сразу на тестовой плазе например...лично по себе скажу, джуниор - это полный геморрой, очень проблематично там что то нормально обкатать, не говоря уже, что от боевой версии он сейчас достаточно сильно отличается...:)


Есть ошибка, есть 2 пути, решить проблему в корне, или сделать вид, что её не существует, эта ошибка может возникнуть и на небольших скоростях, на 1 ордере в день. Кроме того у меня уже торгуется робот рукописный уже длительное время, я хочу перенести его функциона на сток шарп под квик, чтобы добавить свои фишки и прочее.
Thanks:

Bond

Avatar
Date: 2/19/2014
Reply


Вообще все это очень странно.
Конечно, всегда нужно ожидать, что что-нибудь начнет глючить.
Я запускаю робота. Не совершаю ни одной сделки, не отправляю ни одной заявки Запрашиваю Trader.orders и он мне ее выводит как она есть. Роботу, в принципе, больше не откуда получать данные как из таблицы.
И почему они у вас могут отличаться совершенно непонятно.
Thanks:

vsnoopy83

Avatar
Date: 2/19/2014
Reply


Bond Go to
Вообще все это очень странно.
Конечно, всегда нужно ожидать, что что-нибудь начнет глючить.
Я запускаю робота. Не совершаю ни одной сделки, не отправляю ни одной заявки Запрашиваю Trader.orders и он мне ее выводит как она есть. Роботу, в принципе, больше не откуда получать данные как из таблицы.
И почему они у вас могут отличаться совершенно непонятно.


Так проблема в этом и есть, что не доходит инфа из терминала в библиотеку.

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

Mikhail Sukhov

Avatar
Date: 2/19/2014
Reply


vsnoopy83 Go to
Михаил Сухов Go to
vsnoopy83 Go to


Навскидку косяк - перерегистрация может случится в момент, когда предыдущая еще не зарегистрирована биржей.


Но мы ведь проверяем статус при перерегистрации и не начинаем её пока не получим Active. И опять же странно, что в некоторых случаях и по нескольку раз в секунду все нормально срабатывает, а в некоторых случаях на редких операциях не приходит статус.


Это еще зависит от потоков... Вы можете прислать код с воспроизведением данной ошибки? Будет просто великолепно, если на стандартном примере Sample вы сделаете изменения и тем самым воспроизведете ошибку.
Thanks:

vsnoopy83

Avatar
Date: 2/19/2014
Reply


Михаил Сухов Go to
vsnoopy83 Go to
Михаил Сухов Go to
vsnoopy83 Go to


Навскидку косяк - перерегистрация может случится в момент, когда предыдущая еще не зарегистрирована биржей.


Но мы ведь проверяем статус при перерегистрации и не начинаем её пока не получим Active. И опять же странно, что в некоторых случаях и по нескольку раз в секунду все нормально срабатывает, а в некоторых случаях на редких операциях не приходит статус.


Это еще зависит от потоков... Вы можете прислать код с воспроизведением данной ошибки? Будет просто великолепно, если на стандартном примере Sample вы сделаете изменения и тем самым воспроизведете ошибку.


Да, думал о потоках, да, сделаю Sample надо немного времени.
Thanks: Mikhail Sukhov

vsnoopy83

Avatar
Date: 2/19/2014
Reply


Повторил ошибку на Sample. Как видно из скриншота заявка в терминале висит, а статуса в таблице ордеров нет!
error.JPG 314 KB (216)
Thanks:

Mikhail Sukhov

Avatar
Date: 2/19/2014
Reply


vsnoopy83 Go to
Повторил ошибку на Sample. Как видно из скриншота заявка в терминале висит, а статуса в таблице ордеров нет!


А где код?
Thanks:
< 1 2 3 4 5  > >>

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

loading
clippy