В историческом коннекторе (HistoryEmulationConnector) не работает orderLogItem.IsMatched()
Добрый день.
Есть следующий код
Connector.NewOrderLogItem += Connector_NewOrderLogItem;
FirstSecurity.WhenNewOrderLogItem(Connector)
.Do(ProcessNewOrderLogItem)
.Apply(this);
private void ProcessNewOrderLogItem(OrderLogItem orderLogItem)
{
if (orderLogItem.IsCanceled())
{
}
if (orderLogItem.IsRegistered())
{
}
if (orderLogItem.IsMatched())
{
}
}
private void Connector_NewOrderLogItem(OrderLogItem orderLogItem)
{
if (orderLogItem.IsCanceled())
{
}
if (orderLogItem.IsRegistered())
{
}
if (orderLogItem.IsMatched())
{
}
}
При приходе OrderLogItem orderLogItem = Combination orders ... ->
orderLogItem.IsCanceled() = true,
orderLogItem.IsRegistered() = false,
orderLogItem.IsMatched() = false.
Причем, при чтении из локального хранилища -
var storage = storageRegistry.GetOrderLogStorage(security);
var data = storage.Load(new DateTime(2019, 1, 30), new DateTime(2019, 1, 31));
foreach (var d in data)
{
if (d.IsCanceled())
{
}
if (d.IsRegistered())
{
}
if (d.IsMatched())
{
}
sw.WriteLine(d);
}
такой проблемы нет.
При приходе OrderLogItem d = Combination orders ... ->
d.IsCanceled() = false,
d.IsRegistered() = false,
d.IsMatched() = true.
Редактируемый код и исторические данные представлены в другом топике
https://stocksharp.ru/fo...ota-so-stakanom-zayavok/