← Back

Данные ММВБ через Plaza II

Итак, свершилось!

Уважаемые коллеги,

Биржа ММВБ – РТС начинает трансляцию анонимной рыночной информации по Валютному рынку и Фондовому рынку в секторе Основной рынок через шлюз Plaza II, а также информации по Фондовому рынку через шлюз FAST.

С 17 февраля 2012 года данные сервисы будут доступны на тестовом полигоне. О дате введения возможности получения данных в боевом режиме будет сообщено дополнительно.

Таким образом, через шлюз Plaza II будет доступна информация по следующим рынкам:

· Cрочный рынок FORTS · Фондовый рынок в Секторе рынка Standard · Валютный рынок в режиме РТС Money · Фондовый рынок в Секторе Основной рынок · Валютный рынок

С предоставлением этого сервиса процесс обработки рыночных данных становится более гибким, позволяя участникам получать данные по основным рынкам Биржи ММВБ-РТС в рамках одного шлюзового логина, использовать разнообразные программные методы обработки, агрегирования и анализа информации, а также облегчается применение автоматизированных систем принятия решений и управления заявками, которые оперируют данными с нескольких рынков.

В шлюзах Plaza-2 по Валютному и Фондовому рынкам, а также в шлюзе FAST по Фондовому рынку будет доступна следующая информация:

  • все сделки (таблица ALL_TRADES)
  • котировки (таблица ORDERBOOK)
  • общие показатели инструментов (таблица SECURITIES)
  • справочные и сессионные данные

Информация, передаваемая в составе шлюзов соответствует текущим форматам, применяемым для трансляции данных Фондового и Валютного рынков.

Описание новых потоков и таблиц шлюза Plaza-2 доступно по адресу: ftp://ftp.rts.ru/pub/FORTS/test/Plaza2/p2micexgate_ru.pdf

Схемы данных для потоков данных доступны по адресу: ftp://ftp.rts.ru/pub/FORTS/test/Plaza2/Scheme/micex_scheme.ini

Новый дистрибутив клиентского шлюза, включающий схемы данных для рынков FORTS, Standard, Фондового и Валютного рынков доступен по адресу:

32 бита:

ftp://ftp.rts.ru/pub/FORTS/test/Plaza2/P2_ClientGate1.14.4_32_MCX.exe

64 бита:

ftp://ftp.rts.ru/pub/FORTS/test/Plaza2/P2_ClientGate1.14.4_64_MCX.exe

Сегодня попробую поддержать это всё нашим коннектором.

Comments (29)

Login or Create account, Log in or register to leave a comment

Alexander
Alexander Author

Есть желающие помочь?

Alexander
Alexander Author

Добавил поддержку ММВБ через Plaza II, обновил Sample. 😎 Сейчас в примере успешно получаются данные по акциям и по валютам.

Классы ММВБ, которые получаются задаются через PlazaTrader.MicexClasses. По умолчанию там все классы акций и валюта.

hurricane
hurricane

отличная новость!!! 👍

Alexander
Alexander Author

Уважаемые коллеги, трансляция анонимной рыночной информации по Валютному рынку и Фондовому рынку через шлюз PLAZA2 доступна в production-системе.

Дистрибутивы с соответствующими настройками выложены здесь:

ftp://ftp.rts.ru/pub/FORTS/Plaza2/P2_ClientGate1.14.8_32.exe ftp://ftp.rts.ru/pub/FORTS/Plaza2/P2_ClientGate1.14.8_64.exe

Обращаем ваше внимание, на то, что для комфортного получения данных по каждому из рынков потребуется дополнительная полоса пропускания сетевого канала не менее 1 Мбит/сек.

Для подключения обращайтесь в департамент продаж ММВБ-РТС, ts-sales@micex.com , тел. (495) 363-3232

До 1 января 2013 г. при подключении данных ASTS к существующему логину FORTS дополнительная плата не взимается, при подключении нового логина только для данных ASTS взимается плата как за просмотровый логин FORTS.

По техническим вопросам обращайтесь в службу тех. поддержки help@micex.com (495) 733-9507

Макс
Макс

Нет данных по валютному рынку. Боевой логин, samplegiu, S# 4.1.2 Commit 17615, шлюз P2_ClientGate1.14.8_32

ASTS вроде как подключен, потому что есть данные по фондовому рынку.

Alexander
Alexander Author

в PlazaTrader.MicexClasses присутствует нужный класс?

Макс
Макс

Alexander Mukhanchikov: в PlazaTrader.MicexClasses присутствует нужный класс?

вижу классы: EQBR,EQBS,EQNE,EQNL,EQLV,EQLI

в инструкции написано, что валюты по умолчанию включены. есть тут валюта? в описании http://fs.rts.micex.ru/files/707 за валюту вроде отвечает CETS CNGD TRAN

Alexander
Alexander Author

Значит нет там нужного класса, потому фильтруется. Как зальём на codeplex новую версию - там будет возможность добавлять классы и пофиксил описание, убрал что валюта включена.

Макс
Макс

Спасибо, будем ждать обновление. И еще, в том же примере выходит ошибка:

Ошибка обработки данных

System.InvalidOperationException: Поток MCXSPOT_MDTRADE_REPL выбросил ошибку. ---> System.Runtime.InteropServices.COMException: Couldn't open baseless repl datastream

в P2ClientGateMTA32.CP2DataStreamClass.Open(CP2Connection conn)

в #=qOoXJAAR8vTGK6wHwuDR_rVgBkG1EYyNI_ZDPWl6Yn95Tsl9V7LKWpB_NuGIXGHfD.#=q9qGPtGFBJa5lPr712q4SCQ==(#=q0fMXffpv$kMa0GexXmN3B4HKTd9dQzF2soBOyfSj$04QvxsFzaqj_4LlrLUZSAdf #=qDyLgYjKH4muHg6AUTZfgXg==)

в StockSharp.Plaza.PlazaStreamManager.#=qx$BU0B9UtH1S27XLgVuPZhPrOLgV$QhqLdHLBVkgYyM=.#=q$mOy$716ZuvUxDHjYw71Urhcad5b7OtrDG1wcCuViqs=(#=qULpFD3DVudGPg66f7bHCU4AlxqmxNwM$OOnJPh7YIw5o7lwL8jXeI0O63S3dFTnS #=qfOA0cjxrnYWErSZXBMeHhA==, Action`1 #=qu5sMJaxWjT6tbrbNA8onuQ==)

--- Конец трассировки внутреннего стека исключений ---

ОК

А также заметил, что данные по фондовому рынку приходят с задержкой, сначала 15 минут, перезапустил стало 9 мин, еще перезапустил - вылезла таже ошибка и задержка стала 7 мин.

Такое ощущение, что это время, которое уходит на прогрузку данных.

Alexander
Alexander Author

Это в ртс с логами обращайтесь.

Макс
Макс
  1. В версии stocksharp-17829 trunk нет изменений по валютному рынку?
  2. по ммвб хрень какая то: данные приходят не все, с какими то задержками. пытался смотреть сбербанк обычка на ммвб через плазу 4.1 и через quik.
  • в quik гораздо больше сделок.
  • всегда разница в несколько копеек в цене
  • пытался смотреть по номеру сделки . в quik номер - 10 знаков, через плазу - 9 знаков и номера вообще отличаются.
  • во время клиринга на фортс данные по ммвб не приходят.

Кто-нибудь пользуется ASTS ? Отпишитесь плиз. Не пойму у меня косяк или в S# или на биржу надо писать.

Alexander
Alexander Author

Изменения есть, теперь список можно менять. Советую на биржу позвонить с АСТС.

Макс
Макс

Изменения есть, теперь список можно менять

Подскажите как добавить валюту?

Советую на биржу позвонить с АСТС.

Понял в чем косяк - я смотрел не ммвб, а ртс стандарт.

искал по коду SBER, а какой код у ммвб сбербанка? начинают терзать смутные сомнения, может у меня вообще asts неподключен... отписался на биржу


//Появление инструментов
                            Trader.NewSecurities += securities => this.GuiAsync(() =>
                            {

                                foreach (Security sec in securities)
                                {
                                    //log("" + sec.Code);
                                    if (sec.Code == secCode1)
                                    {
                                        _ins1 = sec;
                                        log("Нашли инструмент:" + _ins1.Code + " short_name: " + _ins1.ShortName);
                                    }

Alexander
Alexander Author

Макс: Подскажите как добавить валюту?

Добавить нужный класс в список поддерживаемых ммвб классов.

Макс
Макс

Теперь по поводу валютного рынка:

Alexander Mukhanchikov:

Макс: Подскажите как добавить валюту? Добавить нужный класс в список поддерживаемых ммвб классов.

Добавляю классы:


 Trader.MicexClasses.Add("CETS");
 Trader.MicexClasses.Add("TRAN");

if (IsMicexSupport.IsChecked == true)
{
	Trader.Tables.Add(Trader.TableRegistry.McxSecuritiesSpot);
	Trader.Tables.Add(Trader.TableRegistry.McxSecuritiesCurrency);
	Trader.Tables.Add(Trader.TableRegistry.McxCommonSpot);
	Trader.Tables.Add(Trader.TableRegistry.McxCommonCurrency);
	Trader.Tables.Add(Trader.TableRegistry.McxOrderBookSpot);
	Trader.Tables.Add(Trader.TableRegistry.McxOrderBookCurrency);
	Trader.Tables.Add(Trader.TableRegistry.McxTradesCurrency);
	Trader.Tables.Add(Trader.TableRegistry.McxTradesSpot);
 }                     


 MessageBox.Show(this, Trader.MicexClasses.ToString());

Теперь классы такие: {EQBR,EQBS,EQNE,EQNL,EQLV,EQLI,CETS,TRAN}

После запуска выходит 3 ошибки:

Ошибка обработки данных

System.InvalidOperationException: Поток MCXSPOT_MDTRADE_REPL выбросил ошибку. ---> System.Runtime.InteropServices.COMException: Couldn't open baseless repl datastream

в P2ClientGateMTA32.CP2DataStreamClass.Open(CP2Connection conn)

в #=qasG_Mg1cgREdo3R9pQO0W92G$yL6C6Is$XwcwRkY9$J1Y_NuDWYa_jWJv3jX8fML.#=qCmxsV$jEUrH7jj4LLbP14w==(#=qRrRRmp3HwYTcE$0Z7qWRkdbWEq5ROyb6IDLeYy5HnwpT_Jmf7sRaCAmeqcqNt2a7 #=qI_Z5SY4hNH1vYviGOUbVng==)

в StockSharp.Plaza.PlazaStreamManager.#=qwAVu03f70PvGv2NmDj0UqVBhju6ScGdDeh4TcDf_OCQ=.#=q4fI9kOIy1a8$3NN7pSn5k8X82P9eaQHVQtP$pYMYIwo=(#=qTVSc2Z0v5QR5Pga5WUw3qXkNNkjj$YpCIxJTD5LtvHUVPFdxuRiiGrGEQMHxGpPH #=qujf7xMTSvbDXGQC01xJPjA==, Action`1 #=qR3Eb55I9z8gUQOuNi3sfwA==)

--- Конец трассировки внутреннего стека исключений ---

ОК


Ошибка обработки данных

System.InvalidOperationException: Поток MCXCC_MDTRADE_REPL выбросил ошибку. ---> System.Runtime.InteropServices.COMException: Couldn't open baseless repl datastream

в P2ClientGateMTA32.CP2DataStreamClass.Open(CP2Connection conn)

в #=qasG_Mg1cgREdo3R9pQO0W92G$yL6C6Is$XwcwRkY9$J1Y_NuDWYa_jWJv3jX8fML.#=qCmxsV$jEUrH7jj4LLbP14w==(#=qRrRRmp3HwYTcE$0Z7qWRkdbWEq5ROyb6IDLeYy5HnwpT_Jmf7sRaCAmeqcqNt2a7 #=qI_Z5SY4hNH1vYviGOUbVng==)

в StockSharp.Plaza.PlazaStreamManager.#=qwAVu03f70PvGv2NmDj0UqVBhju6ScGdDeh4TcDf_OCQ=.#=q4fI9kOIy1a8$3NN7pSn5k8X82P9eaQHVQtP$pYMYIwo=(#=qTVSc2Z0v5QR5Pga5WUw3qXkNNkjj$YpCIxJTD5LtvHUVPFdxuRiiGrGEQMHxGpPH #=qujf7xMTSvbDXGQC01xJPjA==, Action`1 #=qR3Eb55I9z8gUQOuNi3sfwA==)

--- Конец трассировки внутреннего стека исключений ---

ОК


Ошибка обработки данных

System.InvalidOperationException: Поток MCXCC_INFO_REPL выбросил ошибку. ---> System.Runtime.InteropServices.COMException: Couldn't open baseless repl datastream

в P2ClientGateMTA32.CP2DataStreamClass.Open(CP2Connection conn)

в #=qasG_Mg1cgREdo3R9pQO0W92G$yL6C6Is$XwcwRkY9$J1Y_NuDWYa_jWJv3jX8fML.#=qCmxsV$jEUrH7jj4LLbP14w==(#=qRrRRmp3HwYTcE$0Z7qWRkdbWEq5ROyb6IDLeYy5HnwpT_Jmf7sRaCAmeqcqNt2a7 #=qI_Z5SY4hNH1vYviGOUbVng==)

в StockSharp.Plaza.PlazaStreamManager.#=qwAVu03f70PvGv2NmDj0UqVBhju6ScGdDeh4TcDf_OCQ=.#=q4fI9kOIy1a8$3NN7pSn5k8X82P9eaQHVQtP$pYMYIwo=(#=qTVSc2Z0v5QR5Pga5WUw3qXkNNkjj$YpCIxJTD5LtvHUVPFdxuRiiGrGEQMHxGpPH #=qujf7xMTSvbDXGQC01xJPjA==, Action`1 #=qR3Eb55I9z8gUQOuNi3sfwA==)

--- Конец трассировки внутреннего стека исключений ---

ОК

Валютные инструменты действительно появились, но не приходит цена сделки, причем менятся ask bid, меняется объем последней сделки, а цена 0.

Версия stocksharp-17829 trunk.

Кстати, с версией 4.1 (до лицензии) тоже самое, только 3 ошибки не появляются.

Макс
Макс

По поводу ММВБ: На бирже ответили, что ASTS у меня подключен.

Когда подключаюсь с галкой ММВБ, то получаю 3132 инструмента, среди которых SBER Сбербанк Сбербанк России ОАО ао - как оказалось это инструмент РТС Стандарт.

Когда подключаюсь без галки ММВБ получаю 2445 инструментов, вижу только инструменты РЕПО на Сбербанк, Сбербанк с РТС Стандарт отсутствует.

Вопрос: а где Сбербанк с ММВБ и прочие фишки с ММВБ ?

Alexander
Alexander Author

Не может потоки открыть почему-то. Надо на биржу обратиться.

Макс
Макс

Alexander Mukhanchikov: Не может потоки открыть почему-то. Надо на биржу обратиться. ок, обращусь. А по предыдущему посту (фишки ММВБ) есть соображения?

Alexander
Alexander Author

По тому вопросу - какая версия? с codeplex? Проблема связана с этим http://forum.rts.ru/viewtopic.asp?t=23886 Долбанный АСТС, я уже нахлебался с ним.

Не обращайте внимания на ртс - это ммвб. надо понять какое название класса там.

Макс
Макс

Alexander Mukhanchikov: По тому вопросу - какая версия? с codeplex? Проблема связана с этим http://forum.rts.ru/viewtopic.asp?t=23886

Для чистоты эксперимента взял сегодня версию с кодеплекса stocksharp-17880 trunk Видимо, потому что код у сбербанка SBER и на ММВБ и на РТС стандарт глюки.

Не обращайте внимания на ртс - это ммвб. надо понять какое название класса там. нет, он показывает именно РТС Стандарт, т.к. цены, объемы в стакане такие, да и на время клиринга фортс 1400-1403, котировки перестают приходить, а на ММВБ торги идут.

  • какая то херня с запаздыванием : время последней сделки на несколько минут отстает от реального времени и время отставания плавает...и с каждым перезапуском это время разное.

Долбанный АСТС, я уже нахлебался с ним.

Да, походу это временный костыль, пока биржи не объединят:

Технически рынки и системы ММВБ и РТС еще разделены, наиболее правильно следить за торгами на ММВБ через брокера, то есть систему QUIK. РТС тоже транслирует данные с рынков ММВБ, но про, то, как они это делают и откуда берутся данные лучше уточнить у поддержки РТС тел. 733-95-07.

Так что фишек ММВБ походу нет в списке инструментов.

Alexander
Alexander Author

Макс:

Alexander Mukhanchikov: По тому вопросу - какая версия? с codeplex? Проблема связана с этим http://forum.rts.ru/viewtopic.asp?t=23886

Для чистоты эксперимента взял сегодня версию с кодеплекса stocksharp-17880 trunk Видимо, потому что код у сбербанка SBER и на ММВБ и на РТС стандарт глюки.

Так что фишек ММВБ походу нет в списке инструментов.

Я сделал проще - добавил вывод класса в таблицу. как оказалось - ММВБ в виде EQBR действительно присутствует. Но он тестовый, потому видимо цены и не совпадают.

Макс
Макс

По валюте. stocksharp-17880 trunk Добавил в samplegui


Trader.MicexClasses.Add("CETS");
Trader.MicexClasses.Add("TRAN");
.......
Trader.NewTrades += trades =>this.GuiAsync(() => 
  {
   if (_ins1!=null)
       if (_ins1.LastTrade!=null)
           if (_ins1.BestPair!=null)

label1.Content = "" + _ins1.LastTrade.Price+" "+_ins1.BestPair.ToString()+" "+_ins1.LastTrade.Volume+" "+_ins1.LastTrade.Time.ToString();

    //_tradesWindow.Trades.AddRange(trades);
  });


На видео видно, что цена иногда прогружается правильная, но потом опять 0, при этом меняется стакан и даже объем последней сделки. Больше похоже на баг S#, чем на косяк биржи?

Alexander
Alexander Author

Макс: По валюте. stocksharp-17880 trunk Добавил в samplegui

Trader.MicexClasses.Add("CETS"); Trader.MicexClasses.Add("TRAN"); ....... Trader.NewTrades += trades =>this.GuiAsync(() => { if (_ins1!=null) if (_ins1.LastTrade!=null) if (_ins1.BestPair!=null)

label1.Content = "" + _ins1.LastTrade.Price+" "+_ins1.BestPair.ToString()+" "+_ins1.LastTrade.Volume+" "+_ins1.LastTrade.Time.ToString();

//_tradesWindow.Trades.AddRange(trades);

});

> 
> На видео видно, что цена иногда прогружается правильная, но потом опять 0, при этом меняется стакан и даже объем последней сделки.
> Больше похоже на баг S#, чем на косяк биржи?
> ::iframe{url=https://www.youtube.com/embed/T4LVOZuyJGA width=640 height=390}


Да, скорее косяк, спасибо.
На бирже в потоке спота есть Last - последняя цена - в потоке common.
Для валюты - нет.
Я изменил поведение - добавил запись в Last.Price - Base SWAP price, хоть и не уверен что это верно.

ftp://ftp.rts.ru/pub/FORTS/Plaza2/p2micexgate_ru.pdf
вот ссылка на доку по ммвб
Макс
Макс

Alexander Mukhanchikov:

Макс: По валюте. stocksharp-17880 trunk Добавил в samplegui

Trader.MicexClasses.Add("CETS"); Trader.MicexClasses.Add("TRAN"); ....... Trader.NewTrades += trades =>this.GuiAsync(() => { if (_ins1!=null) if (_ins1.LastTrade!=null) if (_ins1.BestPair!=null)

label1.Content = "" + _ins1.LastTrade.Price+" "+_ins1.BestPair.ToString()+" "+_ins1.LastTrade.Volume+" "+_ins1.LastTrade.Time.ToString();

//_tradesWindow.Trades.AddRange(trades);

});

> >
> > На видео видно, что цена иногда прогружается правильная, но потом опять 0, при этом меняется стакан и даже объем последней сделки.
> > Больше похоже на баг S#, чем на косяк биржи?
> > ::iframe{url=https://www.youtube.com/embed/T4LVOZuyJGA width=640 height=390}
> 
> 
> Да, скорее косяк, спасибо.
> На бирже в потоке спота есть Last - последняя цена - в потоке common.
> Для валюты - нет.
> Я изменил поведение - добавил запись в Last.Price - Base SWAP price, хоть и не уверен что это верно.
> 
> ftp://ftp.rts.ru/pub/FORTS/Plaza2/p2micexgate_ru.pdf
> вот ссылка на доку по ммвб



Не правильно.
Оказывается LAST поле вообще не транслировалось.

ответ биржи
> Вот информация по цене последней сделки.
> "Обратите внимание, что в потоке общей информации по инструментам по валютному рынку (MCXCC_MDCOMMON_REPL) в таблице COMMON добавляется новое поле LAST - цена последней сделки по аналогии с таким же потоком фондового рынка (MCXSPOT_MDCOMMON_REPL).
> 
> На тестовом полигоне изменения вступают в силу с 26/07/2012, планируемая дата внедрения в боевую систему - 2/08/2012."
> 
> С уважением,
> Еремина Татьяна
Косяк биржи был.
Так что лучше вернуть поле Last как было :)


Макс
Макс

Но он тестовый, потому видимо цены и не совпадают.

Данные реальные, но они отстают по времени и при работе время отставания увеличивается.

Общался с биржей:

на сервере открытие потока: 12:17:43.959;P2ReplServer;;<-OPEN;from fg41cm_00clb.SS_5 12:17:43.959;P2ReplServer;;->OPEN_ANS ch 5484ca35e4; name MCXSPOT_MDCOMMON_REPL 12:17:44.019;p2repl-cli;;DATA message received;stream 0x1B67990 12:17:44.019;p2isam;;Transaction started 12:17:44.020;P2ReplStorage;;Changed revs at commit; stream 0x1B67990; cnt 1 12:17:44.020;P2ReplStorage;; tbl_idx 0; rev range 3158443 - 3158457 12:17:44.020;p2isam;;Transaction commited 12:17:44.028;P2ReplServer;;<-SCHEME 12:17:44.028;P2ReplServer;;Channel 5484ca35e4 assigned to group 70 12:17:44.028;P2ReplServer;;->SCHEME_ANS ch 5484ca35e4, err 0 12:17:44.095;p2repl-cli;;DATA message received;stream 0x1B67990

на клиенте открытие потока: 2012-06-26 12:17:47.899;p2repl-cli;;Scheme setting started;stream 0xA4B3420 2012-06-26 12:17:47.915;p2repl-cli;;Stream opened;stream 0xA4B5198;channel 0x5484CA35E4 2012-06-26 12:17:47.915;p2repl-cli;;Desired schema is not equal to prev schema (lifenum ignored);stream 0xA4B5198 2012-06-26 12:17:47.915;P2ReplStorage;;Revs were cleared after lifenum change; stream 0xA4B5198; cnt 1

разница 3.8 сек

==============

после 10 минут работы запись с одинаковым ревиженом по этому потоку:

12:26:36.628;P2ReplStorage;;Changed revs at commit; stream 0x1B67990; cnt 1 12:26:36.628;P2ReplStorage;; tbl_idx 0; rev range 3328270 - 3328297 12:26:36.628;p2isam;;Transaction commited 12:26:36.628;P2ReplServer;;COMPRESS 2751->1303

2012-06-26 12:28:38.790;P2ReplStorage;;Changed revs at commit; stream 0xA4B5198; cnt 1 2012-06-26 12:28:38.790;P2ReplStorage;; tbl_idx 0; rev range 3328270 - 3328297

2 мин 2 сек разницы "

Таким образом, первопричина либо в медленной работе "СтокШарпа", либо в узком канале.

Канал 100 Мбит Full-Duplex , следовательно, проблема в СтокШарпе.

И номера сделок почему то нулевые.

Alexander
Alexander Author

По первому - сегодня выложу на codeplex свежую версию, попробуйте её. По второму - какие именно номера сделок?

Alexander
Alexander Author

Да, пришло письмо с данными изменениями. Верну не как было, а сделаю как должно быть правильно.

NewMan
NewMan

Скажите, а сейчас работает ММВБ по Plaza2? Без тормозов ли приходят стаканы? можно использовать их, или нужен отдельный шлюз к ммвб?

qpile
qpile

Здравствуйте, уважаемые форумяне. А какие потоки надо включить, что бы котировки пришли по валюте?