Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/5/2011
					
					
			
					 
					 
					
	
			President  получает myTrade.Trade.OrderDirection == null по крайней мере для short sell на FORTS
 
  А что понимаете под myTrade.Trade.OrderDirection?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/5/2011
					
					
			
					 
					 
					
	
			Mikhail Sukhov President  получает myTrade.Trade.OrderDirection == null по крайней мере для short sell на FORTS
 
  А что понимаете под myTrade.Trade.OrderDirection?  Направление трейда (buy/sell) - и оно, насколько я понимаю, должно совпадать с направлением ордера по которому и был создан трейд. (мне только не очень понятно почему тут тип данных nullable)
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Supervisor 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/6/2011
					
					
			
					 
					 
					
	
			Аналогично и с Trade.Price иногда приходит null, часто приходит равной Order.Price, хотя на самом деле они различны.
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/6/2011
					
					
			
					 
					 
					
	
			President Направление трейда (buy/sell) - и оно, насколько я понимаю, должно совпадать с направлением ордера по которому и был создан трейд. (мне только не очень понятно почему тут тип данных nullable)  Потому что Trade.OrderDirection != Order.Direction. Trade.OrderDirection - это тот, кто стал инициатором сделки. Транслируется в таблице Все сделки. Использую (лично я) для бек тестинга. Order.Direction - это направление для заявки (buy/sell).
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/6/2011
					
					
			
					 
					 
					
	
			Supervisor Аналогично и с Trade.Price иногда приходит null  Такое невозможно, потому что double не может принимать null. Supervisor часто приходит равной Order.Price, хотя на самом деле они различны.  но не всегда.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Supervisor 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/6/2011
					
					
			
					 
					 
					
	
			Mikhail Sukhov Supervisor Аналогично и с Trade.Price иногда приходит null  Такое невозможно, потому что double не может принимать null.  Прошу прощения, имел ввиду что иногда приходит NullReferenceException вот в таком коде: Code
Iron.Trader.NewMyTrades += t_myNewTrades =>
{
    t_price = t_myNewTrades.Last().Trade.Price;
    waitHandle.Set();
};
			
Iron.Trader.RegisterOrder(t_order);
// Дожидаемся исполнения заявки
waitHandle.WaitOne();
try
{
    Print("price:" + t_price.ToString());
}
catch (Exception t_ex)
{
    Print("ERROR: " + t_ex.ToString());
}
 
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/6/2011
					
					
			
					 
					 
					
	
			Supervisor Mikhail Sukhov Supervisor Аналогично и с Trade.Price иногда приходит null  Такое невозможно, потому что double не может принимать null.  Прошу прощения, имел ввиду что иногда приходит NullReferenceException вот в таком коде:  Думаю, ошибка тут вовсе не в S#. Где-то переменную не инициализируете.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/13/2011
					
					
			
					 
					 
					
	
			Mikhail Sukhov President Направление трейда (buy/sell) - и оно, насколько я понимаю, должно совпадать с направлением ордера по которому и был создан трейд. (мне только не очень понятно почему тут тип данных nullable)  Потому что Trade.OrderDirection != Order.Direction. Trade.OrderDirection - это тот, кто стал инициатором сделки. Транслируется в таблице Все сделки. Использую (лично я) для бек тестинга. Order.Direction - это направление для заявки (buy/sell).  спасибо за пояснение - я заюзал Order.Direction и все стало ок. НО - если Trade.OrderDirection указывает кто стал инициатором сделки то почему он nullable и бывает null? ведь эта информация приходит в таблице Все сделки и там это поле либо "Купля" либо "Продажа" - третьего не дано
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/14/2011
					
					
			
					 
					 
					
	
			President Mikhail Sukhov President Направление трейда (buy/sell) - и оно, насколько я понимаю, должно совпадать с направлением ордера по которому и был создан трейд. (мне только не очень понятно почему тут тип данных nullable)  Потому что Trade.OrderDirection != Order.Direction. Trade.OrderDirection - это тот, кто стал инициатором сделки. Транслируется в таблице Все сделки. Использую (лично я) для бек тестинга. Order.Direction - это направление для заявки (buy/sell).  спасибо за пояснение - я заюзал Order.Direction и все стало ок. НО - если Trade.OrderDirection указывает кто стал инициатором сделки то почему он nullable и бывает null? ведь эта информация приходит в таблице Все сделки и там это поле либо "Купля" либо "Продажа" - третьего не дано  У Trade, которые созданы по истории, нет направления. Отсюда необходимость в nullable
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					President 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 7/15/2011
					
					
			
					 
					 
					
	
			Alexander  У Trade, которые созданы по истории, нет направления. Отсюда необходимость в nullable
  значит бага. у меня-то не на истории - а с живого квика: Konstantin при работе с QuikTrader данный код в стратегии
  private void NewMyTrades(IEnumerable<MyTrade> myTrades) { foreach (MyTrade myTrade in myTrades) {
  получает myTrade.Trade.OrderDirection == null по крайней мере для short sell на FORTS
 
  PS. а почему на истории нет направления? >если история восстанавливается по трейдам ранее сохраненым то направление там должно быть. >если история генерится по историческим свечкам - то можно:   - или какой-нибудь RND добавить;    - или - если уже есть какой-то алгоритм для генерации стакана, то указывать тут сторону стакана (ask/bid) которая ближе к цене исполнения (или даже генерацию стакана подправить чтобы цены ask/bid совпадали с ценой трейда)   IMHO для стратегии которая завязана на Trade.OrderDirection RND будет лучше чем null (ближе к боевым условиям), а для остальных без разницы.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |