Периодически не приходят мои сделки


Периодически не приходят мои сделки
Atom
05.10.2010


Достаточно регулярно случается сабж - заявка исполняется, а сделка не приходит, NewMyTrade не вызывается. По заявке приходит NewOrders со следующими данными: time:01.01.0001 0:00:00, state:Active, status:Done, balance:1, volume:1 и вызывается ProcessWellKnownDdeData для таблицы "мои сделки", но в Dictionary не приходит ни одной записи. Далее по заявке приходят OrdersChanged, она становится state:Done, status:Done, Matched:True, но сделка по ней так и не появляется. В квиковских таблицах со сделками и заявками все в порядке, экспорт работает. Квик 5.16.0.151, демо от финама, S# 2.4.

Теги:


Спасибо:


< 1 2 
Mikhail Sukhov

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


Alter
и вызывается ProcessWellKnownDdeData для таблицы "мои сделки", но в Dictionary не приходит ни одной записи.


Посмотрел код - это нормальное поведение, когда данные пришли во второй раз. Например, экспорт ДДЕ был пере запущен (Квик шлет все по второму разу). В след. версии сделаю поверку, если нет данных, не вызывать событие.
Спасибо:

Alter

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


Вот лог. Вызывается перерегистрация заявки, приходит NewOrders и пустой ProcessWellKnownDdeData для сделок, потом OrdersChanged, в котором приходит время заявки, далее меняется поза по инструменту. NewMyTrades так и не приходит до перезапуска экспорта.

Код
10/06/2010 18:12:50 [1] - PositionsChanged:
10/06/2010 18:12:50 [1] -      GZZ0: 1

10/06/2010 18:12:50 [1] - MMQS [Runned]: Цена текущей 16473 и лучшей 16471.
10/06/2010 18:12:50 [1] - MMQS [Runned]: Try reregister order

10/06/2010 18:12:51 [1] - OrdersChanged: Id:129244314, time:06.10.2010 18:13:05, state:Active, status:Done dir:Sell, initTime:06.10.2010 18:12:47, C:False, FE:True, FP:False, M:False, balance:1, volume:1, tranId:60249556, hash:17278584

10/06/2010 18:12:51 [1] - *** ProcessWellKnownDdeData ***
10/06/2010 18:12:51 [1] - заявки
10/06/2010 18:12:51 [1] - 129244314; GZZ0; SPBFUT; 16473; 1; 1; S; ACTIVE; 18:13:05; ; SPBFUT00397; LNK; XXX; 60249556; 06.10.2010;
10/06/2010 18:12:51 [1] - *** End ProcessWellKnownDdeData ***

10/06/2010 18:12:51 [1] - MMQS [Runned]: OnProcess, reregister order: Id:129244503, time:01.01.0001 0:00:00, state:Active, status:Done dir:Sell, initTime:06.10.2010 18:12:50, C:False, FE:True, FP:False, M:False, balance:1, volume:1, tranId:60249557, hash:51656463

10/06/2010 18:12:51 [1] - *** ProcessWellKnownDdeData ***
10/06/2010 18:12:51 [1] - мои сделки
10/06/2010 18:12:51 [1] - *** End ProcessWellKnownDdeData ***

10/06/2010 18:12:52 [1] - NewOrders: Id:129244503, time:01.01.0001 0:00:00, state:Active, status:Done dir:Sell, initTime:06.10.2010 18:12:50, C:False, FE:True, FP:False, M:False, balance:1, volume:1, tranId:60249557, hash:51656463

10/06/2010 18:12:52 [1] - OrdersChanged: Id:129244314, time:06.10.2010 18:13:05, state:Done, status:Done dir:Sell, initTime:06.10.2010 18:12:47, C:True, FE:True, FP:False, M:False, balance:1, volume:1, tranId:60249556, hash:17278584

10/06/2010 18:12:52 [1] - PositionsChanged:
10/06/2010 18:12:52 [1] -      GZZ0: 0

10/06/2010 18:12:52 [1] - *** ProcessWellKnownDdeData ***
10/06/2010 18:12:53 [1] - заявки
10/06/2010 18:12:53 [1] - 129244314; GZZ0; SPBFUT; 16473; 1; 1; S; KILLED; 18:13:05; ; SPBFUT00397; LNK; XXX; 60249556; 06.10.2010;
10/06/2010 18:12:53 [1] - *** End ProcessWellKnownDdeData ***

10/06/2010 18:12:53 [1] - OrdersChanged: Id:129244503, time:06.10.2010 18:13:08, state:Done, status:Done dir:Sell, initTime:06.10.2010 18:12:50, C:False, FE:False, FP:False, M:True, balance:0, volume:1, tranId:60249557, hash:51656463

10/06/2010 18:12:54 [1] - *** ProcessWellKnownDdeData ***
10/06/2010 18:12:54 [1] - заявки
10/06/2010 18:12:54 [1] - 129244503; GZZ0; SPBFUT; 16471; 1; 0; S; FILLED; 18:13:08; ; SPBFUT00397; LNK; XXX; 0; 06.10.2010;
10/06/2010 18:12:55 [1] - *** End ProcessWellKnownDdeData ***


То ли стокшарп считает, что сделка уже приходила и игнорит ее, то ли квик шлет что-то не то. Есть возможность получить лог вывода квика по ДДЕ до отбрасывания дублирующихся данных? Пробовал смотреть через ddespy, но там выводятся бинарные данные xltable вперемежку со вспомогательной информацией, разбирать эту кашу как-то не хочется.
Спасибо:

Mikhail Sukhov

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


Alter
Вот лог. Вызывается перерегистрация заявки, приходит NewOrders и пустой ProcessWellKnownDdeData для сделок, потом OrdersChanged, в котором приходит время заявки, далее меняется поза по инструменту. NewMyTrades так и не приходит до перезапуска экспорта.


А ProcessDataError ничего плохого не кидает? Например, неудачное преобразование ДДЕ данных сделки.

Alter

То ли стокшарп считает, что сделка уже приходила и игнорит ее, то ли квик шлет что-то не то. Есть возможность получить лог вывода квика по ДДЕ до отбрасывания дублирующихся данных? Пробовал смотреть через ddespy, но там выводятся бинарные данные xltable вперемежку со вспомогательной информацией, разбирать эту кашу как-то не хочется.


Если не получится решить проблему, то я отошлю спец. dll с таким событием.
Спасибо:

Alter

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


Нет, ProcessDataError молчит.
Спасибо:

Mikhail Sukhov

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


Alter
Нет, ProcessDataError молчит.


http://stocksharp.com/posts/m/4140/
Спасибо:

Alter

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


Отлично, спасибо!
Спасибо:
< 1 2 

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

loading
clippy