Управление стаканом котировок


Управление стаканом котировок
Atom
3/30/2010


Добрый день, Михаил! Как-то заметил, что стакан котировок отображается
не совсем правильно - цена почему-то не снижается сверху вниз по всей
глубине, а начинается с мимнимальной котировки и повышается сверху
вниз по "биду", а в месте где начинается "аск" "переворачивается и
снова начинается с самой маленькой котировки "аск" и так повышается до
самого низа. Думал отсортировать данные на этапе прихода данных:

this.Trader.ProcessWellKnownDdeData += (name, dict) =>
// узнаем, что пришедшие данные отвечают за стакан
if (name.Contains("stock"))
// первичная сортировка по цене
IEnumerable<Quote> _curquotes = (IEnumerable<Quote>)dict;
_curquotes = _curquotes.OrderBy(t => t.Price);
... и т.д.

но это ни к чему не привело. Подскажите, пожалуйста, как правильно
отсортировать данные?

Еще здесь был как-то уже вопрос про доступ к отдельным значениям
котировок в стакане, но объяснения я так и не нашел. Как же все-такии
это можно сделать (получить значение той или иной котировки в стакане
для анализа)?

Tags:


Thanks:


<< < 3 4 5 6 7  > >>
Mikhail Sukhov

Avatar
Date: 4/20/2010
Reply


Да.

Thanks:

ddd888

Avatar
Date: 4/21/2010
Reply


Не получается запустить StrategyPositionManager в окне QuotesWindow.
Сделал так:

в поле:

private QuikTrader _trader = MainWindow.Instance.Trader;

в конструкторе:

SecurityPositionManager _secmanager = new
SecurityPositionManager(this.Security, _trader);
this.SecPos.Content = _secmanager.Position.ToString();
_secmanager.PositionChanged += new
Action(_secmanager_PositionChanged);

обработчик:

void _secmanager_PositionChanged()
{
this.SecPos.Content = _secmanager.Position.ToString();

но при любом раскладе _secmanager.Position.ToString(); показывает 0.
StrategyPositionManager при этом работает нормально. Что сделано
неправильно?

Thanks:

Mikhail Sukhov

Avatar
Date: 4/21/2010
Reply


this.Sync видели в примере? Я описал зачем это нужно в разделе
Пользовательский интерфейс (GUI)

Thanks:

ddd888

Avatar
Date: 4/21/2010
Reply


Не ругайтесь, я не программист, а только учусь. :)
Пример читал, но видимо не совсем понял как работает this.Sync так
скать физически. Если цель его - обновление пользовательского окна,
то
тогда я добавляю его к обработчику и получаю:

void _secmanager_PositionChanged()
{
this.Sync(() =>
{
this.SecPos.Content = _secmanager.Position.ToString();
});
}
Делаю тестовый трейд, но позиция по-прежнему - 0... :(

Thanks:

Mikhail Sukhov

Avatar
Date: 4/21/2010
Reply


А событие PositionChanged срабатывает?
GetMyTrades(_secmanager.Security) что возвращает (скажем, если
вызывать из ITrader.NewMyTrades)?

Thanks:

ddd888

Avatar
Date: 4/21/2010
Reply


Похоже, что не вызывается почему-то. А GetMyTrades вызывает исключение
"в экземпляре объекта не задана ссылка на объект", хотя _secmanager
создается при открытии окна.

Thanks:

Mikhail Sukhov

Avatar
Date: 4/21/2010
Reply


Посмотрите ошибку по детальнее. Скорее всего то она и виновата в
причине не обновления позы.

Thanks:

ddd888

Avatar
Date: 4/21/2010
Reply


Смотрю. При остановке программы в месте подписки на событие экземпляр
_secmanager = null. Как это может быть, не те аргументы при создании
SecurityPositionManager? Может, не тот шлюз? У меня шлюз тот же, что и
в начале программы Sample, т.е. MainWindow.Instance.Trader.

Thanks:

ddd888

Avatar
Date: 4/22/2010
Reply


Заметил, что в топике по аналогичному вопросу http://groups.google.ru/

group/stocksharp/browse_thread/thread/7334ab4cd0ed9bd9) уже задавлся
этот вопрос. Но Ваш ответ там касался добавления заявки в стретагию
(Strategy.AddOrder.), а вопрос был про SecurityPnLManager. Тогда такой
вопрос - чем работа SecurityPnLManager отличается от
StrategyPnLManager? Как я понимаю в случае с SecurityPositionManager и
StrategyPositionManager ситуация аналогичная?

Thanks:

ddd888

Avatar
Date: 4/22/2010
Reply


Все перепроверил еще раз: при создании экземпляра
SecurityPositionManager его свойство Security остается = null, хотя в
параметрах идет явная ссылка на экземпляр типа Security. Может, баг в
конструкторе SecurityPositionManager?

Thanks:
<< < 3 4 5 6 7  > >>

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy