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

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


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

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

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

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


Теги:


Спасибо:


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

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


Да.

Спасибо:

ddd888

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


Не получается запустить 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 при этом работает нормально. Что сделано неправильно?

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

ddd888

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


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

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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

ddd888

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


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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

ddd888

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


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

Спасибо:

ddd888

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


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

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

Спасибо:

ddd888

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


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

Спасибо:
<< < 3 4 5 6 7  > >>

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

loading
clippy