﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">В RealTimeEmulationTrader не происходят сделки</title>
  <id>~/topic/3499/v-realtimeemulationtrader-ne-proishodyat-sdelki/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-25T02:59:45Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3499" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/25597/</id>
    <title type="text">Скорее всего из за: http://stocksharp.com/forum/3448/Probliema-v-RealTimeEmulationTrader/ Но к сожал...</title>
    <published>2013-04-25T03:00:25Z</published>
    <updated>2016-08-16T00:13:12Z</updated>
    <author>
      <name>AASorokovoy</name>
      <uri>https://stocksharp.com/users/6304/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Скорее всего из за:&lt;br /&gt;&lt;a href="http://stocksharp.com/forum/3448/Probliema-v-RealTimeEmulationTrader/
" title="http://stocksharp.com/forum/3448/Probliema-v-RealTimeEmulationTrader/
"&gt;http://stocksharp.com/fo...ealTimeEmulationTrader/
&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Но к сожалению этот баг так тщательно игнорируется... [sad] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/24789/</id>
    <title type="text">вероятно, по этой же самой причине - http://stocksharp.com/forum/3024/Nie-rieghistriruietsia-zaiavka...</title>
    <published>2013-03-25T19:57:00Z</published>
    <updated>2016-08-16T00:12:33Z</updated>
    <author>
      <name>ak</name>
      <uri>https://stocksharp.com/users/26845/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">вероятно, по этой же самой причине - &lt;a href="http://stocksharp.com/forum/3024/Nie-rieghistriruietsia-zaiavka-v-RealTimeEmulationTrader/?page=3" title="http://stocksharp.com/forum/3024/Nie-rieghistriruietsia-zaiavka-v-RealTimeEmulationTrader/?page=3"&gt;http://stocksharp.com/fo...eEmulationTrader/?page=3&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/25082/</id>
    <title type="text">Экспорт стакана у вас для этого инструмента запущен?</title>
    <published>2013-04-02T08:51:04Z</published>
    <updated>2013-04-02T08:51:04Z</updated>
    <author>
      <name>esper</name>
      <uri>https://stocksharp.com/users/5990/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Экспорт стакана у вас для этого инструмента запущен?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/25080/</id>
    <title type="text">Вышла новая версия StockSharp. Скачал, обновил ссылки. Но проблема до сих пор не ушла. При тестирова...</title>
    <published>2013-04-02T08:24:49Z</published>
    <updated>2013-04-02T08:24:49Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.com/users/16767/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Вышла новая версия StockSharp. Скачал, обновил ссылки.&lt;br /&gt;Но проблема до сих пор не ушла.&lt;br /&gt;При тестировании в реал-тайм заявки выставляются, но сделки не происходят.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/24799/</id>
    <title type="text">Будем ждать. Спасибо за библиотеку.</title>
    <published>2013-03-26T08:25:05Z</published>
    <updated>2013-03-26T08:25:05Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.com/users/16767/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Будем ждать.&lt;br /&gt;&lt;br /&gt;Спасибо за библиотеку.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/24794/</id>
    <title type="text">На этой неделе запланировали устранить проблему. Извиняюсь за задержку.</title>
    <published>2013-03-25T21:40:40Z</published>
    <updated>2013-03-25T21:40:40Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">На этой неделе запланировали устранить проблему. Извиняюсь за задержку.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/24772/</id>
    <title type="text">Специально для проверки StopLossStrategy кидаю лимитки близко к спреду. Но сделки, судя по логу, не ...</title>
    <published>2013-03-25T13:00:59Z</published>
    <updated>2013-03-25T20:31:33Z</updated>
    <author>
      <name>Lipot</name>
      <uri>https://stocksharp.com/users/16767/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Специально для проверки StopLossStrategy кидаю лимитки близко к спреду. Но сделки, судя по логу, не происходят.&lt;br /&gt;Что-то делаю не так?&lt;br /&gt;&lt;br /&gt;Лог файл&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:59:00.104 |            | Правило &amp;#39;Интервал 00:01:00 (0x1C4D180)&amp;#39;. Активация.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:54:53.440 |            | Переход из состояния Stopped в Started.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:54:53.442 |            | Стратегия запущена. [0,-1]. Позиция при старте 0.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:56:00.039 |            | Правило &amp;#39;Интервал 00:01:00 (0x1C4D180)&amp;#39;. Активация.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:56:00.064 |            | Регистрация новой Limit (0x31AE540) заявки на Buy с ценой 9847 и объемом 1. 
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:56:00.112 |            | Правило &amp;#39;Полное исполнение  60886354/0 (0x36B20B7)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:56:00.113 |            | Правило &amp;#39;Отмена заявки  60886354/0 (0x283D6C)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:56:00.113 |            | Правило &amp;#39;Ошибка регистрации заявки  60886354/0 (0x271D65F)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:57:00.062 |            | Правило &amp;#39;Интервал 00:01:00 (0x1C4D180)&amp;#39;. Активация.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:57:00.063 |            | Регистрация новой Limit (0xEB7DE3) заявки на Buy с ценой 9841 и объемом 1. 
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:57:00.064 |            | Правило &amp;#39;Полное исполнение  60886355/0 (0x4D82E1)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:57:00.064 |            | Правило &amp;#39;Отмена заявки  60886355/0 (0x86693B)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:57:00.064 |            | Правило &amp;#39;Ошибка регистрации заявки  60886355/0 (0x2874BB6)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:58:00.085 |            | Правило &amp;#39;Интервал 00:01:00 (0x1C4D180)&amp;#39;. Активация.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:58:00.085 |            | Регистрация новой Limit (0x3F13BE6) заявки на Buy с ценой 9845 и объемом 1. 
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:58:00.085 |            | Правило &amp;#39;Полное исполнение  60886356/0 (0xCEF4B6)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:58:00.085 |            | Правило &amp;#39;Отмена заявки  60886356/0 (0x17B6DE0)&amp;#39;. Подписалось на события.
RS_SRM3@RTS_SPBFUT007r0 | 25.03.2013 16:58:00.085 |            | Правило &amp;#39;Ошибка регистрации заявки  60886356/0 (0xDC417)&amp;#39;. Подписалось на события.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Код стратегии&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using System;
using System.Globalization;
using System.Windows;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ecng.Collections;
using Ecng.Xaml;

using StockSharp.Algo;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Candles;
using System.Threading;
using StockSharp.BusinessEntities;


namespace Spikes_Test_it
{
    internal class RobotStrategy : TimeFrameStrategy
    {
        private readonly CandleManager _candleManager;  //Менеджер свечей

        private readonly CandleSeries _candleSeries;    //Свечи

        private DateTime _nextTime;                     

        private decimal _delta;

        private readonly decimal _deltaPercent;

        private decimal _stopLoss;

        private readonly decimal _stopLossPercent;

        public RobotStrategy(CandleManager candleManager, CandleSeries candleSeries, decimal deltaPercent, decimal stopLossPercent, TimeSpan timeFrame)
            : base(timeFrame)
        {
            _candleManager = candleManager;

            _candleSeries = candleSeries;

            _deltaPercent = deltaPercent;

            _stopLossPercent = stopLossPercent;
            
        }


        /// &amp;lt;summary&amp;gt;
        /// Метод вызывается тогда, когда вызвался метод &amp;lt;see cref=&amp;quot;M:StockSharp.Algo.Strategies.Strategy.Start&amp;quot;/&amp;gt;, и состояние &amp;lt;see cref=&amp;quot;P:StockSharp.Algo.Strategies.Strategy.ProcessState&amp;quot;/&amp;gt; перешло в значение &amp;lt;see cref=&amp;quot;F:StockSharp.Algo.ProcessStates.Started&amp;quot;/&amp;gt;.
        /// &amp;lt;/summary&amp;gt;
        protected override void OnStarted()
        {

            //Вычисляем время окончания текущей свечки
            _nextTime = Interval.GetCandleBounds(base.Trader.GetMarketTime(Exchange.Me)).Max;
            
            Thread.Sleep(_nextTime - base.Trader.GetMarketTime(Exchange.Me));

            base.OnStarted();
        }


        protected override ProcessResults OnProcess()
        {
            //Если наша стратегия в процессе остановки 
            if (base.ProcessState == ProcessStates.Stopping)
            {
                //Отменяем активные заявки 
                CancelActiveOrders();

                //Так как все активные заявки гарантированно были отменены, то возвращаем ProcessResults.Stop 
                return ProcessResults.Stop;
            }
            
            
            //Событие обработки торговой стратегии вызвалось в первый раз, что раньше, чем окончания текущей свечки 
            if (Trader.GetMarketTime(Exchange.Me) &amp;lt; _nextTime)
            {
                
                //Возвращаем ProcessResults.Continue, так как наш алгоритм еще не закончил свою работу, а просто ожидает следующего вызова. 
                return ProcessResults.Continue;
                
            }
             
            //Получаем сформированную свечку
            var candle = _candleSeries.GetTimeFrameCandle(_nextTime-TimeFrame);
            
            //если свечки не существует (не было ни одной сделке в тайм-фрейме), то ждем окончания следующей свечки. 
            if (candle == null)
            {
                // если прошло больше 10 секунд с момента окончания свечки, а она так и не появилась, 
                // значит сделок в прошедшей 5-минутке не было, и переходим на следующую свечку 
                if ((this.GetMarketTime() - _nextTime) &amp;gt; TimeSpan.FromSeconds(10))
                    _nextTime = TimeFrame.GetCandleBounds(Trader.GetMarketTime(Exchange.Me)).Max;
                
                return ProcessResults.Continue;
            }
            
            _nextTime += TimeFrame;

            //Создаем заявку
            var order = this.CreateOrder(OrderDirections.Buy, candle.ClosePrice - 3, Volume);

            //Регистрируем правило, отслеживающее появление новых сделок, осуществленных трейдером
            Trader
                .WhenNewMyTrades()
                .Do(OnNewMyTrades)
                .Apply(this);

            RegisterOrder(order);

            return ProcessResults.Continue;
        }

        protected override void OnNewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)
        {
            //Для каждой сделки добавляем защитную стоп-лосс стратегию
            var protectiveStrategies = trades.Select(t =&amp;gt;
                                                         {
                                                             MessageBox.Show(&amp;quot;Идентификатор сделки: &amp;quot; +
                                                                             t.Trade.Id.ToString(
                                                                                 CultureInfo.InvariantCulture));
                _stopLoss = t.Trade.Price * _stopLossPercent/100;
                //Выставляем стоп-лосс 2% от цены входа
                var stopLossStrategy = new AutoProtectiveStrategy
                                           {
                                               StopLossLevel = _stopLoss,
                                               //TakeProfitTimeOut = TimeSpan.FromMinutes(TimeFrame.Minutes*2)
                                               TakeProfitTimeOut = TimeSpan.FromSeconds((_nextTime+TimeFrame+TimeFrame).Second-t.Trade.Time.Second)
                                           };
                MessageBox.Show(stopLossStrategy.TakeProfitTimeOut.ToString());
                return stopLossStrategy;
            });

            ChildStrategies.AddRange(protectiveStrategies);
            
            base.OnNewMyTrades(trades);
        }


    }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>