sergun 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 21.10.2010
					
					
			
					 
					 
					
	
			sergunMikhail Sukhovsergun Михаил, обращаю Ваше внимание, что проблема решилась отказом от асинхронного режима.. (проблема заключалась в том что не возникали события OrdersChanged, NewMyTrades.. Только NewOrders) Трудно предположить, что я его не так использую, т.к. в предыдущих версиях квикшарпа им успешно пользовался. Если баг, с Вас пиво )))
 
  В асинхронном режиме не возникали события у ITrader или у Strategy? Или у тех и у тех?  У стратегии 100% ни разу не возникали. У трейдера подписывался только на NewMyTrades..  Обработчик вызвался только как-то один раз.  Кстати по задумке NewOrders вызывается и нужен только для асинхронного режима?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 21.10.2010
					
					
			
					 
					 
					
	
			sergunКстати по задумке NewOrders вызывается и нужен только для асинхронного режима?  Нет, для обоих... Я проверил сценарий. Все вызывается. Можете как-то локализовать проблему? Потому что, если я создаю стратегию, и регистрирую в ней заявку по рыночной цене, то все события вызыываются на ура. IsAsyncMode = true. Есть еще подозрения, что может быть где-то обработчик на данные события еще есть и он кидает исключение. А с событиями такая ситуация. Если впереди стоящий в цепочке подписки выбросил исключение, то дальше уже никто событие не получит. Если не в этом дело, то надо выделать проблемное место путем тестов.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Dmitriy Klimov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 22.10.2010
					
					
			
					 
					 
					
	
			Михаил, после выставления через Strategy.RegisterOrder условной заявки типа QuikStopConditionTypes.TakeProfitStopLimit, стратегия не получает события о совершении сделки по этой заявки. Как заставить стратегию, PositionManager и другие менеджеры учитывать эти сделки?
  Я так понимаю, стратегия отслеживает исполнения только тех заявок, которые она сама выставляет. А так как условная заявка генерирует свои заявки после выполнения заданного условия, то такие сделки стратегия игнорирует. Как вы посоветуете решать такие задачи? Самому подписываться на BaseTrader.NewMyTrades? Тогда как быть с расчетом позиции и профита в стратегии?
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Strategy умеет отслеживать появления заявок по стоп-заявкам. Тоесть, если через Strategy.RegisterOrder зарегистрировать стоп заявку, то при ее активации в Strategy.Order появится производная заявка. А вот сделки я не проверял, но, судя по коду, и это должно работать. Лучше начнем с простого. Приходил ли событие Strategy.NewOrder для производной заявки?
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Dmitriy Klimov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Mikhail SukhovStrategy умеет отслеживать появления заявок по стоп-заявкам. Тоесть, если через Strategy.RegisterOrder зарегистрировать стоп заявку, то при ее активации в Strategy.Order появится производная заявка. А вот сделки я не проверял, но, судя по коду, и это должно работать. Лучше начнем с простого. Приходил ли событие Strategy.NewOrder для производной заявки?  Регистрирую через Strategy.RegisterOrder. При этом такая заявка не попадает в Strategy.StopOrders и при осуществлении сделок по этим заявкам событие Strategy.NewMyTrades не возникает. Strategy.NewOrder не проверял, завтра проверю...
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Dmitriy Klimov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Нашел лог с последних торгов. Strategy.NewOrder от условных стоп-заявок тоже не возникает...
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Dmitriy KlimovРегистрирую через Strategy.RegisterOrder. При этом такая заявка не попадает в Strategy.StopOrders
   В StopOrders она попадет после успешной регистрации, то есть когда будет событие Strategy.NewStopOrder.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Dmitriy Klimov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Mikhail SukhovВ StopOrders она попадет после успешной регистрации, то есть когда будет событие Strategy.NewStopOrder.  Проверял при возникновении события BaseTrader.StopOrdersChanged. По идее, раз это событие возникает, то в Strategy.StopOrders что-то должно быть. Но массив был всегда пустой....
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Dmitriy KlimovMikhail SukhovВ StopOrders она попадет после успешной регистрации, то есть когда будет событие Strategy.NewStopOrder.  Проверял при возникновении события BaseTrader.StopOrdersChanged. По идее, раз это событие возникает, то в Strategy.StopOrders что-то должно быть. Но массив был всегда пустой....  Приведите весь код проверки. Такое быть не может. В начале идет добавление в коллекцию Strategy.StopOrders, затем уже вызов события. Хоть что-то, но должно быть. Иначе и вызова не будет.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Dmitriy Klimov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 24.10.2010
					
					
			
					 
					 
					
	
			Mikhail SukhovПриведите весь код проверки. Такое быть не может. В начале идет добавление в коллекцию Strategy.StopOrders, затем уже вызов события. Хоть что-то, но должно быть. Иначе и вызова не будет.  Делаю так: Код class MyStrategy : Strategy {         protected override void OnRunning()         {             Trader.StopOrdersChanged += OnStopOrderChanged;
              base.OnRunning();         }
          private void OnStopOrderChanged(IEnumerable<Order> orders)         {             File.AppendAllText("StopOrders.txt", "Stop orders: " + base.StopOrders.Count.ToString() + Environment.NewLine);         } }
 
  До этого еще пытался подписываться на Strategy.StopOrderChanged, но это событие так ни разу и не возникло. Условные стоп-заявки в Квике выставляются и исполняются нормально, только вот мой робот об этом ничего не знает [confused]  Что-то делаю не так?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |