﻿<?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">StopLossStrategy - как заставить ее работать как нужно мне?</title>
  <id>~/topic/2944/stoplossstrategy---kak-zastavit-ee-rabotat-kak-nuzhno-mne/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-03T22:30:34Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2944" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/20882/</id>
    <title type="text">Попробовал UseQuoting = true. Получил в ответ что-то совсем непонятное: На кодеплексе лежит обновлен...</title>
    <published>2012-08-16T21:16:59Z</published>
    <updated>2012-08-16T21:16:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Oppositus &lt;a href="https://stocksharp.com/posts/m/20881/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Попробовал UseQuoting = true. Получил в ответ что-то совсем непонятное:&lt;br /&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.com/posts/m/20881/</id>
    <title type="text">Попробовал UseQuoting = true. Получил в ответ что-то совсем непонятное: SLS_SRU2@RTS_SPBFUT00TE4 | 1...</title>
    <published>2012-08-16T18:32:24Z</published>
    <updated>2012-08-16T18:32:24Z</updated>
    <author>
      <name>Oppositus</name>
      <uri>https://stocksharp.com/users/6212/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Попробовал UseQuoting = true. Получил в ответ что-то совсем непонятное:&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;

SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:06.919 |            | Защита активирована.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:06.919 |            | Регистрация защитного котирования.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.016 | Ошибка     | System.InvalidOperationException: Используется автоматическая генерация имени стратегии. Ручное изменение не допускается.
   в StockSharp.Algo.Strategies.StrategyNameGenerator.set_Value(String value)
   в StockSharp.Algo.Strategies.Strategy.set_Name(String value)
   в StockSharp.Algo.Strategies.ProtectiveStrategy.NeedQuoting(Decimal currentPrice, Decimal currentVolume, Decimal newPrice, Decimal newVolume)
   в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting()
   в StockSharp.Algo.Strategies.ProtectiveStrategy.ProcessQuoting()
   в StockSharp.Algo.MarketRule`1.#=qeWNllB1BHhtz2GInOxEycnTnSVmHp5ACvmB$w$DQUPY=.#=q1VXoBNSvSzvqt4_pb0ULMQ==(#=q1ycMI7lUw5hzlD3SGIhOYw== #=qh4TdGntpoONIZD2YD9AC0Q==)
   в StockSharp.Algo.MarketRule`1.#=qN4TsINan0AyUgxybdGMnecNkj_Rx103jZqKqgKdKco8=()
   в StockSharp.Algo.Strategies.Strategy.#=q70DdGRFZcnVyo09EzshnClL8oFZ02wn6FqA_9G9qJIsMxk1js7YvrAHdZYys628ghxk5QYTlqCVIVFhozmja1g==(IMarketRule #=q3kKagJxuF5YY6xElZPebYQ==, Func`1 #=q7B59AEzS7WJDiwLD2kMU9A==)
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.043 | Внимание   | Заканчиваем котирование с неисполненным объемом равный 1.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.102 |            | Стратегия останавливается.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.132 |            | Ожидание снятия всех активных заявок.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.156 |            | Нет активных или ожидаемых заявок на вход.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 22:27:07.189 |            | Стратегия остановлена.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;

MarketQuotingStrategy seller = new MarketQuotingStrategy(OrderDirections.Sell, Math.Min(base.Volume, m_depth.BestBid.Volume))
{
    PriceType = MarketPriceTypes.Opposite
};

seller.NewMyTrades += (IEnumerable&amp;lt;MyTrade&amp;gt; trades) =&amp;gt;
{
    foreach(MyTrade t in trades)
    {
        try
        {
            decimal stop = t.Trade.Price + 2;
            this.AddWarningLog(&amp;quot;Добавляем SL для сделки на ПРОДАЖУ по &amp;quot; + t.Trade.Price + &amp;quot; на уровне &amp;quot; + stop);
            StopLossStrategy sl = new StopLossStrategy(t, new Unit(stop, UnitTypes.Limit))
            {
                UseQuoting = true
            };
            base.ChildStrategies.Add(sl);
        }
        catch(Exception e)
        {
            this.AddErrorLog(&amp;quot;Ошибка при добавлении SL стратегии &amp;quot; + e.GetType() + &amp;quot;\n&amp;quot; + e.Message);
        }
    }
};

base.ChildStrategies.Add(seller);
&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.com/posts/m/20880/</id>
    <title type="text">Здравствуйте. Помогите, пожалуйста, рассеять недоумение (документацию читал, ответа не нашел). Есть ...</title>
    <published>2012-08-16T18:08:07Z</published>
    <updated>2012-08-16T18:08:07Z</updated>
    <author>
      <name>Oppositus</name>
      <uri>https://stocksharp.com/users/6212/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Здравствуйте. Помогите, пожалуйста, рассеять недоумение (документацию читал, ответа не нашел).&lt;br /&gt;&lt;br /&gt;Есть сделка - фьючерс на Сбер, продажа по цене 9384. На этот трейд ставится StopLossStrategy с абсолютной ценой 9386. И садимся наблюдать за логами и графиками.&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;

MarketQuotingStrategy seller = new MarketQuotingStrategy(OrderDirections.Sell, Math.Min(base.Volume, m_depth.BestBid.Volume))
{
    PriceType = MarketPriceTypes.Opposite
};

seller.NewMyTrades += (IEnumerable&amp;lt;MyTrade&amp;gt; trades) =&amp;gt;
{
    foreach(MyTrade t in trades)
    {
        decimal stop = t.Trade.Price + 2;
        StopLossStrategy sl = new StopLossStrategy(t, new Unit(stop, UnitTypes.Limit)); // Указываем значение цены стопа, а не отступ
        base.ChildStrategies.Add(sl);
    }
};

base.ChildStrategies.Add(seller);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;

m_trader = new RealTimeEmulationTrader&amp;lt;GuiTrader&amp;lt;QuikTrader&amp;gt;&amp;gt;(new QuikTrader().GuiSyncTrader());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;1. Во время жизни позиции было несколько сделок по цене 9386. &lt;b&gt;Стоп не сработал&lt;/b&gt;. Стратегия начала работу только после сделки по цене 9387. С моей точки зрения это неправильно - &lt;b&gt;стоп должен срабатывать при сделке по заданной цене&lt;/b&gt;, а не по цене выше.&lt;br /&gt;&lt;br /&gt;2. После срабатывания стопа, SL стратегия выставила ордер Buy по цене 9386. То есть по цене бида. Это уже совсем неправильно. Потому что дальше цена пошла вверх, и ордер висел до тех пор, пока цена не откатилась назад до 9386. А если бы не откатилась? &lt;b&gt;SL стратегия должна была выставить приказ по аску&lt;/b&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:plain"&gt;
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.587 |            | Стратегия запущена.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.603 |            | Котирование на Sell объема 1.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.618 |            | Приостановка правил. _rulesSuspendCount 1.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.650 |            | Возобновление правил. _rulesSuspendCount 0.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.665 |            | Цена текущей NULL и лучшей 9384.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.665 |            | Лучший бид 9384 и лучший аск 9386.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.681 |            | Регистрация новой заявки на Sell с ценой 9384 и объемом 1.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.712 |            | Заявка 76852280 на Sell отправлена с ценой 9384 объемом 1.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.712 | Внимание   | Заявка 76852280 в процессе регистрации.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.728 |            | Заявка 76852280 принята биржей.
FS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.759 |            | Новая Sell сделка 1 по цене 9384 на 1 заявки 76852280.
FS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.774 |            | Прибыль 0
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.774 |            | Новая Sell сделка 1 по цене 9384 на 1 заявки 76852280.
FS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.790 | Внимание   | Добавляем SL для сделки на ПРОДАЖУ по 9384 на уровне 9386
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.806 |            | Стратегия запущена.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.852 |            | Защита сделки 1 заявки 76852280.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.852 |            | Котирование на Buy объема 1.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.884 |            | Приостановка правил. _rulesSuspendCount 1.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.884 |            | Возобновление правил. _rulesSuspendCount 0.
FS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.899 |            | Новая позиция -1.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.915 |            | Заявка 76852280 полностью исполнилась. Оставшийся объем 0.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.930 |            | Заканчиваем котирование.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.946 |            | Стратегия останавливается.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.962 |            | Ожидание снятия всех активных заявок.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.977 |            | Нет активных или ожидаемых заявок на вход.
MQS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:23:28.993 |            | Стратегия остановлена.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.701 |            | Защита активирована.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.701 |            | Цена текущей NULL и лучшей 9386.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.701 |            | Лучший бид 9386 и лучший аск 9387.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.701 |            | Регистрация новой заявки на Buy с ценой 9386 и объемом 1.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.701 |            | Заявка 76852281 на Buy отправлена с ценой 9386 объемом 1.
SLS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:30:05.748 |            | Заявка 76852281 принята биржей.
FS_SRU2@RTS_SPBFUT00TE4 | 16.08.2012 21:41:28.173 |            | Новая Buy сделка 2 по цене 9386 на 1 заявки 76852281.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Отсюда вопросы.&lt;br /&gt;&lt;br /&gt;1. Как сделать, чтобы SL стратегия срабатывала именно тогда, когда происходит сделка по указанной цене. А не тогда, когда рынок уехал дальше.&lt;br /&gt;2. Как сделать, чтобы SL стратегия выставляла заявки по правильным ценам - по аскам, если надо откупить, и по бидам, если надо продать. И при этом еще следила за стаканом, передвигая заявки до исполнения всего объема. В крайнем случае - как указать проскальзывание от цены стопа?&lt;br /&gt;&lt;br /&gt;Фактически я хочу, чтобы все работало как в Квике, а, если возможно, то и лучше.&lt;br /&gt;&lt;br /&gt;Спасибо.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>