﻿<?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">ActionStrategy() и свечи</title>
  <id>~/topic/1663/actionstrategy()-i-svechi/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-13T06:38:00Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1663" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/9500/</id>
    <title type="text">Это особенность квика. SecurityChanged не приходит, т.к. ничего физически в таблице не меняется. В 3...</title>
    <published>2011-07-12T19:34:04Z</published>
    <updated>2011-07-12T19:34:04Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Это особенность квика.
SecurityChanged не приходит, т.к. ничего физически в таблице не меняется.
В 3.2.5 были изменения немного логики работы, может поможет.&lt;/p&gt;
&lt;p&gt;Как вариант - добавить дополнительную колонку с последней ценой инструмента, тогда SecurityChanged приходить будет.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9470/</id>
    <title type="text">Цифры в таблице Квика не меняются. Цвет строки меняется (красный - зеленый) в соответствии с ценой. ...</title>
    <published>2011-07-12T12:17:28Z</published>
    <updated>2011-07-12T12:17:28Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Цифры в таблице Квика не меняются.
Цвет строки меняется (красный - зеленый) в соответствии с ценой.&lt;/p&gt;
&lt;p&gt;Михаил, у меня не вызывается и LastTradePriceMore.
Хотя цена последней сделки передается правильно и регулярно.
CandlesFinished тоже работает безукоризненно.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9468/</id>
    <title type="text">Alex Ander: Тоже ни разу не вызывается и ничего не передается. Потому что Квик транслирует изменения...</title>
    <published>2011-07-12T11:50:36Z</published>
    <updated>2011-07-12T11:50:36Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9467)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Тоже ни разу не вызывается и ничего не передается.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Потому что Квик транслирует изменения по таблице, а не по инструменту. В таблице что-то визуально изменяется?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9467/</id>
    <title type="text"> _trader.Connected += () =&amp;gt; { ... _trader.SecuritiesChanged += securities =&amp;gt; { foreach (var sec in s...</title>
    <published>2011-07-12T11:30:16Z</published>
    <updated>2011-07-12T11:30:16Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;pre&gt;&lt;code class="language-csharp"&gt;
_trader.Connected += () =&amp;gt;
{

  ...

  _trader.SecuritiesChanged += securities =&amp;gt;
  {
     foreach (var sec in securities) MessageBox.Show(sec.Name);
  };

  ...

};

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Тоже ни разу не вызывается и ничего не передается.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9464/</id>
    <title type="text">Alex Ander: Включил экспорт стакана _trader.RegisterQuotes(_strategy.Security); &amp;gt; &amp;gt; Ничего не измени...</title>
    <published>2011-07-12T09:53:27Z</published>
    <updated>2011-07-12T09:53:27Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9462)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Включил экспорт стакана&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;_trader.RegisterQuotes(_strategy.Security);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 
&amp;gt; Ничего не изменилось, события не вызываются.

ITrader.SecuritiesChanged передает измененный инструмент?
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9462/</id>
    <title type="text">Включил экспорт стакана _trader.RegisterQuotes(_strategy.Security); Ничего не изменилось, события не...</title>
    <published>2011-07-12T09:13:09Z</published>
    <updated>2011-07-12T09:13:09Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Включил экспорт стакана&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
_trader.RegisterQuotes(_strategy.Security);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ничего не изменилось, события не вызываются.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9455/</id>
    <title type="text">Стакан не запущен, но ведь речь идет не про BestBidPriceMore/BestAskPriceMore, а про LastTradePriceM...</title>
    <published>2011-07-11T19:04:52Z</published>
    <updated>2011-07-11T19:04:52Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Стакан не запущен, но ведь речь идет не про BestBidPriceMore/BestAskPriceMore, а про LastTradePriceMore.&lt;/p&gt;
&lt;p&gt;А значение Security.LastTrade.Price меняется синхронно с данными в квике.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9454/</id>
    <title type="text">Наверное не запущен стакан :) </title>
    <published>2011-07-11T18:55:45Z</published>
    <updated>2011-07-11T18:55:45Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Наверное не запущен стакан :)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9453/</id>
    <title type="text">Ни так, ни эдак MyAction не запускается. :( </title>
    <published>2011-07-11T18:38:15Z</published>
    <updated>2011-07-11T18:39:45Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Ни так, ни эдак MyAction не запускается. :(&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9452/</id>
    <title type="text">Alex Ander: Понятно. Тогда пример: Security.LastTrade.Price = 190000 (фьючерс RIU1) Нужно поставить ...</title>
    <published>2011-07-11T18:34:51Z</published>
    <updated>2011-07-11T18:34:51Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9450)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Понятно.&lt;/p&gt;
&lt;p&gt;Тогда пример: Security.LastTrade.Price = 190000 (фьючерс RIU1)
Нужно поставить событие на условие превышения Security.LastTrade.Price уровня 190200.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;        this
            .When(Security.LastTradePriceMore(new Unit(200)))// или 190200?
            .Do(MyAction);
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;
200
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9450/</id>
    <title type="text">Понятно. Тогда пример: Security.LastTrade.Price = 190000 (фьючерс RIU1) Нужно поставить событие на у...</title>
    <published>2011-07-11T18:30:22Z</published>
    <updated>2011-07-11T18:30:22Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Понятно.&lt;/p&gt;
&lt;p&gt;Тогда пример: Security.LastTrade.Price = 190000 (фьючерс RIU1)
Нужно поставить событие на условие превышения Security.LastTrade.Price уровня 190200.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
            this
                .When(Security.LastTradePriceMore(new Unit(200)))// или 190200?
                .Do(MyAction);

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9449/</id>
    <title type="text">В документации http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm есть фрагмент...</title>
    <published>2011-07-11T18:14:20Z</published>
    <updated>2011-07-11T18:14:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В документации &lt;a href="http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm"&gt;http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm&lt;/a&gt; есть фрагмент:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;правило на событие изменения фьючерсного контракта (его цены):&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;this
.When(base.Security.Changed())
.Do(ReHedge);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Это хеджирование опционов. И есть раздел доки для настройки Квика под опционы. В этом случае изменения будут приходить.
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9447/</id>
    <title type="text">В документации http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm есть фрагмент...</title>
    <published>2011-07-11T17:53:21Z</published>
    <updated>2011-07-11T17:53:21Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В документации &lt;a href="http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm"&gt;http://stocksharp.com/doc/html/8c0327db-494a-4fe0-aba8-0d4b93dea60e.htm&lt;/a&gt; есть фрагмент:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;правило на событие изменения фьючерсного контракта (его цены):&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;this
.When(base.Security.Changed())
.Do(ReHedge);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9446/</id>
    <title type="text">Alex Ander: А первое - ни разу не вызвалось. Оно должно вызываться при каждом изменении цены инструм...</title>
    <published>2011-07-11T17:45:11Z</published>
    <updated>2011-07-11T17:45:11Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9445)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
А первое - ни разу не вызвалось. Оно должно вызываться при каждом изменении цены инструмента?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;При каждом изменении инструмента. А вот кода меняется сам инструмент - вопрос. Если Квик - то он никогда не меняется.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9445/</id>
    <title type="text"> this .When(base.Security.Changed()) .Do(OnChanged); this .When(_сandleToken.CandlesFinished()) .Do&amp;gt;...</title>
    <published>2011-07-11T16:39:16Z</published>
    <updated>2011-07-11T16:39:16Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;pre&gt;&lt;code class="language-csharp"&gt;
            this
                .When(base.Security.Changed())
                .Do(OnChanged);

            this
                .When(_сandleToken.CandlesFinished())
                .Do&amp;lt;IEnumerable&amp;lt;Candle&amp;gt;&amp;gt;(OnCandlesFinished);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Второе событие вызывается отлично.
А первое - ни разу не вызвалось. Оно должно вызываться при каждом изменении цены инструмента?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9410/</id>
    <title type="text">Alex Ander: Как передать в метод OnCandlesFinished сформированные свечи? this .When(_candleToken.Can...</title>
    <published>2011-07-10T17:38:25Z</published>
    <updated>2011-07-10T17:38:25Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(9400)" rel="nofollow" target="_blank"&gt;Alex Ander&lt;/a&gt;:&lt;/strong&gt;
Как передать в метод OnCandlesFinished сформированные свечи?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;this
.When(_candleToken.CandlesFinished())
.Do(OnCandlesFinished);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
```csharp

this
    .When(_candleToken.CandlesFinished())
    .Do&amp;lt;IEnumerable&amp;lt;Candles&amp;gt;&amp;gt;(OnCandlesFinished);

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/9400/</id>
    <title type="text">Как передать в метод OnCandlesFinished сформированные свечи? this .When(_candleToken.CandlesFinished...</title>
    <published>2011-07-10T09:24:18Z</published>
    <updated>2011-07-10T09:24:18Z</updated>
    <author>
      <name>Alex Ander</name>
      <uri>https://stocksharp.com/users/710/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Как передать в метод OnCandlesFinished сформированные свечи?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
this
    .When(_candleToken.CandlesFinished())
    .Do(OnCandlesFinished);

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/8911/</id>
    <title type="text">valenock: хотелось бы что-то поэлегатнее, в идеале в духе _candleManager.CandlesFinished() - чтобы с...</title>
    <published>2011-06-14T08:04:45Z</published>
    <updated>2011-06-14T08:04:45Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(8893)" rel="nofollow" target="_blank"&gt;valenock&lt;/a&gt;:&lt;/strong&gt;
хотелось бы что-то поэлегатнее, в идеале в духе _candleManager.CandlesFinished() - чтобы сразу получать список законченных свечек и работать с ними как-то так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;When(_candleToken.NewCandleFinished()).Do(Action(Candle newCandle);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
Хороший фича реквест. В 3.2.1 добавлю.
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/8893/</id>
    <title type="text">Для работы со свечками в ActionStrategy доступны NewCandle(CandleToken) Changed(Candle, ICandleManag...</title>
    <published>2011-06-13T09:44:44Z</published>
    <updated>2011-06-13T09:44:44Z</updated>
    <author>
      <name>valenock</name>
      <uri>https://stocksharp.com/users/167/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Для работы со свечками в ActionStrategy доступны&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NewCandle(CandleToken) 
Changed(Candle, ICandleManager) 
Finished(Candle, ICandleManager)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;А как получить доступ к _candleManager.CandlesFinished() ? т.е. как вызывать Action каждый раз по окончанию свечи ?
Я делаю так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;When(_candleToken.NewCandle()).Do(delegate() 
{ 
     var finishedCandle = _candleManager.GetTimeFrameCandles(Security, _timeFrame, 2).FirstOrDefault(); 
}).MakePeriodical();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Но это явно не джедайский подход, хотелось бы что-то поэлегатнее, в идеале в духе _candleManager.CandlesFinished() - чтобы сразу получать список законченных свечек и работать с ними как-то так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;When(_candleToken.NewCandleFinished()).Do(Action(Candle newCandle); 
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>