esper 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			Как воспроизвести?
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					devruss 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			Ну уж это то вы должны сами проверять... Выставление ордеров и отслеживание изменения статуса - это одна из основополагающих состовляющих алго платформы. Можно на ваших же примерах смотреть UPDATE: 1. Live - вроде все ок. Проблемы возникают на HistoryEmulation 2. Задержки с репортингом статусов исполения ордеров При большом сайзе ордера и частичном исполнении возникают ситуации, когда ставится заявка по-рынку, статус OrderStates.Done, Balance = 0, но при этом задержка между трейдами на первую и вторую часть такая, что робот успевает еще 2 раза закрыть позицию, полагая, что приказы исполнились частично 3. На 2.20 все ок! Работающие стратегии начинают сходить с ума именно на .26
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					RomSunZ 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			У меня в MarketQuotingStrategy такая-же байда с частичным исполнением заявок на версии 4.2.26. Как видно из логов, как только появилась сделка по заявке, MQS снимает остаток, и считает, что все выполнено ("|S_LKZ4@FORTS_SPBFUT00756|Стратегия останавливается. [0,1]. Позиция 4."). Но реальное исполнение было только на 1шт, что и подтверждается в родительской стратегии ("|PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1."). В таблице "заявки" в квике этот ордер имеет состояние="Снята", Кол-во=4, Остаток=3. Связано это судя по-всему с тем, что Вы опираетесь на поле заявки State, вместо Status, о чем я писал в ветке про новый Lua-коннектор. Code
20:08:59.767|       |PS_LKZ4@FORTS_SPBFUT00756|Стратегия запущена. [0,-1]. Позиция 0.
20:09:16.630|       |PS_LKZ4@FORTS_SPBFUT00756|curPos=0 quoting vol=4 revers=False
20:09:16.630|       |PS_LKZ4@FORTS_SPBFUT00756|Начинаем котирование по LKZ4@FORTS направление покупка объем 4 реверс=False
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Переход из состояния Stopped в Started.
20:09:16.630|       |S_LKZ4@FORTS_SPBFUT00756|Стратегия запущена. [0,1]. Позиция 0.
20:09:16.630|       |S_LKZ4@FORTS_SPBFUT00756|Котирование на Buy объема 4.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Приостановка правил. _rulesSuspendCount 1.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Возобновление правил. _rulesSuspendCount 0.
20:09:16.630|       |S_LKZ4@FORTS_SPBFUT00756|Цена текущей NULL и лучшей 19585.
20:09:16.630|       |S_LKZ4@FORTS_SPBFUT00756|Лучший бид 19580 и лучший аск 19592.
20:09:16.630|       |S_LKZ4@FORTS_SPBFUT00756|Регистрация новой Limit (0x1AB7839) заявки на Buy с ценой 19585 и объемом 4. 
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки  72533791/ (0x1C6BB82)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/ (0x1E54885)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение  72533791/ (0x261AE0E)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение  72533791/ (0x1DAA204)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Все сделки заявки  72533791/ (0x3583362)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Отмена заявки  72533791/ (0x83A5F8)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/ (0x14FF46B)'. Подписалось на события.
20:09:16.630|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка снятия заявки  72533791/ (0x305AA9F)'. Подписалось на события.
20:09:16.937|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:16.937|Debug  |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) в процессе регистрации.
20:09:17.045|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:17.045|Debug  |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) в процессе регистрации.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки  72533791/2466496401 (0x1C6BB82)'. Активация.
20:09:17.261|       |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) принята биржей.
20:09:17.261|       |S_LKZ4@FORTS_SPBFUT00756|Сброс счетчика ошибок регистрации с 0 до нуля.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки  72533791/2466496401 (0x1C6BB82)'. Удаляется.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки  72533791/2466496401 (0x1C6BB82)'. Освободило ресурсы.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/2466496401 (0x1E54885)'. Удаляется.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/2466496401 (0x1E54885)'. Освободило ресурсы.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/2466496401 (0x1E54885)'. Удалено.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки  72533791/2466496401 (0x1C6BB82)'. Удаление.
20:09:17.261|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки  72533791/2466496401 (0x1E54885)'. Удаление.
20:09:17.427|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:17.680|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:20.640|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:20.888|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:21.777|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:24.092|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:25.491|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:27.278|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:27.799|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:28.315|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:30.114|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:30.362|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:31.154|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:34.302|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:34.811|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:36.703|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:40.139|       |PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=4.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=4.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Активация.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Позиция изменилась на 4. Оставшийся объем 0.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Заканчиваем котирование.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Переход из состояния Started в Stopping.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Стратегия останавливается. [0,1]. Позиция 4.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Активация.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Удаляется.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Освободило ресурсы.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Удаление.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки  OR Полное исполнение  OR Все сделки заявки  OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Ожидание снятия всех активных заявок.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Отмена заявки 72533791 (0x1AB7839).
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Удаляется.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Освободило ресурсы.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Освободило ресурсы.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Удалено.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение  72533791/2466496401 (0x261AE0E)'. Удаляется.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение  72533791/2466496401 (0x261AE0E)'. Освободило ресурсы.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение  72533791/2466496401 (0x261AE0E)'. Удалено.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки  OR Полное исполнение  OR Все сделки заявки  OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Удаляется.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Освободило ресурсы.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Удаление.
20:09:40.139|Debug  |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки  OR Полное исполнение  OR Все сделки заявки  OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139|       |PS_LKZ4@FORTS_SPBFUT00756|Новая Buy сделка 117792745 по цене 19585 на 1 заявки 72533791.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Новая Buy сделка 117792745 по цене 19585 на 1 заявки 72533791.
20:09:40.139|       |PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1.
20:09:40.139|       |S_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1.
 
 
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			RomSunZ что Вы опираетесь на поле заявки State, вместо Status  И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					devruss 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			Михаил Сухов RomSunZ что Вы опираетесь на поле заявки State, вместо Status  И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка.  и так каждый раз... топик, что при переходе с версии .X на .X+1 стратегии сходят с ума из-за очередного факапа, встречается в штыки вот такими конструктивными комментариями... Еще раз повторю: есть проблема с обработкой ордеров - выставлнием статусов и обработкой partial fills. И "неправильная" - это работа билда. Скоро баг репорты только в форме 5 стопного ямба будут приниматься, а все остальное игнорироваться. Михиаил, начни уже наконец пользоваться своим продуктом. Тогда, когда в очередной раз просадишь кучу бабла на неправильно обработанном ордере при переходе на свежий билд, тебе не будет казаться, что это какая-то мелочь
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					RomSunZ 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			Михаил Сухов RomSunZ что Вы опираетесь на поле заявки State, вместо Status  И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка.  Что я смешал в кучу? 1. "Начиная с 4.2.2.26 появилась ошибка в выставлении статуса ордера: OrderStates.done присваивается не когда ордер полностью исполнился, а когда только поставился, также присваивается при частичном исполнении, что в корне неверно " 2. "У меня в MarketQuotingStrategy такая-же байда с частичным исполнением заявок на версии 4.2.26." Читайте внимательнее, я здесь не критикой занимаюсь, а пытаюсь помочь в выявлении критических ошибок с привидением доступных логов.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			RomSunZ  1. "Начиная с 4.2.2.26 появилась ошибка в выставлении статуса ордера: OrderStates.done присваивается не когда ордер полностью исполнился, а когда только поставился, также присваивается при частичном исполнении, что в корне неверно "
 
  Как воспроизвести?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					RomSunZ 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			В моем случае воспроизводится в момент частичного (не полного) исполнения котируемой MarketQuotingStrategy заявки (логи выше).
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Andrii 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			RomSunZ В моем случае воспроизводится в момент частичного (не полного) исполнения котируемой MarketQuotingStrategy заявки (логи выше).  можешь показать как создается MarketQuotingStrategy?
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					RomSunZ 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Date: 10/9/2014
					
					
			
					 
					 
					
	
			Также, как и в SampleSma  Code
            var quoting = new MarketQuotingStrategy(Side, vol)
            {
                Security = this.Security,
                Portfolio = this.Portfolio,
                WaitAllTrades = true,
                Connector = this.Connector,
                Volume = vol,
                PriceType = MarketPriceTypes.Following,
//                LogLevel = LogLevels.Debug,
                PriceOffset = v1,
                BestPriceOffset = v2,
            };
 
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Thanks:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |