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

Теги:


Спасибо:




53 Ответов
< 1 2 3  >
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 (0)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


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


А где код?
Спасибо:

vsnoopy83

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


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


А где код?


не залился сразу почему то, сейчас повторю

Михаил, спасайте, в чем косяк... Все это на квик джуниор на фучах, я брал GZH4 или SRH4.
Sample.zip 306 KB (0)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


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


А где код?


не залился сразу почему то, сейчас повторю

Михаил, спасайте, в чем косяк... Все это на квик джуниор на фучах, я брал GZH4 или SRH4.


А что пример должен показать? В окне Заявки будут заявки со статусом None?
Спасибо:

vsnoopy83

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


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


А где код?


не залился сразу почему то, сейчас повторю

Михаил, спасайте, в чем косяк... Все это на квик джуниор на фучах, я брал GZH4 или SRH4.


А что пример должен показать? В окне Заявки будут заявки со статусом None?


циклически выставляются и снимаются заявки, на одной из следующих заявка в терминале появляется, а в таблице ордеров остается со статусом None, на скриншоте видно, я отметил. Причем если руками в квике заявку снять, то статус к ордеру в библиотеку приходит на Done.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


vsnoopy83 Перейти
на скриншоте видно, я отметил.


Там не видно самого главное - номер транзакции в Квике у этой активной заявки.
Спасибо:

vsnoopy83

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


Михаил Сухов Перейти
vsnoopy83 Перейти
на скриншоте видно, я отметил.


Там не видно самого главное - номер транзакции в Квике у этой активной заявки.


да, в этом и проблема видимо. но робот на этом месте умрет сразу же.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


vsnoopy83 Перейти
Михаил Сухов Перейти
vsnoopy83 Перейти
на скриншоте видно, я отметил.


Там не видно самого главное - номер транзакции в Квике у этой активной заявки.


да, в этом и проблема видимо. но робот на этом месте умрет сразу же.


Я не понял в чем проблема? Сделайте расширенный скрин, пожалуйста.
Спасибо:

vsnoopy83

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


Михаил Сухов Перейти
vsnoopy83 Перейти
Михаил Сухов Перейти
vsnoopy83 Перейти
на скриншоте видно, я отметил.


Там не видно самого главное - номер транзакции в Квике у этой активной заявки.


да, в этом и проблема видимо. но робот на этом месте умрет сразу же.


Я не понял в чем проблема? Сделайте расширенный скрин, пожалуйста.


Проблема в том, что после отправки ордера в квик по Trader.ReRegisterOrder(OldOrder, NewReRegOrder); ордер выставляется в квике, сток шарп его не видит, ему не присваивается номер и статус None а должен быть Active. и это происходит не сразу, а спустя нескольких десятков нормальных перерегистраций.
error.JPG 337 KB (0)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


vsnoopy83 Перейти


На вашем скриншоте не показан номер транзакции. Пришлите скриншот, где виден номер транзакции в таблице Заявки
Спасибо:

vsnoopy83

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


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


На вашем скриншоте не показан номер транзакции. Пришлите скриншот, где виден номер транзакции в таблице Заявки


он не приходит, он не присваевается, в этом и есть проблема!!
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


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


На вашем скриншоте не показан номер транзакции. Пришлите скриншот, где виден номер транзакции в таблице Заявки


он не приходит, он не присваевается, в этом и есть проблема!!


Пришлите скриншотLOL
Спасибо:

vsnoopy83

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


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


На вашем скриншоте не показан номер транзакции. Пришлите скриншот, где виден номер транзакции в таблице Заявки


он не приходит, он не присваевается, в этом и есть проблема!!


Пришлите скриншотLOL


я сойду с ума, скриншот чего прислать?) это все, больше ничего после этого уже не происходит, номер транзакции присвоится только если ордер сработает или если его отменить руками в терминале, до этого момента номер не присваивается и статус None.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.02.2014
Ответить


vsnoopy83 Перейти


я сойду с ума, скриншот чего прислать?) это все, больше ничего после этого уже не происходит, номер транзакции присвоится только если ордер сработает или если его отменить руками в терминале, до этого момента номер не присваивается и статус None.


Пришлите скришот таблицы в Квике. Таблица Заявки. Где видно для той заявки, что имеет статус None, ее биржевой номер, ее номер транзакции. Таблица Квика. Не таблица S#.
Спасибо:

vsnoopy83

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


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


я сойду с ума, скриншот чего прислать?) это все, больше ничего после этого уже не происходит, номер транзакции присвоится только если ордер сработает или если его отменить руками в терминале, до этого момента номер не присваивается и статус None.


Пришлите скришот таблицы в Квике. Таблица Заявки. Где видно для той заявки, что имеет статус None, ее биржевой номер, ее номер транзакции. Таблица Квика. Не таблица S#.


такой?
error.JPG 325 KB (0)
Автор топика
Спасибо:

Bond

Фотография
Курсы
Дата: 20.02.2014
Ответить


vsnoopy83, вы можете прислать скриншот, что показывает Trader.Orders после появления такой ошибки. В нем состояние None или как в таблице Квика Active?
Если None, то каким-то образом не обрабатывается или не приходит из Квика событие регистрации заявки. И получается некорректная работа Trader.Orders.

А если вслед отправить еще одну заявку не дожидаясь изменения состояния? Заявка изменит свое состояние или также останется None?
Спасибо:

vsnoopy83

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


Bond Перейти
vsnoopy83, вы можете прислать скриншот, что показывает Trader.Orders после появления такой ошибки. В нем состояние None или как в таблице Квика Active?
Если None, то каким-то образом не обрабатывается или не приходит из Квика событие регистрации заявки. И получается некорректная работа Trader.Orders.

А если вслед отправить еще одну заявку не дожидаясь изменения состояния? Заявка изменит свое состояние или также останется None?


100 процентов будет ошибка регистрации, я пробовал, т.к. вполне резонно будет ситуация, когда мы будем пытаться перерегистрировать заявку, которая еще не зарегистрирована биржей. По этому обязательно проверять статус перед регистрацией. Но статус придет если заявка исполнится или если её снять руками из квика.
Автор топика
Спасибо:

vsnoopy83

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


Попробовал на реале получил новую ошибку: Транзакция не поддерживается по передвинутым заявкам, кто знает что это?

Trader.IsCommonMonetaryPosition = true; не помогает

Работает только если объем оставить без изменения Order.Volume = 0; в этом случае Mode = 0 и работает, а если менять объем тогда Mode = 1 выдает ошибку, помогите полечить.
error 2.JPG 71 KB (0)
Автор топика
Спасибо:

vsnoopy83

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


Да друзья мои, на реале происходит тоже самое, уже через 20 перерегистраций, беда!!! Надежда на глюки джуниора растаяли, Михаил спасайте, время идет, не запустить в реале ничего.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 20.02.2014
Ответить


Читайте анонсы по новым версиям.
Спасибо: vsnoopy83

vsnoopy83

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


esper Перейти
Читайте анонсы по новым версиям.


Это значит что ошибка будет исправлена? Когда ждать хотя бы примерно?
Автор топика
Спасибо:

Bond

Фотография
Курсы
Дата: 20.02.2014
Ответить


А ведь верно... Во всем СтокШарпе нет способа просто получить таблицу заявок из Квика как она есть. Куча всяких второстепенных наворотов, а самого важного и необходимого нет!) Перепроверил Trader.Orders. Видит только свои заявки.
Просто нет слов.
Спасибо:
< 1 2 3  >

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

loading
clippy