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


DT

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

Цитата:

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?

Теги:


Спасибо:




8 Ответов
DT

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


Забыл сказать. Тестовая Плаза.
Автор топика
Спасибо:

Alexander

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


Дело в плазе.
Спасибо:

DT

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


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

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

[img=https://picasaweb.google.com/109970146612959299079/DropBox?authkey=Gv1sRgCOytkOT_4vGHPQ#5672707065574017970]error[/img]
Автор топика
Спасибо:

Alexander

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


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

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

[img=https://picasaweb.google.com/109970146612959299079/DropBox?authkey=Gv1sRgCOytkOT_4vGHPQ#5672707065574017970]error[/img]



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

DT

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


С 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

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


DT Перейти
С 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

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


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

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


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

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


У меня так:
Код

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

Надо перед стартом стратегии добавить проверку
Код
PlazaTrader.IsOnline()

?
Автор топика
Спасибо:

Alexander

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


DT Перейти
Цитата:
Давайте попорядку.

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


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

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


У меня так:
Код

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

Надо перед стартом стратегии добавить проверку
Код
PlazaTrader.IsOnline()

?


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


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

loading
clippy