[Bug] в Strategy.MyTrades не попадает сделка

[Bug] в Strategy.MyTrades не попадает сделка
Atom
8/4/2011


обнаружил такую вещь.
Примерно в 10% случаев в список Strategy.MyTrades не попадают сделки.
Полностью это заметил в таком коде
Code

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 ничего не выдает.

Tags:


Thanks:


< 1 2 
President

Avatar
Date: 8/16/2011
Reply


vader,
1.поставьте брекпоинт перед выводом мессаджбокса и поизучайте что у вас в списке ордеров и что в списке трейдов
2.сделайте вывод логов а не мессадж-бокса - если они у вас выледают один-за-другим то сомневаюсь что вы успеваете изучить отладочную информацию из них - а тогда какой в них толк?
Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy