Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦
trader.IsAsyncMode = true;
trader.RegisterOrder(order); //это в асинхронном режиме
trader.IsAsyncMode = false;
trader.RegisterOrder(order2); //это в синхронном режиме
Kommentare (16)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Попробовал порабоать в ассинхронном режиме. Пр ивыставлении двух
заявок подряд выдается эксепшн "не могу добавить в коллекцию элемент с
существующим ключом" .Это видимо изза Order.ID = 0?
А я погял в чем затык. Номер тарнзакции генерится от времни
системного? так они проходят подряд так резво, что не усвает пройти 55
мкс , и поэтому получается что номера транзакций совпадают. Оно?
ну у меня в 2.0.1 2 пордряд заявки в ассинхронном не регились, пока не
сделал инкрементальный генератор транзакций.не успевал кварц
тикнуть :)
Wir verwenden Cookies, um die beste Erfahrung auf unserer Website zu gewährleisten. Durch die weitere Nutzung unserer Seite stimmen Sie der Verwendung von Cookies zu.
Kommentare (16)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Есть всякие внутренние коллекции, которые будут уже заполнены специфичными асинхронными данными... Лучше пересоздавать.
QuikTrader пересоздавать?
Дело в том, что в момент
trader.IsAsyncMode = true; trader.RegisterOrder(order); //это в асинхронном режиме
моя задача выкинуть заявки и забыть о них
Попробовал порабоать в ассинхронном режиме. Пр ивыставлении двух заявок подряд выдается эксепшн "не могу добавить в коллекцию элемент с существующим ключом" .Это видимо изза Order.ID = 0?
Всмысле, не работает асинхронный режим или не работает, если на него переключится с синхронного?
не работает в обоих случаях. ясинхронный делаю при инициалиции шлюза и потом не трогаю
вот код
иницализация trader = new QuikTrader(@"C:\Program Files\Quik 5") ;
метод
public List<Order> SellBasketByMarket(int volume = 1) {
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);
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);
версия 2.0 (не 2.0.1)
генертор для генерации Order.TransactionID никак не надо хитро настраивать перед запуском trader?
И еще вопрос - в асинхронном режиме сатусы у заявок и баланс обновляются нормально?
Думаю в этом причина.
В чем - этом? :)
версия 2.0 (не 2.0.1) А я помню, что в 2.0 как раз схожая была бага.
щас проапдейтим
А я погял в чем затык. Номер тарнзакции генерится от времни системного? так они проходят подряд так резво, что не усвает пройти 55 мкс , и поэтому получается что номера транзакций совпадают. Оно?
Нет, в 2.0 банально код неработающий для асинхронных заявок. А насчет быстроты - не знаю. У меня так быстро не работает ничего =)
ну у меня в 2.0.1 2 пордряд заявки в ассинхронном не регились, пока не сделал инкрементальный генератор транзакций.не успевал кварц тикнуть :)