при котировании заявки не имеют состояния:
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)
登录 或 创建账户, 登录或注册以发表评论
Забыл сказать. Тестовая Плаза.
Дело в плазе.
А есть способ с этим бороться?
Кстати, вот еще что выскакивает:
Да, пофиксить плазу, в частности - получение ответа по заявкам. Или мы сами пофиксим в ближайшее время. Данную ошибку уже исправили - последний фикс на codeplex.
С 4.0.5 стало существенно лучше - по-крайней мере, MessageBoxes с ошибкой "Заявка ХХХХХХХХХ не имеет состояния" уже не вызывают сразу переполнения, как раньше, стратегия в принципе работает. Тем не менее, проблема сохранилась:
Тестовая Плаза2, RIZ1
С 4.0.5 стало существенно лучше - по-крайней мере, MessageBoxes с ошибкой "Заявка ХХХХХХХХХ не имеет состояния" уже не вызывают сразу переполнения, как раньше, стратегия в принципе работает. Тем не менее, проблема сохранилась:
Тестовая Плаза2, RIZ1
Давайте попорядку.
Как известно, заявки до биржи и ответ до биржи проиходит не мгновенно, не за пару микросекунд. На это требуется время. В 4.0.5 был большой фикс связанный с выставлением заявок в плазе - отсюда и то, что время когда есть эти ворнинги сильно сократилось - у вас всего 250мс - в принципе, нормальное время для выставления заявок.
Далее - пустой стакан - вы запускаете в какой момент стратегию? Надо запускать когда все потоки плазы перешли в состояние Online (PlazaTrader.IsOnline())
После всего вышесказанного - проблема есть или её нет? :)
Т.е. это вызвано задержкой между выставлением и оветом с биржи? Тогда колокэйшн должно решить проблему.
У меня так:
Надо перед стартом стратегии добавить проверку
?
Т.е. это вызвано задержкой между выставлением и оветом с биржи? Тогда колокэйшн должно решить проблему.
У меня так:
Надо перед стартом стратегии добавить проверку
?