Снова стакан
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
Ответить


и вот еще

14:27:57,078 - Delta = 0, koef = 1, BB = 0, TotalVol = 0, TotalPrice 0 14:28:15,953 - Delta = 0, koef = 1, BB = 0, TotalVol = 0, TotalPrice 0 14:28:18,078 - Delta = 0, koef = 1, BB = 0, TotalVol = 520064, TotalPrice 1489,09

в середине, в том то и беда. метод CalcSumCurrentBids() вызываеся в цикле весьма часто (как видно по тайм стампам), десять раз в секунду точно

Спасибо:

Tauler

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


вот секция из info.ini

[excel] timeout=90 price-timeout=0 start-timeout=100 use-multithread=1 num-attempts=0 language_id=0

может price-timeout = 0 не надо делать?

Спасибо:

Tauler

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


Я кстати правильно делаю, что создаю переменную сткана в конструкторе , кладу ее в поле и потом пользую? не надо какжый рах trader.GetMarketDepth() использовать?

Спасибо:

Tauler

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


И вот вопрос - щас покурил мануал и что лучге использовать - MarketDepth.BestAsk или MarketDepth GetBestQuote(OrderDirections.Sell)?

Спасибо:

Mikhail Sukhov

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


Минутку, а как данные в эти стаканы попадают?

Спасибо:

Mikhail Sukhov

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


Отбой, я понял о чем идет речь.

Спасибо:

Mikhail Sukhov

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


Второе вызывает первое.

Спасибо:

Mikhail Sukhov

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


Частота не зависит... А можете сократить код до простого примера в 10 строчек?

Спасибо:

Tauler

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


Да грубо говоря так

MarketDepth md = trader.GetMarketDepth(security);

while(true) { Console.WriteLine(md.BestAsk.Price); Thread.Sleep(10);

Спасибо:
1 2  >

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

loading
clippy