| a.dobryn 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			а как корректно обрабатывать новые сделки? в обработчике своих сделок было Codeforeach (var myTrade in myTrades)
 ...
 
 и в итоге обрабатывалась одна сделка, все в порядке =) а если таким же образом обрабатывать все сделки, их в IEnumerable<Trade> trades целая куча. Как нужно делать, брать просто последнюю? Или, наоборот, первую? Какая самая "свежая" из них? =)upd: хм, и первая и последняя давностью 2,5 часа [confused]
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			D_Alex upd: хм, и первая и последняя давностью 2,5 часа [confused] Потому что при старте экспорта все сделки передаются всем скопом.
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| a.dobryn 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			Mikhail Sukhov D_Alex upd: хм, и первая и последняя давностью 2,5 часа [confused] Потому что при старте экспорта все сделки передаются всем скопом. то есть надо дождаться, пока свежие будут? и если да, то как?
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			D_Alex Mikhail Sukhov D_Alex upd: хм, и первая и последняя давностью 2,5 часа [confused] Потому что при старте экспорта все сделки передаются всем скопом. то есть надо дождаться, пока свежие будут? и если да, то как? Запоминаем время начала экспорта. Ждем когда появятся сделки с таким временем. Только понятие свежее тут сильно сказано. Все сделки - это устаревшие данные. Другое дело - насколько. И мне кажется, что это лучше делать через логику работы с программой, чем закладывать в код.
			
			
			
			
		
 | 
			
				|  |  | 
			
				|  | 
		
			| 
 | 
		
			
				| a.dobryn 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			Mikhail Sukhov D_Alex Mikhail Sukhov D_Alex upd: хм, и первая и последняя давностью 2,5 часа [confused] Потому что при старте экспорта все сделки передаются всем скопом. то есть надо дождаться, пока свежие будут? и если да, то как? Запоминаем время начала экспорта. Ждем когда появятся сделки с таким временем. Только понятие свежее тут сильно сказано. Все сделки - это устаревшие данные. Другое дело - насколько. И мне кажется, что это лучше делать через логику работы с программой, чем закладывать в код. свежие - те, которые после старта программы появились =) точно, что-то не подумала я по времени смотреть
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| IlyaILH 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			Михаил, подскажите, что я делаю не так.
 Я реализовал следующее:
 
 Подписался на событие NewSecurities
 
 Trader.ProcessDataError - идет без ошибок.
 
 Trader.NewSecurities += securities =>
 {
 
 foreach (Security tool in securities)
 {
 
 MessageBox.Show(tool.Id +" "+ tool.State.ToString());
 
 }
 };
 
 На этот код, мне выводится не понятно что, но предположительно данные из таблицы Все сделки.
 
 Помогите разобраться с таблицей Инструменты.
 
 Спасибо.
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Date: 3/28/2011 
 
 
	
			IlyaILH Trader.NewSecurities += securities =>{
 
 foreach (Security tool in securities)
 {
 
 MessageBox.Show(tool.Id +" "+ tool.State.ToString());
 
 }
 };
 
 На этот код, мне выводится не понятно что, но предположительно данные из таблицы Все сделки.
 
 Выделенное можете как-то подробнее описать? Код выводит идентификатор инструмента и его состояние. Причем здесь сделки?
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| MCTuTeJ|19951995 
 
   
 
						
						
					 | Date: 3/29/2011 
 
 
	
			Михаил,а Code ReRegisterOrder(order,()=>newPrice,()=>newVolume,true)  это тоже самое, что и  CodeTrader.CancelOrder(order);
 Order newOrder = new Order();
 newOrder.Portfolio=order.Portfolio;
 newOrder.Security = order.Security;
 newOrder.Price = newPrice;
 newOrder.Direction= order.Direction;
 newOrder.Volume= newVolume;
 Trader.RegisterOrder;
 
 ?
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| MCTuTeJ|19951995 
 
   
 
						
						
					 | Date: 3/29/2011 
 
 
	
			Есть такая проблема:  В стратегии мониторятся различные параметры и исходя из них переставляется заявка: Code// если заявка ещё активна (не отменена), то перерегистрировать заявку
 if (!(order.State==OrderStates.Done))
 {
 newOrder=  this.ReRegisterOrder(order,()=>TheorOptPrice,()=>newOrder.Volume,true);
 orderIdList.Add(newOrder.Id);
 }
 
 Проблема в том, что иногда заявка исполняется после проверки на исполнение, в результате чего происходит ошибка - программа пытается передвинуть исполненную заявку. Не подскажете как это лечится ?
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| a.dobryn 
 
   
 
						
						
					 | Date: 3/29/2011 
 
 
	
			Codethis.Trader.NewMyTrades += trades => this.GuiAsync(() => _myTradesWindow.Trades.AddRange(trades));
 this.Trader.NewTrades += trades => this.GuiAsync(() => _tradesWindow.Trades.AddRange(trades));
 
 в таком случае обработка этих событий идет как-то в 2 потока, или по очереди?
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  |