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") {IsAsyncMode =
true, ClientCode = "11369/06"};

метод

public List<Order> 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<Order>(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