﻿<?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">emulationhistoryconnector. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=emulationhistoryconnector&amp;type=community</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-05T01:52:07Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=emulationhistoryconnector&amp;type=community" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/10557/</id>
    <title type="text">Тестирование на истории. Buy Stop и Sell Stop не работают</title>
    <published>2019-03-28T12:35:30Z</published>
    <updated>2019-03-28T12:35:30Z</updated>
    <author>
      <name>mikkei</name>
      <uri>https://stocksharp.ru/users/83662/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="EmulationHistoryConnector" />
    <content type="html">Как установить отложенный ордер при тестировании на истории?&lt;br /&gt;Тестирую на Н1&lt;br /&gt;&lt;br /&gt;        protected override void OnStarted()&lt;br /&gt;        {&lt;br /&gt;            _candleManager&lt;br /&gt;                .WhenCandlesFinished(_series)&lt;br /&gt;                .Do(ProcessCandle)&lt;br /&gt;                .Apply(this);&lt;br /&gt;&lt;br /&gt;            this&lt;br /&gt;                .WhenNewMyTrade()&lt;br /&gt;                .Do(ProcessNewTrade)&lt;br /&gt;                .Apply(this);&lt;br /&gt;&lt;br /&gt;            base.OnStarted();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;private void ProcessCandle(Candle candle) {&lt;br /&gt;&lt;em&gt;..Некоторое условие которое наступает на свече 29.01.2019 15:00:00 &lt;/em&gt;&lt;br /&gt;                            var order = this.CreateOrder(Sides.Buy, 211.50m, 1);&lt;br /&gt;                            order.Type = OrderTypes.Conditional;&lt;br /&gt;                            order.Condition = new EmulationOrderCondition&lt;br /&gt;                            {&lt;br /&gt;                                StopPrice = 211.50m,&lt;br /&gt;                            };&lt;br /&gt;&lt;br /&gt;private void ProcessNewTrade(MyTrade trade)&lt;br /&gt;{&lt;br /&gt;&lt;em&gt;..Однако здесь сделка происходит по 209.83 на следующей свече (209.82 - цена открытия следующей свечи(16:00:00) + 0.01(SpreadSize)&lt;br /&gt;.. Но вход должен произойти только на 17:00:00&lt;/em&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Вот Лог: из него видно, что свеча перебивающая 211.50 только в 17:00:00&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_4e1b99adfa5e42909b0faeb5798076d7');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4e1b99adfa5e42909b0faeb5798076d7' style='display:none'&gt;&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryEmulationConnector|Connect&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryBasketMessageAdapter|Connecting &amp;#39;EmulationMessageAdapter&amp;#39;.&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryBasketMessageAdapter|Connected to &amp;#39;EmulationMessageAdapter&amp;#39;.&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryEmulationConnector|Lookup &amp;#39;PortfolioLookup,T(L)=2019.01.01 00:00:00.000,Name=,TransId=1,Curr=,Board=,IsSubscribe=False&amp;#39; for &amp;#39;EmulationMessageAdapter&amp;#39;.&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryEmulationConnector|Lookup &amp;#39;OrderStatus,T(L)=2019.01.01 00:00:00.000,Sec=S#:@, Native:,Type:,OrderTransId=0,TransId=2,OrderId=,TransId=2&amp;#39; for &amp;#39;EmulationMessageAdapter&amp;#39;.&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryBasketMessageAdapter|Connecting &amp;#39;История (c 01.01.2019 0:00:00 +00:00 по 25.03.2019 0:00:00 +00:00)&amp;#39;.&lt;br /&gt;0001/01/01 00:00:00.000|       |HistoryBasketMessageAdapter|Connected to &amp;#39;История (c 01.01.2019 0:00:00 +00:00 по 25.03.2019 0:00:00 +00:00)&amp;#39;.&lt;br /&gt;2019/01/01 00:00:00.000|       |HistoryEmulationConnector|Lookup &amp;#39;SecurityLookup,T(L)=2019.01.01 00:00:00.000,Sec=S#:@, Native:,Type:,TransId=3,SecId=S#:@, Native:,Type:,Name=,SecType=,ExpDate=&amp;#39; for &amp;#39;История (c 01.01.2019 0:00:00 +00:00 по 25.03.2019 0:00:00 +00:00)&amp;#39;.&lt;br /&gt;2019/01/01 00:00:00.000|       |HistoryEmulationConnector|Создан новый портфель test account.&lt;br /&gt;2019/01/01 00:00:00.000|Debug  |HS_SBER@TQBR_test account|Переход из состояния Stopped в Started.&lt;br /&gt;2019/01/01 00:00:00.000|       |HS_SBER@TQBR_test account|Стратегия Запущена. [0,-1]. Позиция 0.&lt;br /&gt;2019/01/01 00:00:00.000|       |HistoryMessageAdapter|Origin tf: 01:00:00&lt;br /&gt;2019/01/01 00:00:00.000|       |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -&amp;gt; Starting&lt;br /&gt;2019/01/01 00:00:00.000|       |HistoryEmulationConnector|Изменение состояния эмуляции Starting -&amp;gt; Started&lt;br /&gt;2019/03/28 12:28:39.363|       |CachedBasketMarketDataStorage`1|Loading 01.01.2019 0:00:00&lt;br /&gt;....&lt;br /&gt;2019/03/28 12:28:39.499|       |CachedBasketMarketDataStorage`1|Loading 29.01.2019 0:00:00&lt;br /&gt;....&lt;br /&gt;2019/01/29 11:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 10:00:00 +03:00: SBER@TQBR 209.71;209.71;207.50;207.72; объем 9204220&lt;br /&gt;2019/01/29 12:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 12:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 11:00:00 +03:00: SBER@TQBR 207.75;208.89;206.91;208.84; объем 7600920&lt;br /&gt;2019/01/29 13:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 13:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 12:00:00 +03:00: SBER@TQBR 208.84;209.65;208.60;209.50; объем 6430830&lt;br /&gt;2019/01/29 14:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 14:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 13:00:00 +03:00: SBER@TQBR 209.49;210.53;209.00;210.17; объем 5241780&lt;br /&gt;2019/01/29 15:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 15:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 14:00:00 +03:00: SBER@TQBR 210.15;210.40;209.50;210.40; объем 2324240&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 16:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 15:00:00 +03:00: SBER@TQBR 210.36;210.52;209.63;209.82; объем 2880690&lt;br /&gt;2019/01/29 16:00:00.000|       |HS_SBER@TQBR_test account|Регистрация новой Conditional (0x2B7A1F2) заявки на Buy с ценой 211,50 и объемом 1. Buy Stop Enter&lt;br /&gt;2019/01/29 16:00:00.000|       |HistoryEmulationConnector|RegisterOrder: 0/ SBER@TQBR test account Покупка Цена=211.50 Объем=1 Сост=None Бал=0 Тип=Conditional &lt;br /&gt;2019/01/29 16:00:00.000|       |HistoryEmulationConnector|New order: 8/ SBER@TQBR test account Покупка Цена=211.50 Объем=1 Сост=Pending Бал=1 Тип=Conditional &lt;br /&gt;2019/03/28 12:28:45.288|       |SecurityMarketEmulator|Заявка 8 зарегистрирована.&lt;br /&gt;2019/03/28 12:28:45.300|       |SecurityMarketEmulator|Заявка 8. Исполнение объема 1 по цене 209,83.&lt;br /&gt;2019/03/28 12:28:45.302|       |SecurityMarketEmulator|Заявка 8 полностью исполнена.&lt;br /&gt;2019/03/28 12:28:45.306|       |SecurityMarketEmulator|Сделка 1 заявки 8 P=209,83 V=1.&lt;br /&gt;2019/01/29 16:00:00.000|       |HistoryEmulationConnector|Order changed: 8/1 SBER@TQBR test account Покупка Цена=211.50 Объем=1 Сост=Done Бал=0 Тип=Conditional &lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Отмена заявки 8/1 (0xBF7771) OR Полное исполнение 8/1 (0xAE65B0) OR Ошибка регистрации.  8/1 (0x27B1BBF)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 16:00:00.000|       |HS_SBER@TQBR_test account|Заявка 8 (0x2B7A1F2) больше не активна.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Отмена заявки 8/1 (0xBF7771) OR Полное исполнение 8/1 (0xAE65B0) OR Ошибка регистрации.  8/1 (0x27B1BBF)&amp;#39;. Удаляется.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Отмена заявки 8/1 (0xBF7771)&amp;#39;. Освободило ресурсы.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Полное исполнение 8/1 (0xAE65B0)&amp;#39;. Освободило ресурсы.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Ошибка регистрации.  8/1 (0x27B1BBF)&amp;#39;. Освободило ресурсы.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Отмена заявки 8/1 (0xBF7771) OR Полное исполнение 8/1 (0xAE65B0) OR Ошибка регистрации.  8/1 (0x27B1BBF)&amp;#39;. Освободило ресурсы.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Ошибка снятия заявки 8/1 (0x122DB4B)&amp;#39;. Удаляется.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Ошибка снятия заявки 8/1 (0x122DB4B)&amp;#39;. Освободило ресурсы.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Ошибка снятия заявки 8/1 (0x122DB4B)&amp;#39;. Удалено.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Отмена заявки 8/1 (0xBF7771) OR Полное исполнение 8/1 (0xAE65B0) OR Ошибка регистрации.  8/1 (0x27B1BBF)&amp;#39;. Удаление.&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Ошибка снятия заявки 8/1 (0x122DB4B)&amp;#39;. Удаление.&lt;br /&gt;2019/01/29 16:00:00.000|Error  |HistoryEmulationConnector|System.InvalidOperationException: Сообщение &amp;#39;Execution,T(L)=2019/01/29 16:00:00.000,T(S)=2019/01/29 16:00:00.000,(Transaction),Sec=S#:SBER@TQBR, Native:,Type:,Ord=1/0/8,Fail=,Price=0,OrdVol=,TrVol=,Bal=0,TId=,Pf=test account,TPrice=,UId=,State=Done&amp;#39; привело к ошибке обработки. ---&amp;gt; System.ArgumentException: Элемент с тем же ключом уже был добавлен.&lt;br /&gt;   в System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)&lt;br /&gt;   в System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)&lt;br /&gt;   в System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)&lt;br /&gt;   в Ecng.Collections.SynchronizedDictionary`2.Add(TKey key, TValue value)&lt;br /&gt;   в StockSharp.Algo.EntityCache.ProcessOrderMessage(Order order, Security security, ExecutionMessage message, Int64 transactionId, Tuple`3&amp;amp; pfInfo)&lt;br /&gt;   в StockSharp.Algo.Connector.ProcessOrderMessage(Order o, Security security, ExecutionMessage message, Int64 transactionId, Boolean isStatusRequest)&lt;br /&gt;   в StockSharp.Algo.Connector.ProcessTransactionMessage(Order order, Security security, ExecutionMessage message, Int64 transactionId, Boolean isStatusRequest)&lt;br /&gt;   в StockSharp.Algo.Connector.ProcessExecutionMessage(ExecutionMessage message)&lt;br /&gt;   в StockSharp.Algo.Connector.OnProcessMessage(Message message)&lt;br /&gt;   --- Конец трассировки внутреннего стека исключений ---&lt;br /&gt;2019/01/29 16:00:00.000|       |HistoryEmulationConnector|New own trade: 29.01.2019 16:00:00 +03:00 1 209,83 1 от заявки 8/1 SBER@TQBR test account Покупка Цена=211,50 Объем=1 Сост=Done Бал=0 Тип=Conditional&lt;br /&gt;2019/01/29 16:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Новые сделки стратегии HS_SBER@TQBR_test account (0x21CF1C8)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 16:00:00.000|       |HS_SBER@TQBR_test account|Новая Buy сделка 1 по цене 209,83 на 1 заявки 8.&lt;br /&gt;2019/01/29 17:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 17:00:00.000|       |HS_SBER@TQBR_test account|Новая свеча 01/29/2019 16:00:00 +03:00: SBER@TQBR 209.82;211.20;209.81;210.96; объем 5350460&lt;br /&gt;2019/01/29 18:00:00.000|Debug  |HS_SBER@TQBR_test account|Правило &amp;#39;Законченные свечи TimeFrameCandle_SBER@TQBR_01-00-00 (0x3F6A66A)&amp;#39;. Активация.&lt;br /&gt;2019/01/29 18:00:00.000|       |HS_SBER@TQBR_test account|&lt;b&gt;Новая свеча 01/29/2019 17:00:00 +03:00: SBER@TQBR 210.96;213.30;210.96;212.94; объем 11824230&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Может не так регистрирую стоп заявку? </content>
  </entry>
</feed>