pyhta4og 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
			
					 
					 
					
	
			Вопросы: 1. Проскальзывание ставите MarketEmulator.Settings.Slippage=100? 2. Используете в стратегии только маркет-ордера? 3. Тестируете со генерируемыми стаканами ? 4. Тестируете с настоящими стаканами ?
  
			
			
			
			
		
 
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Moadip 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
			
					 
					 
					
	
			pyhta4og Вопросы: 1. Проскальзывание ставите MarketEmulator.Settings.Slippage=100? 2. Используете в стратегии только маркет-ордера? 3. Тестируете со генерируемыми стаканами ? 4. Тестируете с настоящими стаканами ?
 
   1. Нет, проскальзывание ставиться внутри стратегии.  Про класс MarketEmulator вообще не знал. В примерах по тестированию использование данного класса не нашел. Можно небольшой пример как его применять? 2. Да, только маркет ордера. 3.4. Тест на генерируемых стаканах.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pyhta4og 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
			
					 
					 
					
	
			Moadip pyhta4og Вопросы: 1. Проскальзывание ставите MarketEmulator.Settings.Slippage=100? 2. Используете в стратегии только маркет-ордера? 3. Тестируете со генерируемыми стаканами ? 4. Тестируете с настоящими стаканами ?
 
    1. Нет, проскальзывание ставиться внутри стратегии.   это как? В моем понятии проскальзывание это то что происходит на бирже а не выставляется внутри стратегии. Например MarketEmulator.Settings.Slippage - это то, насколько по более худшей цене по сравнению с последняя сделка произойдет исполнение маркет-ордера Про класс MarketEmulator вообще не знал. В примерах по тестированию использование данного класса не нашел. Можно небольшой пример как его применять?  см. EmulationTrader.MarketEmulator и документацию 2. Да, только маркет ордера.    с 4.0.20->4.0.21  ничего с матчингом маркетордеров не менялось, для того чтобы выяснить есть ли ошибка в тестере надо по логам по ордерно разбитраться. 3.4. Тест на генерируемых стаканах.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Moadip 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			Цитата:это как? В моем понятии проскальзывание это то что происходит на бирже а не выставляется внутри стратегии.  Естественно что проскальзывание происходит на бирже. Допустим есть лучший бид/оффер 900/910, я хочу продать по рынку. Посылаю лимитку на продажу по 800, т.е. устанавливаю для стратегии порог в 100п на проскальзывание. Моя заявка может исполнится как по 900, так и допустим по 850, т.е. по лучшему биду в текущий момент.  Если же на момент когда моя заявка будет на бирже лучший бид будет меньше 800, скажем 790, то я встану в стакан лимиткой на продажу по 800. Это я и называю учитывать/выставлять проскальзывание внутри стратегии. Цитата:Например MarketEmulator.Settings.Slippage - это то, насколько по более худшей цене по сравнению с последняя сделка произойдет исполнение маркет-ордера  Это то как работает алгоритм данного свойства? Т.к. в моем понимании проскальзывание это не то, насколько по более худшей цене пройдет исполнение моей заявки по сравнению с последней. А то, по какой цене исполнится моя заявка, относительно той цены, которую я увидел в стакане на момент отправления заявки.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					pyhta4og 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			Moadip Цитата:это как? В моем понятии проскальзывание это то что происходит на бирже а не выставляется внутри стратегии.  Естественно что проскальзывание происходит на бирже. Допустим есть лучший бид/оффер 900/910, я хочу продать по рынку. Посылаю лимитку на продажу по 800, т.е. устанавливаю для стратегии порог в 100п на проскальзывание. Моя заявка может исполнится как по 900, так и допустим по 850, т.е. по лучшему биду в текущий момент.  Если же на момент когда моя заявка будет на бирже лучший бид будет меньше 800, скажем 790, то я встану в стакан лимиткой на продажу по 800. Это я и называю учитывать/выставлять проскальзывание внутри стратегии.  Понял вас. Но в таком случае вы пользуетесь лимитными заявками, а не маркетордерами. Поскольку ввсе-таки выставляете цену в 800. В итоге, вы утверждаете что теперь кидаете селл-заявку ниже рынка на 100 пунктов и она всегда исполняется по этой самой худщей цене, даже если есть бид гораздо лучше? Цитата:Цитата:Например MarketEmulator.Settings.Slippage - это то, насколько по более худшей цене по сравнению с последняя сделка произойдет исполнение маркет-ордера  Это то как работает алгоритм данного свойства? Т.к. в моем понимании проскальзывание это не то, насколько по более худшей цене пройдет исполнение моей заявки по сравнению с последней. А то, по какой цене исполнится моя заявка, относительно той цены, которую я увидел в стакане на момент отправления заявки.  Смотрите, есть режим эмуляции без стакана вообще. Это когда нет генераторов и нет данных о стакане. В этом конкретном случае заявки помеченные как маркетные (НЕ лимитные!) исполняются по LastTrade плюс Slippage если заявка на покупку или LastTrade минус Slippage если на продажу. Если есть какие-то стаканы, генерированные или записанные то и маркетные ордера и лимитированные филяться о встречные заявки и свойство Slippage фактически не используется
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Moadip 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 10.03.2012
					
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
								 
							 | 
						 
					 
			
					 
					 
					
	
			Цитата:Но в таком случае вы пользуетесь лимитными заявками, а не маркетордерами.  Может я чего то не знаю, но насколько мне известно на фортс нет рыночных заявок.  Если надо войти по рынку, то выставляется лимитка с заведомо большей/меньшей ценой, чтобы купить/продать. Касательно S# знаю только два способа как подать заявку. Код
        void GoLong(decimal vol)
        {
            var order = new Order
            {
                Portfolio = Portfolio,
                Price = Security.BestAsk.Price + Security.MinStepSize * _instrSlippage, ////////////// проскальзывание
                Security = Security,
                Volume = vol,
                Direction = OrderDirections.Buy,
            };
            RegisterOrder(order);
        }
 Код
        var order = StrategyHelper.CreateOrder(this, OrderDirections.Buy, Security.GetMarketPrice(OrderDirections.Buy), Volume);
        RegisterOrder(order);
 Возможно Security.GetMarketPrice(OrderDirections.Buy) считается "рыночным" ордером? Цитата:В итоге, вы утверждаете что теперь кидаете селл-заявку ниже рынка на 100 пунктов и она всегда исполняется по этой самой худщей цене, даже если есть бид гораздо лучше?
   Именно! Это и показано на скриншотах выше. Цитата:Смотрите, есть режим эмуляции без стакана вообще. Это когда нет генераторов и нет данных о стакане. В этом конкретном случае заявки помеченные как маркетные (НЕ лимитные!) исполняются по LastTrade плюс Slippage если заявка на покупку или LastTrade минус Slippage если на продажу.
  Если есть какие-то стаканы, генерированные или записанные то и маркетные ордера и лимитированные филяться о встречные заявки и свойство Slippage фактически не используется  А вот за это спасибо. Такие нюансы в справке не написаны. UPD:  Отвечаю сам на свой вопрос "рыночные" это BuyAtMarket и SellAtMarket. Но с реализацией данных методов я не совсем согласен(посмотрел рефлектором) Т.к. с помощь их  не всегда можно войти по "рынку".
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 12.03.2012
					
					
			
					 
					 
					
	
			Moadip  UPD:  Отвечаю сам на свой вопрос "рыночные" это BuyAtMarket и SellAtMarket. Но с реализацией данных методов я не совсем согласен(посмотрел рефлектором) Т.к. с помощь их не всегда можно войти по "рынку".
  На РТС нет маркетных заявок. Так что хоть как-то входить. Не по планкам же.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					JackSparrow 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 12.03.2012
					
					
			
					 
					 
					
	
			Mikhail Sukhov Moadip  UPD:  Отвечаю сам на свой вопрос "рыночные" это BuyAtMarket и SellAtMarket. Но с реализацией данных методов я не совсем согласен(посмотрел рефлектором) Т.к. с помощь их не всегда можно войти по "рынку".
  На РТС нет маркетных заявок. Так что хоть как-то входить. Не по планкам же.  Так вопрос утыкается в то что если есть цена более лучшая чем указанная то сделка закрывается по ней. Это, на фортсе, будет принцип входа по маркету. Тоже самое что по краю стакана ударить.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Mikhail Sukhov 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 13.03.2012
					
					
			
					 
					 
					
	
			JackSparrow  Так вопрос утыкается в то что если есть цена более лучшая чем указанная то сделка закрывается по ней. Это, на фортсе, будет принцип входа по маркету. Тоже самое что по краю стакана ударить.
  Сейчас речь о тестере? С тестером это не ко мне. Я ответил насчет того, почему XXXAtMarket так сделан. 
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 | 
			
		
			
  | 
		
			
				
					Alexander 
					 
					 
					 
					 
					
					
						
						
					 
				 | 
				
					Дата: 13.03.2012
					
					
			
					 
					 
					
	
			Moadip Цитата:В итоге, вы утверждаете что теперь кидаете селл-заявку ниже рынка на 100 пунктов и она всегда исполняется по этой самой худщей цене, даже если есть бид гораздо лучше?
   Именно! Это и показано на скриншотах выше.  Фикс залит на codeplex. Возьмите свежие библиотеки из ветки dev и протестируйте. Только учитывайте то, что архив с котировками (RIU9@RTS) был также обновлён.
			
			
			
			
		
  
				 | 
			
			
				| 
					
				 | 
				
					
	
		| 
			Спасибо:
		 | 
		
		
			 
		 | 
	 
 
				 | 
			
			
				| 
					
				 |