QuikTrader.IsAsyncMode
Atom Ответить
28.06.2010


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

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

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


Теги:


Спасибо:




16 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.06.2010
Ответить


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

Спасибо:

Tauler

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


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

Автор топика
Спасибо:

Tauler

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


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

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

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

Автор топика
Спасибо:

Tauler

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


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

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.06.2010
Ответить


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

Спасибо:

Tauler

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


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

вот код

иницализация
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);

Автор топика
Спасибо:

Tauler

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


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

Автор топика
Спасибо:

Tauler

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


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

Автор топика
Спасибо:

Tauler

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


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

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.06.2010
Ответить


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

Спасибо:

Tauler

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


В чем - этом? :)

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.06.2010
Ответить


версия 2.0 (не 2.0.1) А я помню, что в 2.0 как раз схожая была бага.

Спасибо:

Tauler

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


щас проапдейтим

Автор топика
Спасибо:

Tauler

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


А я погял в чем затык. Номер тарнзакции генерится от времни
системного? так они проходят подряд так резво, что не усвает пройти 55
мкс , и поэтому получается что номера транзакций совпадают. Оно?

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.06.2010
Ответить


Нет, в 2.0 банально код неработающий для асинхронных заявок. А насчет
быстроты - не знаю. У меня так быстро не работает ничего =)

Спасибо:

Tauler

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


ну у меня в 2.0.1 2 пордряд заявки в ассинхронном не регились, пока не
сделал инкрементальный генератор транзакций.не успевал кварц
тикнуть :)

Автор топика
Спасибо:


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

loading
clippy