Работа со стаканом заявок


Работа со стаканом заявок
Atom
2/4/2019


Добрый день.

Имею историю по стаканам.
History.zip

Загружаю историю по стакану из локального хранилища.
LKOH.txt
По времени всё ок. (06:59:46.253, 06:59:46.643... меняется)
QuoteChange,T(L)=2019/01/30 03:59:45.114,T(S)=2019/01/30 06:59:45.114 {{ 10 - 10 }}
QuoteChange,T(L)=2019/01/3106:59:46.253,T(S)=2019/01/30 06:59:45.114 {{ 10 - 10 }}
QuoteChange,T(L)=2019/01/31 06:59:46.643,T(S)=2019/01/30 06:59:45.114 {{ 10 - 10 }}

Гружу историю через HistoryEmulationConnector (аналогично как в S# Shell) и не могу найти свойство отвечающее за QuoteChange в коннекторе и стратегии.
Capture.PNG
Отображается неизменяемое 06:59:45

WriteLine(FirstSecurity.Code + " " + Connector.CurrentTime) и
WriteLine(SecondSecurity.Code + " " + Connector.MarketDataAdapter.CurrentTime) в ProcessMarketDepth(MarketDepth marketDepth)
both.txt

Где находится информация о QuoteChange time в HistoryEmulationConnector или стратегии?
History.zip 1 MB (420) LKOH.txt 2 MB (531) Capture.PNG 36 KB (690) both.txt 15 MB (335)

Tags:


Thanks:


1 2 3  >
Дмитрий_

Avatar
Date: 2/7/2019
Reply


Добрый день.

Дополнительный вопрос.
Метод Connector.GetMarketDepth(security) работает некорректно.
После него теряется большая часть стакана (в both.txt)

И в основном 0


Где
10 - 10,
0 - 0,
1 - 0 это Connector.GetMarketDepth(security).Bids.Count() + " - " + Connector.GetMarketDepth(security).Asks.Count()

Хотя по истории LKOH.txt и GAZP.txt таких пробелов нет.
GAZP.txt

Код отправил на почту.
GAZP.txt 5 MB (443)
Thanks:

Дмитрий_

Avatar
Date: 2/8/2019
Reply


Экспериментальным методом определил, что стаканы GAZP и LKOH не приходят одновременно.


Несмотря на то, что оба инструмента 2019/01/31 числа,
Capture1.PNGCapture.PNG
все WhenMarketDepthChanged отрабатывают сначала для LKOH, а затем для GAZP.
Причем,
и при FirstSecurity = LKOH, SecondSecurity = GAZP
и при FirstSecurity = GAZP, SecondSecurity = LKOH
- первый всегда LKOH.
1 вопрос) Что нужно сделать с коннектором, чтобы WhenMarketDepthChanged двух инструментов приходили одновременно?

Плюс
Каждый второй QuoteChange в ProcessMarketDepth равен предыдущему. По этой причине, в LHOH.txt 31599 QuoteChange, но ProcessMarketDepth срабатывает 31599 * 2 = 63198 раз (аналогично и для GAZP).
2 вопрос) Почему дублируется QuoteChange marketDepth?
Capture1.PNG 84 KB (549) Capture.PNG 85 KB (662)
Thanks:

Support

Avatar
Date: 2/11/2019
Reply


Добрый день

Могли бы вы разделить ваши вопросы на разные топики и предоставить больше информации в чем именно ваш вопрос?
Thanks:

Дмитрий_

Avatar
Date: 2/11/2019
Reply


Support Go to
Добрый день

Могли бы вы разделить ваши вопросы на разные топики и предоставить больше информации в чем именно ваш вопрос?


Добрый день.

Подытожим.

Проблемный код отправил на почту.
History.zip, GAZP.txt, LKOH.txt, both.txt - прикреплены к посту.

В первом посте от 04.02.2019 вопрос
1) Где находится информация о QuoteChange time (изменяемое время) в HistoryEmulationConnector?

Третий пост от 08.02.2019 выложен с двумя целям:
1 - Сказать от том, что второй пост от 07.02.2019 разрешен и отвечать на него не нужно.
2 - В связи с этим, появились новые вопросы:
2) Что нужно сделать с историческим коннектором, чтобы WhenMarketDepthChanged двух инструментов приходили одновременно?
3) Почему дублируется QuoteChange marketDepth?


Итого:
Все вопросы связаны со стаканом заявок и возможно они взаимосвязаны, поэтому они находятся в одном посте.
1) Где находится информация о QuoteChange time (изменяемое время) в HistoryEmulationConnector?
2) Что нужно сделать с историческим коннектором, чтобы WhenMarketDepthChanged двух инструментов приходили одновременно?
3) Почему дублируется QuoteChange marketDepth?

4) Какую дополнительную информацию Вам предоставить?
5) Имея текущий итог - разделять вопросы на разным топикам?


Thanks:

Support

Avatar
Date: 2/11/2019
Reply


Метка времени у стакана находится в свойстве https://doc.stocksharp.r...epth_LastChangeTime.htm Это то, что вам нужно?
Thanks:

Дмитрий_

Avatar
Date: 2/11/2019
Reply


Support Go to
Метка времени у стакана находится в свойстве https://doc.stocksharp.r...epth_LastChangeTime.htm Это то, что вам нужно?


Не совсем. На картинке Capture.PNG я показал по каким свойствам прошел (и то свойство там было), но время осталось неизменным 06:59:45.

Уточню.
В файле LKOH.txt как получить вторую колонку? (T(L)=2019/01/31 06:59:46.643)
На картинке Capture.PNG перебрал всё и получаю только третью колонку (T(S)=2019/01/30 06:59:45.114)

Thanks:

Support

Avatar
Date: 2/11/2019
Reply


Время на истории это https://doc.stocksharp.r...epth_LastChangeTime.htm Вы же вывели другие свойства, которые не относятся к стакану. Поэтому вопрос заключается в том, что вам нужно получить.
Thanks:

Дмитрий_

Avatar
Date: 2/11/2019
Reply


Support Go to
Время на истории это https://doc.stocksharp.r...epth_LastChangeTime.htm Вы же вывели другие свойства, которые не относятся к стакану. Поэтому вопрос заключается в том, что вам нужно получить.


Возможно я ошибаюсь и данное время относится не к стакану, а к коннектору.
Мне нужно получить вторую колонку из файла LKOH.txt
T(L)=2019/01/31 06:59:46.253
T(L)=2019/01/31 06:59:46.643

В общем получить T(L) - чтобы это не значило.

Файл был сформирован алгоритмом ниже
Thanks:

Support

Avatar
Date: 2/12/2019
Reply


Добрый день

Пожалуйста, уточните ваш вопрос. Если он заключается в том, откуда брать время стакана, то это MarketDepth.LastChangeTime или аналог QuotesChangeTime.ServerTime.
Thanks:

Дмитрий_

Avatar
Date: 2/12/2019
Reply


Support Go to
Добрый день

Пожалуйста, уточните ваш вопрос. Если он заключается в том, откуда брать время стакана, то это MarketDepth.LastChangeTime или аналог QuotesChangeTime.ServerTime.


Добрый день.

Перефразирую.

Есть код.

Как мне внутри метода void ProcessSecondMarketDepth(MarketDepth marketDepth) получить свойство LocalTime от объекта QuoteChangeMessage?
Снимок.PNG
Снимок.PNG 27 KB (588)
Thanks:
1 2 3  >

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

loading
clippy