﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">[BUG] EmulationTrader выполняет лимитные заявки по неправильным ценам</title>
  <id>~/topic/2161/bug-emulationtrader-vypolnyaet-limitnye-zayavki-po-nepravilnym-tsenam/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T04:44:22Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2161" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/13997/</id>
    <title type="text">Отключил полностью генерацию стаканов, все равно такое поведение встречается, вот пример лога без ге...</title>
    <published>2011-11-28T00:50:37Z</published>
    <updated>2011-11-28T00:50:37Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.ru/users/28502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Отключил полностью генерацию стаканов, все равно такое поведение встречается, вот пример лога без генерации стаканов вообще:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

10:59:52.587 |            | MyStrategy        | TakeProfitPrice: 103855 stop price:103515
10:59:52.587 |            | MyStrategy        | Registering take profit order
10:59:53.040 |            | MyStrategy        | Новая Sell сделка 26 по цене 103865 на 1 заявки 16654826.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Хотя, таких моментов вроде стало намного меньше если пара секунд прошла между установкой заявки и выходом то вроде их нету. Сделаю сравнение по сделкам и отпишусь сюда еще раз.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13961/</id>
    <title type="text">Описание работы эмулятора в текущей версии. 1) Пусть был стакан (цена, направление, объем). Стакан (...</title>
    <published>2011-11-25T11:53:48Z</published>
    <updated>2011-11-25T11:53:48Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.ru/users/497/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Описание работы эмулятора в текущей версии.&lt;br /&gt;&lt;br /&gt;1)&lt;br /&gt;Пусть был стакан (цена, направление, объем). Стакан (А)&lt;br /&gt;&lt;br /&gt;10 SELL 1&lt;br /&gt;9  SELL 1&lt;br /&gt;8  SELL 1&lt;br /&gt;&lt;br /&gt;5  BUY  1&lt;br /&gt;4  BUY  1&lt;br /&gt;&lt;br /&gt;Вы кидаете заявку 9 BUY 2. Она сводится со стаканом по ценам 8 и 9.&lt;br /&gt;Это алгоритм матчинга по стакану (FillOnQuotes)&lt;br /&gt;&lt;br /&gt;2) Пусть был тот же стакан (А). Вы кидаете заявку 7 BUY 2. Она становится в стакан.&lt;br /&gt;Он будет&lt;br /&gt;10 SELL 1&lt;br /&gt;9  SELL 1&lt;br /&gt;8  SELL 1&lt;br /&gt;&lt;br /&gt;-7 BUY  2 - наша заявка.&lt;br /&gt;5  BUY  1&lt;br /&gt;4  BUY  1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Теперь приходит с биржи новый стакан (Б)&lt;br /&gt;&lt;br /&gt;10 SELL 1&lt;br /&gt;9 SELL 1&lt;br /&gt;8 SELL 1&lt;br /&gt;7 SELL 1 - 7 BUY 2 - наша заявка&lt;br /&gt;6 SELL 1&lt;br /&gt;&lt;br /&gt;4 BUY 1&lt;br /&gt;3 BUY 1&lt;br /&gt;2 BUY 1&lt;br /&gt;&lt;br /&gt;Алгоритм сведения все тот же - (С). Будут сделки по ценам 6 и 7.&lt;br /&gt;&lt;br /&gt;3) Та же ситуация что и в 2). Т.е. заявка встала в стакан&lt;br /&gt;10 SELL 1&lt;br /&gt;9  SELL 1&lt;br /&gt;8  SELL 1&lt;br /&gt;&lt;br /&gt;-7 BUY  2 - наша заявка.&lt;br /&gt;5  BUY  1&lt;br /&gt;4  BUY  1&lt;br /&gt;&lt;br /&gt;Приходит сделка 5 TRADE 1.  Она соответствует тому что стакан (А) стал стаканом (Б). Т.е. заявку 5 BUY 1 кто-то взял встречной заявкой (лимитной SELL с ценой &amp;lt;=5 или маркетной). &lt;br /&gt;&lt;br /&gt;Эмулятор в случае такой биржевой сделки также удовлетворит нашу заявку 7 BUY 2 по ее лимитной цене 7. Это алгоритм матчинга по сделкам (FillOnTrades)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ситуация (1) соответствует ситуации когда вы кидаете стратегией лимитную заявку которая сразу может быть зафиллена текущим стаканом. И алгоритм матчинга здесь корректный - она исполняется по лУчшей чем в ней указано цене.&lt;br /&gt;&lt;br /&gt;Ситуация (3) соответствует эмуляции ситуации, когда есть сделка совершенная по цене 5 ниже нашей заявки на покупку. Это означает что в стакан была помещена заявка на SELL с ценой (&amp;lt;=5) ниже нашей (7). Мы явно с биржи такой заявки в наших данных не видим и алгоритм 2) не отработает. Поэтому сделана такая дополнительная эмуляция по сделкам.&lt;br /&gt;&lt;br /&gt;При эмуляции по сделкам цена филла лимитной заявки всегда будет равна цене заявленной в лиминой заявке.&lt;br /&gt;&lt;br /&gt;В вашем случае видимо в эмулятор первым пришел обновленный стакан, а не сделка соответствующая этому обновлению.&lt;br /&gt;И сработал алгоритм FillOnQuotes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Попробуйте провести эксперимент, отключив загрузку и генерацию стаканов. Если по сделкам матчинг будет правильный, значит я прав с объяснением ситуации.&lt;br /&gt;&lt;br /&gt;Вообще говоря, следует признать что это ошибка. И ситуацию (2) надо обрабатывать иначе. Т.е. при обработке вновь входящего стакана, в случае если есть заявка которая матчится этим стаканом, то филлить ее по цене заявки. Видимо такие стаканы, не сопровождающиеся сделками, иногда все таки приходят. Вопрос на сколько часто.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13958/</id>
    <title type="text">Кто нибудь может подтвердить проблему? Или может команда стокшарпа может что то сказать?</title>
    <published>2011-11-25T10:17:38Z</published>
    <updated>2011-11-25T10:17:38Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.ru/users/28502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Кто нибудь может подтвердить проблему? Или может команда стокшарпа может что то сказать?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13900/</id>
    <title type="text">Всем привет, в EmulationTrader есть проблема: похоже что цены исполнения лимитных ордеров считаются ...</title>
    <published>2011-11-24T02:01:51Z</published>
    <updated>2011-11-24T02:02:42Z</updated>
    <author>
      <name>kenota</name>
      <uri>https://stocksharp.ru/users/28502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Всем привет,&lt;br /&gt;&lt;br /&gt;в EmulationTrader есть проблема: похоже что цены исполнения лимитных ордеров считаются по любому тику который лучше или равен цене ордера, что не является верным. Поясню на логе:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;

11:17:37.330 |            | MyStrategy        | Calculated ExitPrice: 96520 
11:17:37.330 |            | MyStrategy        | Registering exit order
11:17:52.360 |            | MyStrategy        | Новая Sell сделка 50 по цене 96525 на 1 заявки 20689543.
11:17:52.360 |            | MyStrategy        | ExitOrder filled!
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В первой колонке время в эмуляции (то есть как оно должно быть &amp;quot;на рынке&amp;quot;). Тут мы поставили заявку в 37 секунд, мы должны встать в стакан. Через 15 секунд цена дошла до нас, в реальности мы не можем в таком случае получить цену, лучше чем ту, по которой поставили. Нас обязаны по ней забрать.&lt;br /&gt;&lt;br /&gt;EmulationTrader считает что мы получаем по любой цене которая удовлетворяет, или лучше нашей заявки. Бывают очень серьезные различия, например в 100 пунктов на фьючерсе РТС. Соответственно, это искажает результаты тестирования.&lt;br /&gt;&lt;br /&gt;Версия стокшарпа с codeplex: 11757</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>