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


Ошибка при перерегистрации ордера - ReRegisterOrder ошибка
Atom
18.02.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, если ордер начинает исполнятся, то так же приходят нужные статусы, но до исполнения робот не видит ордер.

Теги:


Спасибо:


< 1 2 3 4 5  > >>
vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


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


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


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

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

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


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


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


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



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

vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


Михаил Сухов Перейти
vsnoopy83 Перейти


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


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

casper-ss

Фотография
Дата: 19.02.2014
Ответить


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

vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


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


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

Bond

Фотография
Дата: 19.02.2014
Ответить


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

vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


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


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

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

Mikhail Sukhov

Фотография
Дата: 19.02.2014
Ответить


vsnoopy83 Перейти
Михаил Сухов Перейти
vsnoopy83 Перейти


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


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


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

vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


Михаил Сухов Перейти
vsnoopy83 Перейти
Михаил Сухов Перейти
vsnoopy83 Перейти


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


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


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


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

vsnoopy83

Фотография
Дата: 19.02.2014
Ответить


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

Mikhail Sukhov

Фотография
Дата: 19.02.2014
Ответить


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


А где код?
Спасибо:
< 1 2 3 4 5  > >>

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy