При перестановке заявки большее кол-во, чем в остатке старой

При перестановке заявки большее кол-во, чем в остатке старой
Atom
24.10.2011
Mitz


столкнулся с проблемой набора большей позиции чем нужно при перевыставлении заявки. бывает так что пока удовлетворяют мою заявку она снимается и перевыставляется с количеством большим чем в остатке снятой заявки. как решить?

 foreach (Order or in Trader.Orders)
            {

                if (or.State == OrderStates.Active)                {
                   
                        Order order = new Order();
                        if (or.Type == OrderTypes.Conditional) continue;
                        order.Portfolio = or.Portfolio;
                        order.Price = or.Security.LastTrade.Price;
                        order.Direction = or.Direction;
                        order.Security = or.Security;
                        order.Volume = or.Balance;
                        try
                        {
                            Trader.ReRegisterOrder(or, order);
                        }
                        catch (Exception e)
                        {
                                                  
                        }
                      

                    }


                }
            }

Теги:


Спасибо:


sergun

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


Mitz: столкнулся с проблемой набора большей позиции чем нужно при перевыставлении заявки. бывает так что пока удовлетворяют мою заявку она снимается и перевыставляется с количеством большим чем в остатке снятой заявки. как решить?

foreach (Order or in Trader.Orders) {

            if (or.State == OrderStates.Active)                {
               
                    Order order = new Order();
                    if (or.Type == OrderTypes.Conditional) continue;
                    order.Portfolio = or.Portfolio;
                    order.Price = or.Security.LastTrade.Price;
                    order.Direction = or.Direction;
                    order.Security = or.Security;
                    order.Volume = or.Balance;
                    try
                    {
                        Trader.ReRegisterOrder(or, order);
                    }
                    catch (Exception e)
                    {
                                              
                    }
                  

                }


            }
        }

От себя могу предположить, что логически корректное изменение объема при MOVE наверное возможно не во всех торговых системах. Проблема в том, что при простановке order.Volume хочется воспользоваться or.Balance, а ситуация со значением последнего может измениться в тот момент, пока команда летит на сервер. В MOVE было бы прикольно оперировать не абсолютным значением объема для новой заявки, а дельтой относительно оставшегося объема старой.

В целом присоединяюсь к вопросу, как обстоят дела с этой проблемой в реализации Квика? И про ПЛАЗУ2 тоже интересно (в доках у них фигурирует параметр regime=0,1,2, но его семантика описана на-редкость паршиво).

PS. Вопрос в конечном счете не про S#, а про API перечисленных ТС.
Спасибо:

sergun

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


sergun:

Mitz: столкнулся с проблемой набора большей позиции чем нужно при перевыставлении заявки. бывает так что пока удовлетворяют мою заявку она снимается и перевыставляется с количеством большим чем в остатке снятой заявки. как решить?

foreach (Order or in Trader.Orders) {

            if (or.State == OrderStates.Active)                {
               
                    Order order = new Order();
                    if (or.Type == OrderTypes.Conditional) continue;
                    order.Portfolio = or.Portfolio;
                    order.Price = or.Security.LastTrade.Price;
                    order.Direction = or.Direction;
                    order.Security = or.Security;
                    order.Volume = or.Balance;
                    try
                    {
                        Trader.ReRegisterOrder(or, order);
                    }
                    catch (Exception e)
                    {
                                              
                    }
                  

                }


            }
        }
> 
> От себя могу предположить, что логически корректное изменение объема при MOVE наверное возможно не во всех торговых системах. Проблема в том, что при простановке order.Volume хочется воспользоваться or.Balance, а ситуация со значением последнего может измениться в тот момент, пока команда летит на сервер. В MOVE было бы прикольно оперировать не абсолютным значением объема для новой заявки, а дельтой относительно оставшегося объема старой.
> 
> В целом присоединяюсь к вопросу, как обстоят дела с этой проблемой в реализации Квика? И про ПЛАЗУ2 тоже интересно (в доках у них фигурирует параметр regime=0,1,2, но его семантика описана на-редкость паршиво).
> 
> PS. Вопрос в конечном счете не про S#, а про API перечисленных ТС.

OFF: В Плазе оно появилось: regime=3
Спасибо:

Mitz

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


т.е. в плазе такого не будет? как обойти?

Спасибо:

Alexander

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


Mitz: т.е. в плазе такого не будет? как обойти?

вызывать move order в плазе с regime = 3

Спасибо:


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

loading
clippy