[Bug] в Strategy.MyTrades не попадает сделка
обнаружил такую вещь.
Примерно в 10% случаев в список Strategy.MyTrades не попадают сделки.
Полностью это заметил в таком коде
Код
private void WaitMyTradesComplement()
{
while(true){
if(IsLastTradeByOrderInList()){
break;
}
Thread.Sleep(1000);
}
}
private bool IsLastTradeByOrderInList()
{
if(MyTrades.Count > 0
&& MyTrades[MyTrades.Count-1].Order.Id == _order.Id
&& MyTrades[MyTrades.Count-1].Order.IsMatched()){
//MessageBox.Show("true");
return true;
}
string ids = "";
foreach(MyTrade p in MyTrades){
ids += p.Trade.Id.ToString() + " ";
}
int a = 0;
a++;
MessageBox.Show(ids);
return false;
}
Этот метод перезапускается до тех пор ,пока не вернёт true.
Время от времени он выдает что список пуст, это происходит после первой сделки
т.е. правило When(StrategyRuleConditionHelper.Matched(_order)) сработало, а список не пополнился.
Метод вызывается с задержкой в 1 секунду , и в случае бажного поведения из цикла не выходит и выдает пустые MessageBox.
ProcessDataError ничего не выдает.