Немного про пункт:
События обработки маркет данных коннекторов вызываются из одного потока.
За этим пунктом скрывается наша мажорная фича 4.2. Начиная с версии 4.2.0 в StockSharp появился новый уровень - Messages. Данный уровень позволяет работать с внешними торговыми системами, используя их диалектику через общией интерфейс Messages (Сообщения). Отличие от ITrader состоит в том, что ITrader скрывает детали работы с внешней системой, в то время как Messages (через IMessageAdapter) наоборот - позволяет работать с ними.
Уровень Messages более приспособлен к HFT роботам, так как он напрямую отдает данные во внешние системы. Он не потоко безопасен, поэтому все блокировки или очереди необходимо делать самому, если будет идти работа с этим уровнем напрямую (как это делает сейчас BaseTrader через MessageProcessor). Так же внутри максимально убраны различного уровня задержки ввиде коллекций или накапливаемых очередей. В MessageAdapter торговая система вызывается из того же потока, что и вызываемый код. Аналогично работает и с IMessageAdapter.NewMessage.
На Message был переведен наш эмулятор. Он стал значительно проще и получил вид конечного автомата. Тоесть на вход подаются данные и результатом выполнения идут сразу же какие то сообщения (изменения стакана, сделки и т.д.). Тестировать эмулятор стало значительно проще (для тех, кому захочется работать с эмулятором). Более того, он получил ряд фич, такие как приоритет исполнения заявок, замешивание стакана (наружу выдается не стакан из истории или реального подключения, а именно эмуляционный, со своими заявками).
Messages более приспособлены к передаче по сети за счет своей отвязанности от контекста. Поэтому теперь стало возможных сделать физическое разнесение загрузки данных и эмулятора. Например, запустить параллельно сразу на нескольких серверах эмуляцию. При этом сами данные хранятся на сервере истории.
Адаптеры так же разделены на 2 типа. Для маркет-данных и для транзакций. Тоесть можно, к примеру, получать данные из одного датафида, а торговать через другой.
На месседжи пока переведены следующие коннекторы: Quik, SmartCOM, Plaza (оба режима), Fix, Fusion (Blackwood). В след релизе точно переведены будут Alfa, IB, OEC, Transaq. Остальное чуть позднее.
Просьба помочь с тестирование новой версии, так как переделки были значительные.
Обратная совместимость со старыми роботами практически полностью поддержана (нокоторые enum перекочевали из BusinessEntities в Messages). Использование BeginRead BeginUpdate у сущностей теперь не нужно, так как поток обновления используется в BaseTrader один.