Mikhail Sukhov Нужны логи из ДДЕ.
1) Неверное время Order.Time «0001-01-01 00:00:00.0000000»
В файле можно найти данные из OrdersChanged и PreProcessDdeData:
эксельДанные из NewOrders
Код
InitDate 2011-04-26 12:20:32.0277086
Date 0001-01-01 00:00:00.0000000
CancelDate NULL
Price 102.22
Volume 39
Balance 39
Id 259271
TransactionId 44300176
Direction B
StockName SBER03
State Active
Status Accepted
ExecutionCondition CancelBalance
Type Limit
InitDate 2011-04-26 12:20:32.9495954
Date 0001-01-01 00:00:00.0000000
CancelDate NULL
Price 102.22
Volume 39
Balance 39
Id 259356
TransactionId 44300177
Direction B
StockName SBER03
State Active
Status Accepted
ExecutionCondition CancelBalance
Type Limit
В этих данных можно посмотреть на заявки 44300176 и 44300177.
После того, как Order.State поменялся на Done, в заявке 44300176 свойство Order.Time было «2011-04-26 12:20:31.0000000».
Тогда как, в заявке 44300177 свойство Order.Time было «0001-01-01 00:00:00.0000000».
Просмотрев DDE данные, заметил, что в первом случае данные PreProcessDdeData приходят перед тем, как появится событие OrdersChanged.
Во втором случае перед первым OrdersChanged данные из PreProcessDdeData не приходят.
2) Время Order.CancelTime отсутствует, а должно быть.
В файле можно найти данные из OrdersChanged и PreProcessDdeData:
эксельДанные из NewOrders:
Код
InitDate 2011-04-26 12:21:34.1535038
Date 0001-01-01 00:00:00.0000000
CancelDate NULL
Price 102.13
Volume 39
Balance 39
Id 260883
TransactionId 44300189
Direction S
StockName SBER03
State Active
Status Accepted
ExecutionCondition CancelBalance
Type Limit
InitDate 2011-04-26 12:21:38.5910606
Date 0001-01-01 00:00:00.0000000
CancelDate NULL
Price 102.18
Volume 1
Balance 1
Id 260975
TransactionId 44300190
Direction S
StockName SBER03
State Active
Status Accepted
ExecutionCondition PutInQueue
Type Limit
В этих данных можно посмотреть на заявки 44300189 и 44300190.
После того, как Order.State поменялся на Done, в заявке 44300189 свойство Order.CancelTime было «2011-04-26 12:21:34.0000000».
Тогда как, в заявке 44300190 свойство Order.CancelTime было пустым.
В данных DDE можно увидеть, что событие первое событие OrdersChanged , когда Order.State поменялся на Done, происходит самопроизвольно, без поступления данных из DDE. Это мое предположение, могу и ошибаться.