| Alexander 
 
   
 
						
						
					 | Дата: 15.09.2011 
						
							|  |  |  |   |  
 
 
	
			FiNick Код
Order RegisterOrder(OrderDirections direction, decimal volume, decimal price)
        {
            var order = new Order
            {
                Portfolio = this.Portfolio,
                Price = price,
                Security = this.Security,
                Volume = volume,
                Direction = direction,
            };
                        
            try
            {
                var t1 = DateTime.Now;
                this.RegisterOrder(order);
                var t2 = DateTime.Now;
                this.AddLog(new LogMessage(this,DateTime.Now, ErrorTypes.Warning, String.Format("Register Order: State: {0}   Id: {1}   TrId: {2}   Lat: {3}. Time: {4}   {5}",
                                                                                                order.State,
                                                                                                order.Id,
                                                                                                order.TransactionId,
                                                                                                order.Latency, t1, t2
                                                                                                )));
            }
            catch (Exception e)
            {
                this.AddLog(new LogMessage(this,DateTime.Now, ErrorTypes.Error, "Message: " + e.Message));
            }
            return order;
        } Вот результат: MS 15.09.2011 14:37:07.750 Внимание     Register Order: State: None   Id: 0   TrId: 52561517   Lat: 00:00:00. Time: 15.09.2011 14:36:58   15.09.2011 14:37:07 Хорошо, вы правы, видимо спрашивать Latency, имеет смысл только после событий NewOrders или OrdersChanged. Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!! Я думал он дожидается результата выставления заявки.  У вас 9 секунд проходит от момента вызова функции RegisterOrder до момента выхода из неё? Скачайте исходный код плазы, посмотрите где возникает эта задержка.
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Дата: 16.09.2011 
 
 
	
			FiNick Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!!
 Режим синхронный-асинхронный?
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| FiNick 
 
   
 
						
						
					 | Дата: 16.09.2011 
 
 
	
			Mikhail Sukhov FiNick Но кто мне тогда объяснит, чем занимается this.RegisterOrder(order) целых 9 секунд!!
 Режим синхронный-асинхронный? 1)Вы имеете ввиду, в каком режиме вызываются события типа NewMyTrades, NewOrders, события реагирующие на StrategyRule, и т.п.? Не знаю как это можно посмотреть. Надеюсь что асинхронно) хотя мне давно уже очень интересно, как все это исполняется. Например, если пришли друг за другом два события NewMyTrades, а обработчик первого события еще не закончил работу, запустится ли параллельно в другом потоке обработчик второго события NewMyTrades? 2)Или вы имеете ввиду свойство IsAsync у TransactionManager'a? По умолчанию стоит true, и я не заметил в коде, чтобы у пользователя PlazaTrader была возможность его менять. Единственное, что сейчас под подозрением из-за задержек это PlazaConnectionPool, у которого стоит StreamTimeOut по умолчанию 10 секунд, прям как у меня задержки. Но я еще не разобрался как там все работает, вопрос открыт.
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Alexander 
 
   
 
						
						
					 | Дата: 16.09.2011 
 
 
	
			Попутно нашёл кое-что - после ConnectionError.SafeInvoke(new InvalidOperationException("Ошибка подключения к Plaza. Код {0}.".Put(status))); у нас этот Exception показывается через 10 секунд.Видимо у нас такая задержка при реализации образовалась.
 Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить.
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| FiNick 
 
   
 
						
						
					 | Дата: 16.09.2011 
 
 
	
			Alexander Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером.
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Дата: 16.09.2011 
 
 
	
			FiNick Alexander Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером. Присоединяюсь к вопросу. А что собственно нужно делать в рефакторинге? Можно список задач изолированных?
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Дата: 19.09.2011 
 
 
	
			FiNick Alexander Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером. Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney.
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| FiNick 
 
   
 
						
						
					 | Дата: 19.09.2011 
 
 
	
			Mikhail Sukhov FiNick Alexander Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером. Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney. Дайте логин на TFS
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Alexander 
 
   
 
						
						
					 | Дата: 19.09.2011 
 
 
	
			FiNick Mikhail Sukhov FiNick Alexander Предлагаю подключиться к рефакторингу PlazaTrader, лишь после его сертифицировать и тестить. Я-то могу подключиться, но много пользы от себя не обещаю. У меня опыта программирования полгода джуниор девелопером. Тогда может поможете с до заполнением метаданных? В PlazaTableId видно (если установлен R#), что некоторые потоки не описаны нашими классами PlazaXXXColumns, и соответственно, для них нет свойства в PlazaStreamRegistry. Например, ClearingMoney. Дайте логин на TFS Зачем? Код плазы доступен на codeplex | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| FiNick 
 
   
 
						
						
					 | Дата: 19.09.2011 
 
 
	
			Если я буду вносить изменения, куда их мёржить? Плюс, может я что-то путаю, но в тех исходниках я не нашел код неймспейса StockSharp.Algo.Strategies, вылезают метаданные и все.
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  |