Тормоза на Плазе

Тормоза на Плазе
Atom
9/14/2011
FiNick


Поднимаю старую тему, чтобы лишнего не плодить. Библиотека 3.2.11 Два вопроса:

  1. Как использовать StrategyLatencyManager? В доках ничего толком не сказано, вроде как все само должно. У стратегии LatencyManager создается автоматически. Но вот массив Orders всегда пуст и самому добавить в него ордеры нельзя. Свойство Latency мэнеджера всегда 0, как и у любой заявки.

  2. И без LatencyManager'а видно, что заявки выставляются 5-10 секунд (это через плазу). Как так?


Tags:


Thanks:


< 1 2 3 4  > >>
Alexander

Avatar
Date: 9/15/2011
Reply


FiNick: ODE0� Вот результат: MS 15.09.2011 14:37:07.750 Внимание Register Order: State: None Id: 0 TrId: 52561517 Lat: 00:00:00. Time: 15.09.2011 14:36:58 15.09.2011 14:37:07 Хорошо, вы правы, видимо спрашивать Latency, имеет смысл только после событий NewOrders или OrdersChanged. Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!! Я думал он дожидается результата выставления заявки.

У вас 9 секунд проходит от момента вызова функции RegisterOrder до момента выхода из неё? Скачайте исходный код плазы, посмотрите где возникает эта задержка.

Thanks:

Mikhail Sukhov

Avatar
Date: 9/16/2011
Reply


FiNick: Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!!

Режим синхронный-асинхронный?

Thanks:

FiNick

Avatar
Date: 9/16/2011
Reply


Mikhail Sukhov:

FiNick: Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!!

Режим синхронный-асинхронный?

1)Вы имеете ввиду, в каком режиме вызываются события типа NewMyTrades, NewOrders, события реагирующие на StrategyRule, и т.п.? Не знаю как это можно посмотреть. Надеюсь что асинхронно) хотя мне давно уже очень интересно, как все это исполняется. Например, если пришли друг за другом два события NewMyTrades, а обработчик первого события еще не закончил работу, запустится ли параллельно в другом потоке обработчик второго события NewMyTrades?

2)Или вы имеете ввиду свойство IsAsync у TransactionManager'a? По умолчанию стоит true, и я не заметил в коде, чтобы у пользователя PlazaTrader была возможность его менять. Единственное, что сейчас под подозрением из-за задержек это PlazaConnectionPool, у которого стоит StreamTimeOut по умолчанию 10 секунд, прям как у меня задержки. Но я еще не разобрался как там все работает, вопрос открыт.

Thanks:

Alexander

Avatar
Date: 9/16/2011
Reply


Попутно нашёл кое-что - после ConnectionError.SafeInvoke(new InvalidOperationException("Ошибка подключения к Plaza. Код {0}.".Put(status))); у нас этот Exception показывается через 10 секунд. Видимо у нас такая задержка при реализации образовалась. Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить.

Thanks:

FiNick

Avatar
Date: 9/16/2011
Reply


Alexander: Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.

Thanks:

Mikhail Sukhov

Avatar
Date: 9/16/2011
Reply


FiNick:

Alexander: Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.

Присоединяюсь к вопросу. А что собственно нужно делать в рефакторинге? Можно список задач изолированных?

Thanks:

Mikhail Sukhov

Avatar
Date: 9/19/2011
Reply


FiNick:

Alexander: Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.

Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney.

Thanks:

FiNick

Avatar
Date: 9/19/2011
Reply


Mikhail Sukhov:

FiNick:

Alexander: Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.

Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney.

Дайте логин на TFS

Thanks:

Alexander

Avatar
Date: 9/19/2011
Reply


FiNick:

Mikhail Sukhov:

FiNick:

Alexander: Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.

Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney.

Дайте логин на TFS

Зачем? Код плазы доступен на codeplex

Thanks:

FiNick

Avatar
Date: 9/19/2011
Reply


Зачем? Код плазы доступен на codeplex

Если я буду вносить изменения, куда их мёржить? Плюс, может я что-то путаю, но в тех исходниках я не нашел код неймспейса StockSharp.Algo.Strategies, вылезают метаданные и все.

Thanks:
< 1 2 3 4  > >>

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

loading
clippy