| Mikhail Sukhov 
 
   
 
						
						
					 | Дата: 02.01.2014 
 
 
	
			Не уверен что понял написанное. 
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| longtrades 
 
   
 
						
						
					 | Дата: 02.01.2014 
 
 
	
			На рисунке все видно посмотрите внимательно , это MyTrades в EmulationTrader , видно что я выставил один ордер на покупку с номером 67666290/8 и обьемом 2 контракта, то есть максимум что я могу купить по этому ордеру 2 контракта , но получаю три MyTrade , с общим обьемом 4 контракта , то есть на ордер на покупку 2 контрактов мне наливают 4 контракта, что невозможно в реале, и  происходит навено потому что EmulationTrader неуспевает изменить статус заявки на уже исполненую.
 Не знаю как считает PnL PnLManager но возникают большие сомнения в верности тестирования алгоритмов на истории.
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Sam 
 
   
 
						
						
					 | Дата: 02.01.2014 
 
 
	
			Аналогичная проблема после миграции на 4.2.1.7. Воспроизводится часто
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Mikhail Sukhov 
 
   
 
						
						
					 | Дата: 02.01.2014 
 
 
	
			Sam Аналогичная проблема после миграции на 4.2.1.7. Воспроизводится часто Добавил в список  активных багов. На SampleHistory воспроизводится?
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| longtrades 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			Спасибо , Михаил.
 Если можно у меня есть вопрос о тестере ответ на который я нигде не нашел.
 
 Если происзодится тестирование с использованием стаканов :
 например я ставлю заявку на покупку одного контракта скажем на бид в то время на этом биде стоит скажем обьем 15 контрактов , потом обьем на этом биде возрастает до скажем 40, будет ли мой ордер исполнен когда по биде пройдет 16 контрактов , так как он был 16-тым в очереди на покупку по даной цене , или все будет зависеть от настройки параметра FillOnTouch в трейдере , тоесть ордер будет считаться исполненным или после касания или после прохождения ценой уровня .
 
 И что значит "FillOnTouch  - Если выключено - требуется "прохождение цены сквозь уровень"" , ордер считается исполненным когда цена стала ниже бида или же когда на даном биде в стакане обьем станет равным нулю.
 
 Спасибо.
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| esper 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			longtrades На рисунке все видно посмотрите внимательно , это MyTrades в EmulationTrader , видно что я выставил один ордер на покупку с номером 67666290/8 и обьемом 2 контракта, то есть максимум что я могу купить по этому ордеру 2 контракта , но получаю три MyTrade , с общим обьемом 4 контракта , то есть на ордер на покупку 2 контрактов мне наливают 4 контракта, что невозможно в реале, и  происходит навено потому что EmulationTrader неуспевает изменить статус заявки на уже исполненую. На каких данных и с какими параметрами производится тестирование? Ошибка воспроизводится на SampleHistoryTesting?
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| longtrades 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			Данные конвертировал с QScalp, на SampleHistoryTesting не пробовал но думаю что для того что бы воспроизвести на SampleHistoryTesting  нужно не бить по маркету, а ставить заявку по определенной цене , думаю такое может быть еще и из-за того что один раз ордер исполняется изза изменения цены инструмента, а другой из-за накладания уровней в стакане , но это нужно проверять .
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| esper 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			Еще раз, на каких данных тестируете (тики, стаканы, свечки, генераторы стаканов и т.д.), какие настройки у эмулятора?
			
			
			
			
		
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| longtrades 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			Тестирую на тиках и стаканах Настройки эмулятора: Код
            var trader = new EmulationTrader(
                new[] { security },
                new[] { portfolio })
            {
                MarketTimeChangedInterval = TimeSpan.FromMilliseconds(10),
                StorageRegistry = storageRegistry,
                MarketEmulator =
                {
                    Settings =
                    {
                        // использовать стаканы
                        UseMarketDepth = true,
                        // использовать свечки
                        //UseCandlesTimeFrame = emulationInfo.UseCandleTimeFrame,
                        // проверка что стаканы соответствуют сделкам. Улучшает реалистичность тестирования.
                        SyncDepthToTrades = false,
                        // сведение сделки в эмуляторе если цена коснулась нашей лимитной заявки. 
                        // Если выключено - требуется "прохождение цены сквозь уровень"
                        // (более "суровый" режим тестирования.)
                        FillOnTouch = false,                     
                    }
                }
            };
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| esper 
 
   
 
						
						
					 | Дата: 03.01.2014 
 
 
	
			На похожей конфигурации в SampleHistoryTesting проблему воспроизвети не удается. Можете попробовать на нем? Я использовал стаканы и соответственно котировние, которое ставит лимитки в стакан.
 По возможности, было бы хорошо увидеть небольшое приложение, которое воспроизводит проблему.
 | 
			
				|  | 
	
		| Спасибо: |   |  | 
			
				|  |