← Back

Поженлание по Order.Comment в MQS

Добрый день! Возможно ли, чтобы исходное Order.Comment сохранялось при исполнении заявок котировщиком? Сейчас все заявки, генерируемые в квик котировщиком, в поле комментарий имеют просто код клиента, а свойство comment исходной заявки игнорируется. Когда торгуется много стратегий,удобно различать заявки по комментарию, а MQS его не выставляет. Делаю так order.Comment="MyStrategy"; strategy = new MarketQuotingStrategy(order, new Unit(),new Unit()); S# 4.0.15

Comments (14)

Login or Create account, Log in or register to leave a comment

Alexander
Alexander

если просто создать заявку с комментарием и послать - комментарий остаётся и передаётся в квик? я это фиксил, там свои особенности в квике есть с комментами.

и какая версия квика?

Garry
Garry Author

Да, если просто послать, все ок, комментарий остается, в квике в поле комментарий получается так "код клиента/комментарий". Квик 5.24.0.58

Alexander
Alexander

Сделал. Если будет релиз ещё в 4.0 - это попадёт. Нет - значит только в 4.1

Garry
Garry
Garry Author

Добрый день! Еще раз подниму тему, вышел релиз S# 4.0.18, комментарий при котировании не появился. Пока не включили фишку в релиз, или что-то я не так делаю?

Alexander
Alexander

При вызове order.Clone() копируется комментарий?

Garry
Garry Author

Да все ok, при Order order1=order.Clone(), order1 благополучно получает комментарий от order.

Alexander
Alexander

И второй вопрос - перед созданием MarketQuotingStrategy у вас order.TransactionId != 0? Должно быть так, иначе заявка создаётся уже внутри стратегии и комментарий туда особо не протащишь. Если только уже у вас перебрать QuotingOrders и установить Comment

Garry
Garry Author

Id и TransactionId равно 0 заявку создаю внутри своей стратегии вот так: var order = new Order ; strategy = new MarketQuotingStrategy(order, new Unit(),new Unit()); this.ChildStrategies.Add(strategy); strategy.Start();

Как сделать, чтобы TransactionId != 0 ?

Alexander
Alexander

Вызвать RegisterOrder

Garry
Garry Author

У блин тогда получается, что у меня при каждой итерации будет вызываться base.RegisterOrder(order) и заявки в квике плодятся по одной на каждую итерацию, пока заявка не исполнится, такая уж логика стратегии. var order = new Order ; base.RegisterOrder(order); strategy = new MarketQuotingStrategy(order, new Unit(),new Unit()); this.ChildStrategies.Add(strategy); strategy.Start();

А перебрать QuotingOrders это как?

Alexander
Alexander

Garry: А перебрать QuotingOrders это как?

как обычный массив.

Garry
Garry Author

Понял теперь, что это свойство MQS, не знал просто про него, но вот все равно ничего не выходит. Свойство readonly пробовал вот так результата 0 foreach (Order or in strategy.QuotingOrders)

Alexander
Alexander

Кстати, ещё проще - переопределите RegisterQuotingOrder. Устанавливайте свой коммент и вызывайте base.RegisterQuotingOrder, передавая новую заявку с новым комментарием

Garry
Garry Author

Ура! спасибо, получилось.