OrderLog -> Trades
Atom Ответить
13.04.2018


Добрый день

Попытка получить сделки из ордер лога дала результат только в виде 2 сделок (16:33:06.216 и 16:56:26.387).

https://drive.google.com...YqbP4lCK0dFjZySxTaPDa1R0

Теги:


Спасибо:




14 Ответов
Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 16.04.2018
Ответить


Попробовал на данных не 2014, а 2018 - количество сделок стало больше, но львиная их доля так же пропущена.
OrdLogAFLT-6.18.PNG OrderLogCount = 25726
TradesAFLT-6.18.PNG TradesCount = 572
A.zip
Автор топика
Спасибо:

Support

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


Добрый день

Возможно проблема с данными. Проверьте сами данные. Сколько изначально в них сделок.
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 16.04.2018
Ответить


Добрый день

Если я правильно смотрю, то выходит 13026 сделок
CountDoneTrades.PNG
Автор топика
Спасибо:

Support

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


Пожалуйста уточните ваш ответ.
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 16.04.2018
Ответить


Ок



Получил List<ExecutionMessage> ordLogs (количество ExecutionMessage ордер лога = 25726)
Пройдясь по каждому сообщению, отсортировал по o.OrderState == OrderStates.Done и сохранил результат в trades6 (List<ExecutionMessage>)

"Возможно проблема с данными. Проверьте сами данные. Сколько изначально в них сделок."
Верно ли, что trades6.Count = искомому количеству сделок?
Автор топика
Спасибо:

Support

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


Проверять строчку на сделку можно по полю TradeId
Спасибо: Дмитрий Антипов

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 16.04.2018
Ответить


По данному полю, где TradeId != null, количество сделок = 1144.

Используя метод
var trades = ordLogs.ToTicks().ToList();, получаем trades.Count = 572

У меня что-то не сходится. 1144-572 = 572. Я что-то фундаментально не догоняю, как так ordLogs.ToTicks().ToList().Count * 2 == количеству сделок, где TradeId != null?
Автор топика
Спасибо:

Support

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


В сделке участвуют две стороны.
Спасибо: Дмитрий Антипов

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 16.04.2018
Ответить


"В сделке участвуют две стороны."
Во туплю.


Причём более 1 раза.
http://doc.stocksharp.ru...Messages_OrderStates.htm
Автор топика
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 18.04.2018
Ответить


Добрый день

Подскажите пожалуйста, чем отличаются
executionMessage.OriginSide (
http://doc.stocksharp.ru...onMessage_OriginSide.htm - Инициатор сделки (продавец или покупатель))
и
executionMessage.Side (
http://doc.stocksharp.ru...xecutionMessage_Side.htm - Направление заявки (покупка или продажа))?
Логически OriginSide == Side

Автор топика
Спасибо:

Support

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


Первое это инициатор сделки. Второе это направление заявки в стакане.
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 19.04.2018
Ответить


Верно. Просто получается, если инициатор сделки sell, то и направление заявки - sell. Не могу уловить мысль, какова идея 2 свойств, которые копируют друг друга?
Автор топика
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 19.04.2018
Ответить


Верно. Просто получается, если инициатор сделки sell, то и направление заявки - sell. Не могу уловить мысль, какова идея 2 свойств, которые копируют друг друга?
Автор топика
Спасибо:

Support

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


Добрый день

В данном случае заполнение полей идёт по источнику. Возможно вам стоит обратиться к бирже или брокеру с разъяснениям по поводу транслируемого значения.
Спасибо:


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

loading
clippy