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


обнаружил такую вещь.
Примерно в 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 ничего не выдает.

Теги:


Спасибо:


< 1 2 
President

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


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

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

loading
clippy