Работа со стаканом заявок
Atom
04.02.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 (532) LKOH.txt 2 MB (655) Capture.PNG 36 KB (846) both.txt 15 MB (423)

Теги:


Спасибо:


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

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


Добрый день.

Дополнительный вопрос.
Метод 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 (550)
Спасибо:

Дмитрий_

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


Экспериментальным методом определил, что стаканы 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 (702) Capture.PNG 85 KB (783)
Спасибо:

Support

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


Добрый день

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

Дмитрий_

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


Support
Добрый день

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


Добрый день.

Подытожим.

Проблемный код отправил на почту.
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) Имея текущий итог - разделять вопросы на разным топикам?


Спасибо:

Support

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


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

Дмитрий_

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


Support
Метка времени у стакана находится в свойстве 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)

Спасибо:

Support

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


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

Дмитрий_

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


Support
Время на истории это 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) - чтобы это не значило.

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

Support

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


Добрый день

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

Дмитрий_

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


Support
Добрый день

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


Добрый день.

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

Есть код.

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

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

loading
clippy