/// <summary> /// Перерегистрировать заявку на бирже. /// </summary> /// <param name="oldOrder">Старая заявка, которую нужно перерегистрировать.</param> /// <param name="newOrder">Информация о новой заявке.</param> protected override void OnReRegisterOrder(Order oldOrder, Order newOrder) { if (IsSupportAtomicReRegister && oldOrder.Security.Board.IsSupportAtomicReRegister // http://www.itinvest.ru/forum/index.php?showtopic=63720&view=findpost&p=262059 && oldOrder.Balance == newOrder.Volume) SendInMessage(oldOrder.CreateReplaceMessage(newOrder, GetSecurityId(newOrder.Security))); else base.OnReRegisterOrder(oldOrder, newOrder); }
/// <summary> /// Перерегистрировать пару заявок на бирже. /// </summary> /// <param name="oldOrder1">Первая заявка, которую нужно снять.</param> /// <param name="newOrder1">Первая новая заявка, которую нужно зарегистрировать.</param> /// <param name="oldOrder2">Вторая заявка, которую нужно снять.</param> /// <param name="newOrder2">Вторая новая заявка, которую нужно зарегистрировать.</param> protected override void OnReRegisterOrderPair(Order oldOrder1, Order newOrder1, Order oldOrder2, Order newOrder2) { if (IsSupportAtomicReRegister && oldOrder1.Security.Board.IsSupportAtomicReRegister) _realConnector.SendInMessage(oldOrder1.CreateReplaceMessage(newOrder1, _realConnector.GetSecurityId(newOrder1.Security), oldOrder2, newOrder2, _realConnector.GetSecurityId(newOrder2.Security))); else base.OnReRegisterOrderPair(oldOrder1, newOrder1, oldOrder2, newOrder2); }
/// <summary> /// Перерегистрировать заявку на бирже. /// </summary> /// <param name="oldOrder">Заявка, которую нужно снять.</param> /// <param name="newOrder">Новая заявка, которую нужно зарегистрировать.</param> protected override void OnReRegisterOrder(Order oldOrder, Order newOrder) { //Quik не поддерживает Move с MODE=1 для Единой Денежной Позиции. //http://quik.ru/forum/import/57855/57855/ //Поэтому делаем Cancel, потом Register if (IsSupportAtomicReRegister && oldOrder.Security.Board.IsSupportAtomicReRegister && !IsCommonMonetaryPosition) SendInMessage(oldOrder.CreateReplaceMessage(newOrder, GetSecurityId(newOrder.Security))); else base.OnReRegisterOrder(oldOrder, newOrder); }