﻿<?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">2.6 ActionStrategyConditionHelper работает ?</title>
  <id>~/topic/1254/2_6-actionstrategyconditionhelper-rabotaet-/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-08T07:45:28Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1254" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/4802/</id>
    <title type="text">ustas: Mikhail Sukhov: Посмотрите в обработчике, что выдает token.Manager.GetCurrentTimeFrameCandle(...</title>
    <published>2010-11-30T16:01:03Z</published>
    <updated>2016-08-16T02:32:59Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
Посмотрите в обработчике, что выдает token.Manager.GetCurrentTimeFrameCandle(token.Security, timeFrame); и чему у такой свечки равен TotalVolume.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;а вот token.Manager.GetCurrentTimeFrameCandle(token.Security, timeFrame); выдаёт  всё врема &lt;strong&gt;null&lt;/strong&gt; почему то :(
хотя свечки рисуются, правда рисую я их по &lt;em&gt;candles&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;В 2.5.2 работало 100 пудов, я ничего не менял :)&lt;/p&gt;
&lt;p&gt;Вы вот &lt;a href="http://stocksharp.com/posts/m/4704/"&gt;тут&lt;/a&gt; что то правили, не могли задеть?&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ITrader.MarketTime все корректно возвращает? Если копнуть еще поглубже, CandleManager.GetTimeFrameCandle для необходимо времени так же null возвращает?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4801/</id>
    <title type="text">Mikhail Sukhov: Посмотрите в обработчике, что выдает token.Manager.GetCurrentTimeFrameCandle(token.S...</title>
    <published>2010-11-30T15:24:25Z</published>
    <updated>2016-08-16T02:32:59Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
Посмотрите в обработчике, что выдает token.Manager.GetCurrentTimeFrameCandle(token.Security, timeFrame); и чему у такой свечки равен TotalVolume.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;а вот token.Manager.GetCurrentTimeFrameCandle(token.Security, timeFrame); выдаёт  всё врема &lt;strong&gt;null&lt;/strong&gt; почему то :(
хотя свечки рисуются, правда рисую я их по &lt;em&gt;candles&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;В 2.5.2 работало 100 пудов, я ничего не менял :)&lt;/p&gt;
&lt;p&gt;Вы вот &lt;a href="http://stocksharp.com/posts/m/4704/"&gt;тут&lt;/a&gt; что то правили, не могли задеть?&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4926/</id>
    <title type="text">ustas: Вы добавили фильтрацию по TargetOrder. Отлично! Но в конце base.ChildStrategies.Add(batch); б...</title>
    <published>2010-12-07T07:30:55Z</published>
    <updated>2010-12-07T07:30:55Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;
Вы добавили фильтрацию по TargetOrder. Отлично! Но в конце&lt;/p&gt;
&lt;p&gt;base.ChildStrategies.Add(batch);&lt;/p&gt;
&lt;p&gt;будет выполняться всегда независимо от от того создалась дочерняя стратегия по или нет. И  может возникнуть ошибка что &amp;quot;дочерняя стратегия не найдена&amp;quot;.&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Да, надо поставить проверку:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// если не найдена ни одна сделка для заявки TargetOrder
if (trades.Count() == 0)
	return;
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4910/</id>
    <title type="text">Mikhail Sukhov: [ Ошибку нашел. К след. неделе выложу фикс 2.6.1. Супер! Фикс 2.6.1 работает подтвер...</title>
    <published>2010-12-06T11:25:39Z</published>
    <updated>2010-12-06T12:57:49Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
[
Ошибку нашел. К след. неделе выложу фикс 2.6.1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Супер! Фикс 2.6.1 работает подтверждаю. :)  Спасибо!&lt;/p&gt;
&lt;p&gt;Единственно небольшая помарочка. В документации в том же примере &amp;quot;Тейк-профит и стоп-лосс &amp;quot;.&lt;/p&gt;
&lt;p&gt;Вы добавили фильтрацию по TargetOrder. Отлично! Но в конце&lt;/p&gt;
&lt;p&gt;base.ChildStrategies.Add(batch);&lt;/p&gt;
&lt;p&gt;будет выполняться всегда независимо от от того создалась дочерняя стратегия по или нет. И  может возникнуть ошибка что &amp;quot;дочерняя стратегия не найдена&amp;quot;.&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4863/</id>
    <title type="text">ustas: Жду решения! Спасибо и с уважением! Ошибку нашел. К след. неделе выложу фикс 2.6.1. </title>
    <published>2010-12-03T10:23:48Z</published>
    <updated>2010-12-03T10:23:48Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;
Жду решения!&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ошибку нашел. К след. неделе выложу фикс 2.6.1.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4861/</id>
    <title type="text">Mikhail Sukhov: Надо писать: var tfToken = _candleManager.RegisterTimeFrameCandles(_sec, _timeFrame)...</title>
    <published>2010-12-02T21:57:00Z</published>
    <updated>2010-12-02T21:57:00Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
Надо писать:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;var tfToken = _candleManager.RegisterTimeFrameCandles(_sec, _timeFrame);&lt;/p&gt;
&lt;p&gt;// или по вашему ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(tfToken, 1);
ctv = tfToken.CurrentCandleTotalVolumeMore(1);&lt;/p&gt;
&lt;p&gt;_candleManager.CandlesChanged += (token, candles) =&amp;gt;
{
// Console(ctv());
DrawCandles(candles);
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
О! Спасибо! Об этом тоже хотел спросить меняется ли ActionStrategyConditionHelper динамически.  Как до этого догадаться  самому не знал.
Условия думал не плодятся, так как переменная статическая.  Делал присваивание при каждом изменении типа для уверенности. :)  

Жду решения!

Спасибо и с уважением!  
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4857/</id>
    <title type="text">ustas: Mikhail Sukhov: У меня по тестам свечка выдается. Попробуйте все таки точно определить, то ли...</title>
    <published>2010-12-02T19:24:15Z</published>
    <updated>2010-12-02T19:24:15Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
У меня по тестам свечка выдается. Попробуйте все таки точно определить, то ли время передается в CandleManager  и есть ли на тот момент свечка (получив их через GetTimeFrameCandles и сравнив, имеет ли необходимая среди нет).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;А у меня нет :(&lt;/p&gt;
&lt;p&gt;Ну вот полностью код примера c выводом&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Две новости, хорошая и плохая. Плохая - пока не знаю почему код не так работает. Хорошая, нашел в Вашем коде ошибку[biggrin] Вы создаете просто нереальное количество условий. Создавайте один раз. Вместо:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;_candleManager.RegisterTimeFrameCandles(_sec, _timeFrame);

_candleManager.CandlesChanged += (token, candles) =&amp;gt;
{
      ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1);                        
      DrawCandles(candles);
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Надо писать:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var tfToken = _candleManager.RegisterTimeFrameCandles(_sec, _timeFrame);

// или по вашему ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(tfToken, 1);
ctv = tfToken.CurrentCandleTotalVolumeMore(1);

_candleManager.CandlesChanged += (token, candles) =&amp;gt;
{
      // Console(ctv());
      DrawCandles(candles);
};
&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4853/</id>
    <title type="text">Вообщем жду резолюции. Видно что на 2.5.2 работало иначе. А тем временем, пока роботы курят ... (не ...</title>
    <published>2010-12-02T16:29:23Z</published>
    <updated>2010-12-02T16:29:49Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Вообщем жду резолюции. Видно что на 2.5.2 работало  иначе.&lt;/p&gt;
&lt;p&gt;А тем временем, пока роботы курят ... (не из-за новой версии, можно продолжать работать на 2.5.2, а просто курят)&lt;br /&gt;
РОССИЯ 2018!
Ура!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4846/</id>
    <title type="text">Mikhail Sukhov: У меня по тестам свечка выдается. Попробуйте все таки точно определить, то ли время ...</title>
    <published>2010-12-02T14:39:56Z</published>
    <updated>2010-12-02T14:53:15Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
У меня по тестам свечка выдается. Попробуйте все таки точно определить, то ли время передается в CandleManager  и есть ли на тот момент свечка (получив их через GetTimeFrameCandles и сравнив, имеет ли необходимая среди нет).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;А у меня нет :(&lt;/p&gt;
&lt;p&gt;Ну вот полностью код примера c выводом&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;namespace testHelper
{
    using System;
    using System.Linq;
    using System.Threading;
    using System.Collections.Generic;
    using System.ComponentModel;

    using Ecng.Trading.Algo;
    using Ecng.Trading.Algo.Candles;
    using Ecng.Trading.Algo.Strategies;
    using Ecng.Trading.Algo.Logging;
    using Ecng.Trading.BusinessEntities;
    using Ecng.Trading.Quik;
    using Ecng.Interop;
    using Ecng.Data;
    using Ecng.Common;
    using Ecng.ComponentModel;



    public class Program
    {
        private static Portfolio _port;
        private static Security _sec;
        private static QuikTrader _trader;
        private static Func&amp;lt;bool&amp;gt; ctv;
        private static CandleManager _candleManager;
        private static readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(1.0 / 6.0);

 
        static void Main()
        {

            using (var waitHandle = new ManualResetEvent(false))
            {

                _trader = new QuikTrader();
                _trader.Connect();

                _trader.NewPortfolios += portfolios =&amp;gt;
                {
                    if (_port == null)
                    {
                        _port = portfolios.FirstOrDefault();

                        if (_port != null)
                        {
                            Console.WriteLine(&amp;quot;Портфель {0} появился.&amp;quot;, _port.Name);
                            waitHandle.Set();
                        }
                    }
                };

       
                _trader.NewSecurities += securities =&amp;gt;
                {
                    if (_sec == null)
                    {
                        _sec = securities.FirstOrDefault(sec =&amp;gt; sec.Code == &amp;quot;SRZ0&amp;quot;);
                        if (_sec != null)
                        {
                            Console.WriteLine(_sec.Code + &amp;quot; появился&amp;quot;);
                            waitHandle.Set();

                        }
                    }
                };

                

                waitHandle.WaitOne();

                _trader.IsAsyncMode = true;
                _trader.Terminal.StartDde(new[] { _trader.SecuritiesTable, _trader.TradesTable });


                _trader.Connected += () =&amp;gt;
                {

                    Console.WriteLine(&amp;quot;Connected&amp;quot;);
                    waitHandle.Set();


                };

                if (_sec != null)
                {
                    _candleManager = new CandleManager(_trader);
                    _candleManager.RegisterTimeFrameCandles(_sec, _timeFrame);


                    _candleManager.NewCandles += (token, candles) =&amp;gt;
                    {

                        var _nextTime = _timeFrame.GetCandleBounds(_trader).Max;
                        var candle = _candleManager.GetTimeFrameCandle(_sec, _timeFrame, _nextTime - _timeFrame);
                        ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1);

                        if (candle != null)
                        {
                            ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token,1);
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine(&amp;quot;new candle time:{0} TotalVolume:{1} ctv:{2}&amp;quot;,candle.Time, candle.TotalVolume, ctv());
                            Console.ForegroundColor = ConsoleColor.Gray;
                        }
                  
                        DrawCandles(candles);
                    };


                    _candleManager.CandlesChanged += (token, candles) =&amp;gt;
                    {
                        //   _strat.Dispose();
                        ctv = ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1);                        
                        DrawCandles(candles);
                    };
                }
     

                waitHandle.WaitOne();

           

                Console.WriteLine(&amp;quot;Чтобы закончить, нажмите любую кнопку...&amp;quot;);
                Console.Read();

            }

        }

        private static void DrawCandles(IEnumerable&amp;lt;Candle&amp;gt; candles)
        {
            foreach (var candle in candles)
            {
                if (_trader != null &amp;amp;&amp;amp; candle.Time &amp;gt;= _timeFrame.GetCandleBounds(_trader).Min)
                {
                    string str = _trader.MarketTime + &amp;quot;? &amp;quot; + ctv() + &amp;quot; &amp;quot; + candle.Security.Code + &amp;quot; &amp;quot; + candle.Time.TimeOfDay + &amp;quot; &amp;quot;
                        + _trader.MarketTime.TimeOfDay + &amp;quot; &amp;quot; + candle.ClosePrice + &amp;quot; &amp;quot; + candle.TotalVolume
                        ;
                    Console.WriteLine(str);
                }
            }
        }



    }
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;вывод&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Портфель ..... появился.
SRZ0 появился
Чтобы закончить, нажмите любую кнопку...
new candle time:02.12.2010 17:31:00 TotalVolume:238 ctv:&lt;mark&gt;False
&lt;/mark&gt;02.12.2010 17:31:08? &lt;mark&gt;False &lt;/mark&gt;SRZ0 17:31:00 17:31:08.0237782 10273 238
02.12.2010 17:31:08? False SRZ0 17:31:00 17:31:08.3317958 10275 261
02.12.2010 17:31:08? False SRZ0 17:31:00 17:31:08.6288128 10275 311
new candle time:02.12.2010 17:31:10 TotalVolume:86 ctv:False
02.12.2010 17:31:10? False SRZ0 17:31:10 17:31:10.8129377 10275 86
02.12.2010 17:31:12? False SRZ0 17:31:10 17:31:12.3740270 10275 146
02.12.2010 17:31:12? False SRZ0 17:31:10 17:31:12.6860449 10279 222
02.12.2010 17:31:13? False SRZ0 17:31:10 17:31:13.3090805 10274 292
02.12.2010 17:31:13? False SRZ0 17:31:10 17:31:13.6220984 10275 293
02.12.2010 17:31:15? False SRZ0 17:31:10 17:31:15.1811876 10275 301
02.12.2010 17:31:15? False SRZ0 17:31:10 17:31:15.4932054 10273 313
02.12.2010 17:31:16? False SRZ0 17:31:10 17:31:16.1172411 10275 314
02.12.2010 17:31:16? False SRZ0 17:31:10 17:31:16.7412768 10276 317
02.12.2010 17:31:19? False SRZ0 17:31:10 17:31:19.2364195 10277 318
new candle time:02.12.2010 17:31:20 TotalVolume:13 ctv:False
02.12.2010 17:31:20? False SRZ0 17:31:20 17:31:20.1734731 10276 13
02.12.2010 17:31:21? False SRZ0 17:31:20 17:31:21.1115268 10276 16
02.12.2010 17:31:21? False SRZ0 17:31:20 17:31:21.7375626 10275 20
02.12.2010 17:31:22? False SRZ0 17:31:20 17:31:22.6776164 10276 32
02.12.2010 17:31:23? False SRZ0 17:31:20 17:31:23.6056694 10276 44
02.12.2010 17:31:24? False SRZ0 17:31:20 17:31:24.5407229 10276 49
02.12.2010 17:31:25? False SRZ0 17:31:20 17:31:25.7947947 10276 52
new candle time:02.12.2010 17:31:30 TotalVolume:113 ctv:False
02.12.2010 17:31:30? False SRZ0 17:31:30 17:31:30.1570442 10278 113
02.12.2010 17:31:30? False SRZ0 17:31:30 17:31:30.4770625 10276 122
02.12.2010 17:31:30? False SRZ0 17:31:30 17:31:30.7930805 10276 126
02.12.2010 17:31:31? False SRZ0 17:31:30 17:31:31.4191163 10276 128
02.12.2010 17:31:31? False SRZ0 17:31:30 17:31:31.7171334 10277 131
02.12.2010 17:31:32? False SRZ0 17:31:30 17:31:32.3411691 10279 139
02.12.2010 17:31:32? False SRZ0 17:31:30 17:31:32.9672049 10278 140
02.12.2010 17:31:33? False SRZ0 17:31:30 17:31:33.2772226 10277 143
02.12.2010 17:31:33? False SRZ0 17:31:30 17:31:33.5892405 10277 146
02.12.2010 17:31:34? False SRZ0 17:31:30 17:31:34.2122761 10280 363
02.12.2010 17:31:34? False SRZ0 17:31:30 17:31:34.5252940 10282 749
02.12.2010 17:31:34? False SRZ0 17:31:30 17:31:34.8363118 10284 755
02.12.2010 17:31:35? False SRZ0 17:31:30 17:31:35.1483296 10281 758
02.12.2010 17:31:35? False SRZ0 17:31:30 17:31:35.4783485 10280 777
02.12.2010 17:31:36? False SRZ0 17:31:30 17:31:36.7114191 10279 784
02.12.2010 17:31:37? False SRZ0 17:31:30 17:31:37.0234369 10279 792
02.12.2010 17:31:38? False SRZ0 17:31:30 17:31:38.5825261 10278 952
new candle time:02.12.2010 17:31:40 TotalVolume:135 ctv:False
02.12.2010 17:31:40? False SRZ0 17:31:40 17:31:40.1446154 10281 135
02.12.2010 17:31:40? False SRZ0 17:31:40 17:31:40.4646337 10281 339
02.12.2010 17:31:42? False SRZ0 17:31:40 17:31:42.0157224 10282 343
02.12.2010 17:31:42? False SRZ0 17:31:40 17:31:42.9687770 10283 344
02.12.2010 17:31:45? False SRZ0 17:31:40 17:31:45.4449186 10281 346
02.12.2010 17:31:46? False SRZ0 17:31:40 17:31:46.0709544 10280 372
02.12.2010 17:31:48? False SRZ0 17:31:40 17:31:48.5650970 10279 382&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Видим что Helper всё время  false
Что же я всё таки делаю не так? В 2.5.2 это работало&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
&lt;p&gt;(Update)
только что собрал этот же пример не поменяв ни строчки на 2.5.2
вот вывод&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Портфель ...... появился.
SRZ0 появился
Чтобы закончить, нажмите любую кнопку...
new candle time:02.12.2010 17:46:10 TotalVolume:4 ctv:&lt;mark&gt;True
&lt;/mark&gt;02.12.2010 17:46:12? &lt;mark&gt;True &lt;/mark&gt;SRZ0 17:46:10 17:46:12.0266640 10315 4
02.12.2010 17:46:14? True SRZ0 17:46:10 17:46:14.1737868 10316 16
new candle time:02.12.2010 17:46:20 TotalVolume:251 ctv:True
02.12.2010 17:46:21? True SRZ0 17:46:20 17:46:21.9742329 10316 251
02.12.2010 17:46:23? True SRZ0 17:46:20 17:46:23.5333221 10320 281
new candle time:02.12.2010 17:46:30 TotalVolume:32 ctv:True
02.12.2010 17:46:30? True SRZ0 17:46:30 17:46:30.3977147 10316 32
02.12.2010 17:46:31? True SRZ0 17:46:30 17:46:31.6497863 10317 39
02.12.2010 17:46:35? True SRZ0 17:46:30 17:46:35.0769824 10316 40
02.12.2010 17:46:38? True SRZ0 17:46:30 17:46:38.1981609 10315 55
02.12.2010 17:46:39? True SRZ0 17:46:30 17:46:39.1352145 10313 193
new candle time:02.12.2010 17:46:30 TotalVolume:193 ctv:True
02.12.2010 17:46:39? True SRZ0 17:46:40 17:46:39.7612503 10312 1
02.12.2010 17:46:40? True SRZ0 17:46:40 17:46:40.3812858 10314 21&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4828/</id>
    <title type="text">ustas: Mikhail Sukhov: А свечки то вообще формируются? NewCandles CandlesChanged? ну да, как я говор...</title>
    <published>2010-12-02T11:43:57Z</published>
    <updated>2010-12-02T11:43:57Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
А свечки то вообще формируются? NewCandles CandlesChanged?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ну да, как я говорил,  я же их рисую в DrawCandles по &lt;em&gt;candles&lt;/em&gt;из событий NewCandles  и CandlesChanged&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;У меня по тестам свечка выдается. Попробуйте все таки точно определить, то ли время передается в CandleManager  и есть ли на тот момент свечка (получив их через GetTimeFrameCandles и сравнив, имеет ли необходимая среди нет).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4823/</id>
    <title type="text">Mikhail Sukhov: А свечки то вообще формируются? NewCandles CandlesChanged? ну да, как я говорил, я ж...</title>
    <published>2010-12-01T16:21:54Z</published>
    <updated>2010-12-01T16:21:54Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
А свечки то вообще формируются? NewCandles CandlesChanged?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ну да, как я говорил,  я же их рисую в DrawCandles по &lt;em&gt;candles&lt;/em&gt;из событий NewCandles  и CandlesChanged&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4820/</id>
    <title type="text">ustas: Mikhail Sukhov: ITrader.MarketTime все корректно возвращает? Если копнуть еще поглубже, Candl...</title>
    <published>2010-12-01T15:31:02Z</published>
    <updated>2010-12-01T15:31:02Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
ITrader.MarketTime все корректно возвращает? Если копнуть еще поглубже, CandleManager.GetTimeFrameCandle для необходимо времени так же null возвращает?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Извиняюсь за паузу. Отъезжал.
Да ITrader.MarketTime - верный , а вот   CandleManager.GetTimeFrameCandle всё время даёт null :(&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;А свечки то вообще формируются? NewCandles CandlesChanged?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4815/</id>
    <title type="text">Mikhail Sukhov: ITrader.MarketTime все корректно возвращает? Если копнуть еще поглубже, CandleManage...</title>
    <published>2010-12-01T13:34:03Z</published>
    <updated>2010-12-01T13:34:03Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
ITrader.MarketTime все корректно возвращает? Если копнуть еще поглубже, CandleManager.GetTimeFrameCandle для необходимо времени так же null возвращает?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Извиняюсь за паузу. Отъезжал.
Да ITrader.MarketTime - верный , а вот   CandleManager.GetTimeFrameCandle всё время даёт null :(&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4794/</id>
    <title type="text">ustas: Mikhail Sukhov: Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged. ...</title>
    <published>2010-11-30T14:33:14Z</published>
    <updated>2010-11-30T14:33:35Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ustas:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged.
да свечка меняется , я её вывожу там же в DrawCandles.  (как я уже написал  &amp;quot;при этом данные по свечкам ок&amp;quot;)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;Посмотрите в обработчике, что выдает token.Manager.GetCurrentTimeFrameCandle(token.Security, timeFrame); и чему у такой свечки равен TotalVolume.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4793/</id>
    <title type="text">Mikhail Sukhov: Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged. да свеч...</title>
    <published>2010-11-30T14:24:16Z</published>
    <updated>2010-11-30T14:24:16Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged.
да свечка меняется , я её вывожу там же в DrawCandles.  (как я уже написал  &amp;quot;при этом данные по свечкам ок&amp;quot;)
&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;
Кстати, ctv= ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1); -&amp;gt; или короче, ctv= token.CurrentCandleTotalVolumeMore(1); Почитайте про extension methods в C#
Спасибо.
&lt;strong&gt;Mikhail Sukhov:&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;а. using Ecng.Collections; (те же extension methods). Да, trades. Опечатка. _takeProfit - это делегаты. Тело обычное - new TakeProfitStrategy(trades, new Unit());
Понятно, спасибо.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4790/</id>
    <title type="text">Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged. Кстати, ctv= ActionStra...</title>
    <published>2010-11-30T13:47:16Z</published>
    <updated>2010-11-30T13:47:16Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;ol&gt;
&lt;li&gt;Посмотрите, изменяется ли текущая свечка через CandleManager.CandlesChanged. Кстати, ctv= ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1); -&amp;gt; или короче, ctv= token.CurrentCandleTotalVolumeMore(1); Почитайте про extension methods в C#&lt;/li&gt;
&lt;li&gt;а. using Ecng.Collections; (те же extension methods). Да, trades. Опечатка. _takeProfit - это делегаты. Тело обычное - new TakeProfitStrategy(trades, new Unit());&lt;/li&gt;
&lt;li&gt;б. Хм, логично. Надо проверять.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/4786/</id>
    <title type="text">Приветствую уважаемых Михаила и всех коллег. После перехода на 2.6 у меня перестало срабатывать Acti...</title>
    <published>2010-11-30T10:01:02Z</published>
    <updated>2010-11-30T11:10:46Z</updated>
    <author>
      <name>ustas</name>
      <uri>https://stocksharp.ru/users/27611/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Приветствую уважаемых Михаила и всех коллег.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;После перехода на 2.6 у меня перестало срабатывать  ActionStrategyConditionHelper например CurrentCandleTotalVolumeMore
в 2.5.2 работало. Или у меня одного так и больше никто ничего подобного не заметил?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Делаю так&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; public static Func&amp;lt;bool&amp;gt; ctv;
...
 _candleManager.CandlesChanged += (token, candles) =&amp;gt;
                            {
                                ctv= ActionStrategyConditionHelper.CurrentCandleTotalVolumeMore(token, 1);                                                               
                                DrawCandles(candles);
                            };

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;В DrawCandles вывожу ctv(), которое всегда false , при этом данные по свечкам ок&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Пример в документации &amp;quot;Тейк профит и стоп лосс&amp;quot;  пункт 2.
а)  не компилируется предложение&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;
batch.ChildStrategies.AddRange(trades.Select
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;AddRange не определён в ChildStrategies и непонятно откуда тут берётся trades или должно быть myTrades ?&lt;/p&gt;
&lt;p&gt;и хотелось бы увидеть пример _takeProfit(t); и _stopLoss(t);&lt;/p&gt;
&lt;p&gt;б) И еще последний вопрос про логику обработки  NewMyTrades в этом же примере. Когда сработают защитные заявки разве не произойдет опять же событие NewMyTrades и выставятся  защитные заявки на защитные же.&lt;/p&gt;
&lt;p&gt;Спасибо и с уважением!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>