Добрый день! Возможно ли, чтобы исходное Order.Comment сохранялось при исполнении заявок котировщиком? Сейчас все заявки, генерируемые в квик котировщиком, в поле комментарий имеют просто код клиента, а свойство comment исходной заявки игнорируется. Когда торгуется много стратегий,удобно различать заявки по комментарию, а MQS его не выставляет. Делаю так order.Comment="MyStrategy"; strategy = new MarketQuotingStrategy(order, new Unit(),new Unit()); S# 4.0.15
评论 (14)
登录 或 创建账户, 登录或注册以发表评论
если просто создать заявку с комментарием и послать - комментарий остаётся и передаётся в квик? я это фиксил, там свои особенности в квике есть с комментами.
и какая версия квика?
Да, если просто послать, все ок, комментарий остается, в квике в поле комментарий получается так "код клиента/комментарий". Квик 5.24.0.58
Сделал. Если будет релиз ещё в 4.0 - это попадёт. Нет - значит только в 4.1
Добрый день! Еще раз подниму тему, вышел релиз S# 4.0.18, комментарий при котировании не появился. Пока не включили фишку в релиз, или что-то я не так делаю?
При вызове order.Clone() копируется комментарий?
Да все ok, при Order order1=order.Clone(), order1 благополучно получает комментарий от order.
И второй вопрос - перед созданием MarketQuotingStrategy у вас order.TransactionId != 0? Должно быть так, иначе заявка создаётся уже внутри стратегии и комментарий туда особо не протащишь. Если только уже у вас перебрать QuotingOrders и установить Comment
Id и TransactionId равно 0 заявку создаю внутри своей стратегии вот так: var order = new Order ; strategy = new MarketQuotingStrategy(order, new Unit(),new Unit()); this.ChildStrategies.Add(strategy); strategy.Start();
Как сделать, чтобы TransactionId != 0 ?
Вызвать RegisterOrder
У блин тогда получается, что у меня при каждой итерации будет вызываться 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 это как?
как обычный массив.
Понял теперь, что это свойство MQS, не знал просто про него, но вот все равно ничего не выходит. Свойство readonly пробовал вот так результата 0 foreach (Order or in strategy.QuotingOrders)
Кстати, ещё проще - переопределите RegisterQuotingOrder. Устанавливайте свой коммент и вызывайте base.RegisterQuotingOrder, передавая новую заявку с новым комментарием
Ура! спасибо, получилось.