← Zurück

проблема с котированием лимитными ордерами

при котировании заявки не имеют состояния:

12:32:28.348 | | OMMS | Стратегия запущена. 12:33:03.998 | | LQS | Стратегия запущена. 12:33:04.004 | | LQS | Стратегия запущена. 12:33:04.120 | | LQS | Регистрация новой заявки на Buy с ценой 157740 и объемом 1. 12:33:04.564 | | LQS | Заявка 45143806 на Buy отправлена с ценой 157740 объемом 1. 12:33:04.564 | | LQS | Регистрация новой заявки на Sell с ценой 157755 и объемом 1. 12:33:04.564 | | LQS | Заявка 45143807 на Sell отправлена с ценой 157755 объемом 1. 12:33:04.576 | Warning | LQS | Заявка 45143806 не имеет состояния. 12:33:04.576 | Warning | LQS | Заявка 45143807 не имеет состояния. 12:33:04.718 | Warning | LQS | Заявка 45143806 не имеет состояния. 12:33:04.718 | Warning | LQS | Заявка 45143807 не имеет состояния. 12:33:04.805 | Warning | LQS | Заявка 45143806 не имеет состояния. 12:33:04.805 | Warning | LQS | Заявка 45143807 не имеет состояния. 12:33:04.892 | Warning | LQS | Заявка 45143806 не имеет состояния. .......

Код стратегии:

 protected override void OnStarting()
        {

            // ..... детали стратегии

            this
                .When(this.StrategyNewMyTrades())
                .Do(ResetQuoting);

            this
                .When(Security.MarketDepthChanged())
                .Do(ResetQuoting);

            base.OnStarting();

        private void ResetQuoting()
        {
 
            Bid = ... 
            Ask = ...

            if (Bid < Ask)
            {
                base.ChildStrategies.Add(CreateQuoting(OrderDirections.Buy, 1, Bid));
                base.ChildStrategies.Add(CreateQuoting(OrderDirections.Sell, 1, Ask));
            }
        }

        protected virtual QuotingStrategy CreateQuoting(OrderDirections direction, int volume, decimal price)
        {
            return new LimitQuotingStrategy(direction, volume, price);
        }

Any idea?

War dieses Thema hilfreich?

Thema teilen

Kommentare (8)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

DT
DT Autor

Забыл сказать. Тестовая Плаза.

Alexander
Alexander

Дело в плазе.

DT
DT Autor

А есть способ с этим бороться?

Кстати, вот еще что выскакивает:

error

Alexander
Alexander

DT: А есть способ с этим бороться?

Кстати, вот еще что выскакивает:

error

Да, пофиксить плазу, в частности - получение ответа по заявкам. Или мы сами пофиксим в ближайшее время. Данную ошибку уже исправили - последний фикс на codeplex.

DT
DT Autor

С 4.0.5 стало существенно лучше - по-крайней мере, MessageBoxes с ошибкой "Заявка ХХХХХХХХХ не имеет состояния" уже не вызывают сразу переполнения, как раньше, стратегия в принципе работает. Тем не менее, проблема сохранилась:

11:13:08.275 | | OMMS | Новая Buy сделка 15457122 по цене 18480.00000 на 1 заявки 40230368. 11:13:08.275 | | OMMS | Новая Buy сделка 15457123 по цене 18479.00000 на 1 заявки 40230364. 11:13:08.345 | | LQS | Регистрация новой заявки на Buy с ценой 18466 и объемом 1. 11:13:08.345 | | LQS | Заявка 40230370 на Buy отправлена с ценой 18466 объемом 1. 11:13:08.345 | | LQS | Регистрация новой заявки на Sell с ценой 18480 и объемом 1. 11:13:08.346 | | LQS | Заявка 40230371 на Sell отправлена с ценой 18480 объемом 1. 11:13:08.449 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.449 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:08.502 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.503 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:08.587 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.587 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:11.726 | Warning | LQS | Стакан пустой. 11:13:11.726 | Warning | LQS | Стакан пустой. 11:13:11.829 | | LQS | Стратегия запущена. 11:13:11.829 | | LQS | Стратегия запущена. 11:13:11.829 | Warning | LQS | Стакан пустой. 11:13:11.829 | Warning | LQS | Стакан пустой. 11:13:11.834 | | LQS | Позиция изменилась на 1. 11:13:11.834 | | LQS | Заканчиваем котирование с неисполненным объемом равный 0. 11:13:11.834 | | LQS | Стратегия останавливается. Обратите внимание, изредка стали появляться сообщения "Стакан пустой".

Тестовая Плаза2, RIZ1

Alexander
Alexander

С 4.0.5 стало существенно лучше - по-крайней мере, MessageBoxes с ошибкой "Заявка ХХХХХХХХХ не имеет состояния" уже не вызывают сразу переполнения, как раньше, стратегия в принципе работает. Тем не менее, проблема сохранилась:

11:13:08.275 | | OMMS | Новая Buy сделка 15457122 по цене 18480.00000 на 1 заявки 40230368. 11:13:08.275 | | OMMS | Новая Buy сделка 15457123 по цене 18479.00000 на 1 заявки 40230364. 11:13:08.345 | | LQS | Регистрация новой заявки на Buy с ценой 18466 и объемом 1. 11:13:08.345 | | LQS | Заявка 40230370 на Buy отправлена с ценой 18466 объемом 1. 11:13:08.345 | | LQS | Регистрация новой заявки на Sell с ценой 18480 и объемом 1. 11:13:08.346 | | LQS | Заявка 40230371 на Sell отправлена с ценой 18480 объемом 1. 11:13:08.449 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.449 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:08.502 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.503 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:08.587 | Warning | LQS | Заявка 40230370 не имеет состояния. 11:13:08.587 | Warning | LQS | Заявка 40230371 не имеет состояния. 11:13:11.726 | Warning | LQS | Стакан пустой. 11:13:11.726 | Warning | LQS | Стакан пустой. 11:13:11.829 | | LQS | Стратегия запущена. 11:13:11.829 | | LQS | Стратегия запущена. 11:13:11.829 | Warning | LQS | Стакан пустой. 11:13:11.829 | Warning | LQS | Стакан пустой. 11:13:11.834 | | LQS | Позиция изменилась на 1. 11:13:11.834 | | LQS | Заканчиваем котирование с неисполненным объемом равный 0. 11:13:11.834 | | LQS | Стратегия останавливается. Обратите внимание, изредка стали появляться сообщения "Стакан пустой".

Тестовая Плаза2, RIZ1

Давайте попорядку.

Как известно, заявки до биржи и ответ до биржи проиходит не мгновенно, не за пару микросекунд. На это требуется время. В 4.0.5 был большой фикс связанный с выставлением заявок в плазе - отсюда и то, что время когда есть эти ворнинги сильно сократилось - у вас всего 250мс - в принципе, нормальное время для выставления заявок.

Далее - пустой стакан - вы запускаете в какой момент стратегию? Надо запускать когда все потоки плазы перешли в состояние Online (PlazaTrader.IsOnline())

После всего вышесказанного - проблема есть или её нет? :)

DT
DT Autor

Давайте попорядку.

В 4.0.5 был большой фикс связанный с выставлением заявок в плазе - отсюда и то, что время когда есть эти ворнинги сильно сократилось - у вас всего 250мс - в принципе, нормальное время для выставления заявок.

Т.е. это вызвано задержкой между выставлением и оветом с биржи? Тогда колокэйшн должно решить проблему.

Далее - пустой стакан - вы запускаете в какой момент стратегию? Надо запускать когда все потоки плазы перешли в состояние Online (PlazaTrader.IsOnline())

У меня так:


Trader.RegisterQuotes(_strategy.Security);
_strategy.Start();

Надо перед стартом стратегии добавить проверку

PlazaTrader.IsOnline()

?

Alexander
Alexander

Давайте попорядку.

В 4.0.5 был большой фикс связанный с выставлением заявок в плазе - отсюда и то, что время когда есть эти ворнинги сильно сократилось - у вас всего 250мс - в принципе, нормальное время для выставления заявок.

Т.е. это вызвано задержкой между выставлением и оветом с биржи? Тогда колокэйшн должно решить проблему.

Далее - пустой стакан - вы запускаете в какой момент стратегию? Надо запускать когда все потоки плазы перешли в состояние Online (PlazaTrader.IsOnline())

У меня так:


Trader.RegisterQuotes(_strategy.Security);
_strategy.Start();

Надо перед стартом стратегии добавить проверку

PlazaTrader.IsOnline()

?

  1. Коллокейшен не решит проблему. У меня на коллокейшене задержки порой достигают сотен мс. Иногда - 20-30мс. Ответ от биржи и прохождение заявки через ядро биржи невозможно за микросекунды
  2. Да, пока не онлайн - не стартуйте стратегию