Снова стакан
Atom
01.07.2010
Tauler


Иногда в стакане BestBid.Price или BestAsk.Price равны нулю. Стаканы яполчаю в конструкторе и для рассчета текущих сигналов использую только их вот код

public BasketSignalCalculator(TradedBasket basket, TikerController tikerController, bool isSigmaCalculated) { this.isSigmaCalculated = isSigmaCalculated; this.trader = tikerController.Trader; this.basket = basket; this.tikerController = tikerController; leftSideMD = trader.GetMarketDepth(trader.Securities.First(sec => sec.Code == basket.Basket.LeftSide[0].Asset.Name)); rightSideMDs = trader.GetMarketDepth(trader.Securities.First(sec => sec.Code == basket.Basket.RightSide[0].Asset.Name)); }

вот код одного из методов

public decimal CalcSumCurrentBids() { decimal delta = 0; foreach (TradedBasketItem tradedBasketItem in basket.CurrentPart.RightSide) { decimal koef = GetTikerKoef(tradedBasketItem.Tiker); double bid = rightSideMDs.BestBid.Price; delta = delta + bid * tradedBasketItem.Weight * koef; if (delta <= 0) {

TradeBasketHelperLogger.Logger.Debug(String.Format("Delta = 0, koef = {0}, BB = {1}, TotalVol = {2}, TotalPrice {3}", koef, bid, rightSideMDs.TotalVolume, rightSideMDs.TotalPrice)); } } return delta; }

и вот лог

14:06:57,421 - Delta = 0, koef = 1, BB = 0, TotalVol = 667149, TotalPrice 1487,4 14:09:05,515 - Delta = 0, koef = 1, BB = 0, TotalVol = 659359, TotalPrice 1486,44 14:10:23,468 - Delta = 0, koef = 1, BB = 0, TotalVol = 522221, TotalPrice 1486,02

что это за глюк и как с ним бороться?


Теги:


Спасибо:


< 1 2 
Mikhail Sukhov

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


Ок, посмотрю чуть по-позже. Надо еще глянуть на частоту обновления инструментов... Главное, чтобы этот код точно приводил к баге.

Спасибо:

Tauler

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


Иожно вообще слип убрать и отлавливать моменты когда бестбид или бестаск равны 0. еще вот я заметил тоталволюм парур раз 0 проскакивал.

вероятно если подписаться на событие QoutesChanged таког не будет, н оу Workflow со событиями как то не айс работа, на то он и flow.

Спасибо:

Tauler

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


а MarketDepth потокобезопасный? может я в него лезу как раз в тот момент , ктога он обновляет эти свойства?

Спасибо:

Mikhail Sukhov

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


Потокобезопасный.

Спасибо:

Mikhail Sukhov

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


Две новости. Хорошая - у меня работает. Плохая (но не для меня) - у меня версия 2.1. Вот так =)

Действительно, посмотрел старый код. Такое поведение могло быть. Обновление котировок было не атомарно.

Спасибо:

Tauler

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


а долго ожидать релиза 2.1?

Спасибо:

Mikhail Sukhov

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


Я в процессе документирования. Думал на этой неделе сделаю, а у вас все проблемы да проблемы... Думаю 2-3 дня.

Спасибо:
< 1 2 

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

loading
clippy