QuikTrader.IsAsyncMode

QuikTrader.IsAsyncMode
Atom
6/28/2010
Tauler


А это свойство можно менять в любой момент?

я могу сделать так:

trader.IsAsyncMode = true; trader.RegisterOrder(order); //это в асинхронном режиме trader.IsAsyncMode = false; trader.RegisterOrder(order2); //это в синхронном режиме


Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 6/29/2010
Reply


Есть всякие внутренние коллекции, которые будут уже заполнены специфичными асинхронными данными... Лучше пересоздавать.

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


QuikTrader пересоздавать?

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


Дело в том, что в момент

trader.IsAsyncMode = true; trader.RegisterOrder(order); //это в асинхронном режиме

моя задача выкинуть заявки и забыть о них

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


Попробовал порабоать в ассинхронном режиме. Пр ивыставлении двух заявок подряд выдается эксепшн "не могу добавить в коллекцию элемент с существующим ключом" .Это видимо изза Order.ID = 0?

Thanks:

Mikhail Sukhov

Avatar
Date: 6/29/2010
Reply


Всмысле, не работает асинхронный режим или не работает, если на него переключится с синхронного?

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


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

вот код

иницализация trader = new QuikTrader(@"C:\Program Files\Quik 5") ;

метод

public List SellBasketByMarket(int volume = 1) {

       var leftSide = trader.Securities.First(sec => sec.Code ==

basket.Basket.LeftSide[0].Asset.Name); var price = GetMarketPrice(leftSide, OrderDirections.Sell); var order = makeOrder(OrderDirections.Sell, leftSide, basket.Basket.LeftSide[0].Weight * volume, price, leftSideAccount);

       trader.RegisterOrder(order);

       List<Order> orders = new

List(basket.Basket.RightSide.Count); foreach (BasketItem basketItem in basket.Basket.RightSide) { var item = basketItem; var security = trader.Securities.First(sec => sec.Code == item.Asset.Name); var rightPrice = GetMarketPrice(security, OrderDirections.Buy, MarketPriceModifier.Pips, 5); Order rightOrder = makeOrder(OrderDirections.Buy, security, basketItem.Weight * volume, rightPrice, rightSideAccount);

           trader.RegisterOrder(rightOrder);
            orders.Add(rightOrder);
        }

       return orders;
    }

судя по логам, падает на моменте trader.RegisterOrder(rightOrder);

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


версия 2.0 (не 2.0.1)

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


генертор для генерации Order.TransactionID никак не надо хитро настраивать перед запуском trader?

Thanks:

Tauler

Avatar
Date: 6/29/2010
Reply


И еще вопрос - в асинхронном режиме сатусы у заявок и баланс обновляются нормально?

Thanks:

Mikhail Sukhov

Avatar
Date: 6/29/2010
Reply


Думаю в этом причина.

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy