﻿<?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">Сработавшая стоп заявка не изменяет, Position стратегии.</title>
  <id>~/topic/4592/srabotavshaya-stop-zayavka-ne-izmenyaet-position-strategii_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-06T10:59:51Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4592" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/30956/</id>
    <title type="text">Попробуй что-нибудь из этого: 1. Order.WhenActivated - правило на событие активации стоп-заявки. 2. ...</title>
    <published>2014-06-28T19:08:56Z</published>
    <updated>2014-06-28T19:08:56Z</updated>
    <author>
      <name>chulman</name>
      <uri>https://stocksharp.com/users/6409/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;viosee &lt;a href="https://stocksharp.com/posts/m/30953/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Попробуй что-нибудь из этого:&lt;br /&gt;1. Order.WhenActivated - правило на событие активации стоп-заявки.&lt;br /&gt;2. Использовать StopLossStrategy.&lt;br /&gt;3. Организовать стоп-лосс собственноручно с помощью Security.WhenNewTrades и маркет ордеров.&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/30953/</id>
    <title type="text">Попробуй что-нибудь из этого: 1. Order.WhenActivated - правило на событие активации стоп-заявки. 2. ...</title>
    <published>2014-06-27T23:06:01Z</published>
    <updated>2014-06-27T23:06:01Z</updated>
    <author>
      <name>Валентин Лебедев</name>
      <uri>https://stocksharp.com/users/50045/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Попробуй что-нибудь из этого:&lt;br /&gt;1. Order.WhenActivated - правило на событие активации стоп-заявки.&lt;br /&gt;2. Использовать StopLossStrategy.&lt;br /&gt;3. Организовать стоп-лосс собственноручно с помощью Security.WhenNewTrades и маркет ордеров.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/30951/</id>
    <title type="text">Сделал так, решил считать вручную позицию, подписался на событие новый трейдов. protected override v...</title>
    <published>2014-06-27T18:14:45Z</published>
    <updated>2014-06-27T18:17:00Z</updated>
    <author>
      <name>chulman</name>
      <uri>https://stocksharp.com/users/6409/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Сделал так, решил считать вручную позицию, подписался на событие новый трейдов.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt; protected override void OnStarted()&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            _series = this.GetCandleManager().GetSeries&amp;lt;CandleFoot&amp;gt;(this.Security, 10);&lt;br /&gt;            _series&lt;br /&gt;                .WhenCandlesFinished()&lt;br /&gt;                .Do(ProcessCandle)&lt;br /&gt;                .Apply(this);&lt;br /&gt;&lt;br /&gt;            this.WhenNewMyTrades()&lt;br /&gt;                .Do(ProcessPosition)&lt;br /&gt;                .Apply(this);&lt;br /&gt;         &lt;br /&gt;            Pos = 0;&lt;br /&gt;            base.OnStarted();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; private void ProcessPosition(IEnumerable&amp;lt;MyTrade&amp;gt; trades)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;            var t = trades.FirstOrDefault();&lt;br /&gt;            var buyDir = t.Order.Direction == Sides.Buy;&lt;br /&gt;            if (buyDir)&lt;br /&gt;            {&lt;br /&gt;                Pos = Pos + t.Trade.Volume;&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                Pos = Pos - t.Trade.Volume;&lt;br /&gt;            }&lt;br /&gt;            string text = &amp;quot;&amp;quot;;&lt;br /&gt;            text = text + &amp;quot;позиция &amp;quot; + Pos.ToString();&lt;br /&gt;            System.IO.File.WriteAllText(@&amp;quot;f:\footText.txt&amp;quot;, text);&lt;br /&gt;        }&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;итог следующий , WhenNewMyTrades не вызывается при срабатывании стоп заявки, файл не переписывается. Даже если тут есть логические ошибки, в файл должно что то записаться, но время файла остается временем основного ордера, при котором выставляется стоп заявка.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/30945/</id>
    <title type="text">Было недавно про стоп заявки и был фикс. Смотрите в релиз нотес. Скачал новую сборку поменял все dll...</title>
    <published>2014-06-27T12:35:24Z</published>
    <updated>2014-06-27T13:07:04Z</updated>
    <author>
      <name>chulman</name>
      <uri>https://stocksharp.com/users/6409/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/30944/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Было недавно про стоп заявки и был фикс. Смотрите в релиз нотес.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Скачал новую сборку поменял все dll в references которые начинаются с StockSharp и Ecng, сделал ребилд проекта&lt;br /&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/30944/</id>
    <title type="text">Было недавно про стоп заявки и был фикс. Смотрите в релиз нотес.</title>
    <published>2014-06-27T11:50:28Z</published>
    <updated>2014-06-27T11:50:28Z</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/30943/</id>
    <title type="text">Position обновляется очень медленно в некоторых случаях, там есть глюк с ощутимой задержкой после ср...</title>
    <published>2014-06-27T10:57:25Z</published>
    <updated>2014-06-27T11:42:09Z</updated>
    <author>
      <name>chulman</name>
      <uri>https://stocksharp.com/users/6409/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;devruss &lt;a href="https://stocksharp.com/posts/m/30942/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Position обновляется очень медленно в некоторых случаях, там есть глюк с ощутимой задержкой после срабатывания ордера. Мне с этим было лень разбираться, так как намного проще и надежнее реализовать подсчет позиции внутри стратегии самому.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я думаю проблема в другом, на финише свечи я пишу значение Position в текстовый файл и смотрю его, типа отладка такая, таймфрейм не меньше минуты, да даже 10 минут я пробовал, все равно по срабатыванию стопа Position не меняется. Т.е через 10 минут после активации стопа все так же остается.&lt;br /&gt;&lt;br /&gt;Я в стоп заявку даже такое пытался вкорячить.&lt;br /&gt;&lt;br /&gt; orStopOrder&lt;br /&gt;   .WhenNewTrades()&lt;br /&gt;   .Do(ProcessPosition)&lt;br /&gt;   .Apply(this);&lt;br /&gt;&lt;br /&gt;и потом ручками отнять&lt;br /&gt;&lt;br /&gt; private void ProcessPosition(IEnumerable&amp;lt;MyTrade&amp;gt; trades)&lt;br /&gt;        {&lt;br /&gt;            var t = trades.FirstOrDefault();&lt;br /&gt;            Position = Position - t.Trade.Volume;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;но отладчик не заходит в ProcessPosition&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;только что пробовал так,&lt;br /&gt;&lt;br /&gt;orStopOrder&lt;br /&gt;  .WhenMatched()&lt;br /&gt;  .Do(() =&amp;gt;&lt;br /&gt;  {&lt;br /&gt;   Position = Position - orStopOrder.Volume;&lt;br /&gt;  })&lt;br /&gt;  .Apply(this);&lt;br /&gt;&lt;br /&gt;Position зараза не меняется.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/30942/</id>
    <title type="text">Position обновляется очень медленно в некоторых случаях, там есть глюк с ощутимой задержкой после ср...</title>
    <published>2014-06-27T10:51:08Z</published>
    <updated>2014-06-27T10:51:08Z</updated>
    <author>
      <name>devruss</name>
      <uri>https://stocksharp.com/users/50604/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Position обновляется очень медленно в некоторых случаях, там есть глюк с ощутимой задержкой после срабатывания ордера. Мне с этим было лень разбираться, так как намного проще и надежнее реализовать подсчет позиции внутри стратегии самому.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/30941/</id>
    <title type="text">StockSharp_4.2.3.7_Sources 1. Создаю Ордер и подписываюсь на его событие WhenNewTrades var order = t...</title>
    <published>2014-06-27T10:45:30Z</published>
    <updated>2014-06-27T10:46:39Z</updated>
    <author>
      <name>chulman</name>
      <uri>https://stocksharp.com/users/6409/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">StockSharp_4.2.3.7_Sources&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Создаю Ордер и подписываюсь на его событие WhenNewTrades&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;br /&gt;  var order = this.BuyAtLimit(pLevel + this.Security.PriceStep); //открываем лонг&lt;br /&gt;                    order&lt;br /&gt;                        .WhenNewTrades()&lt;br /&gt;                        .Do(ProcessOrder)&lt;br /&gt;                        .Apply(this);&lt;br /&gt;&lt;br /&gt;                    this.RegisterOrder(order);&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt; &lt;br /&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;br /&gt;private void ProcessOrder(IEnumerable&amp;lt;MyTrade&amp;gt; trades)&lt;br /&gt;        {&lt;br /&gt;          &lt;br /&gt;            var t = trades.FirstOrDefault();&lt;br /&gt;            var BuyDir = t.Order.Direction == Sides.Buy;&lt;br /&gt;                var orStopOrder = new Order&lt;br /&gt;                {&lt;br /&gt;                    Type = OrderTypes.Conditional,&lt;br /&gt;                    Volume = t.Trade.Volume,&lt;br /&gt;                    Price = BuyDir ? (t.Order.Price - 350) : (t.Order.Price + 350),  //цена исполнения стопа&lt;br /&gt;                    Portfolio = Portfolio,&lt;br /&gt;                    Security = Security,&lt;br /&gt;                    Direction = BuyDir ? Sides.Sell : Sides.Buy,&lt;br /&gt;                    Comment = &amp;quot;Placed by TradingTrainer&amp;quot;,&lt;br /&gt;                    ExpiryDate = DateTime.MaxValue,&lt;br /&gt;                    Condition = new QuikOrderCondition()&lt;br /&gt;                    {&lt;br /&gt;                        Type = QuikOrderConditionTypes.LinkedOrder,&lt;br /&gt;                        LinkedOrderPrice = BuyDir ? (t.Order.Price + 300) : (t.Order.Price - 300), //лимит&lt;br /&gt;                        LinkedOrderCancel = false,&lt;br /&gt;                        StopPrice = BuyDir ? (t.Order.Price - 150) : (t.Order.Price + 150),      //стоп цена&lt;br /&gt;                        ActiveTime = null,&lt;br /&gt;                    },&lt;br /&gt;                };&lt;br /&gt;            &lt;br /&gt;                this.RegisterOrder(orStopOrder);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Значит, стопы ставятся прекрасно, но при срабатывании стопа Position стратегии не изменяется.&lt;br /&gt;Получается что фактически позиции нет, а Position == осталось тем же.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>