﻿<?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">Не работает order.IsMatched()</title>
  <id>~/topic/3307/ne-rabotaet-order_ismatched()/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-16T03:42:30Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3307" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/23621/</id>
    <title type="text">Товарищи! Нельзя ли как-нибудь показатль работающий код? Пытаюсь настроить проверку статуса заявок -...</title>
    <published>2013-01-25T08:47:57Z</published>
    <updated>2013-01-25T08:47:57Z</updated>
    <author>
      <name>zxzzxxzx</name>
      <uri>https://stocksharp.ru/users/16735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Товарищи!&lt;br /&gt;&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.ru/posts/m/23526/</id>
    <title type="text">Повторяю свой ответ. Вы проверяете не в тот момент isMatched. Вы проверяете после того как отправили...</title>
    <published>2013-01-17T16:37:24Z</published>
    <updated>2013-01-17T16:37:24Z</updated>
    <author>
      <name>RoboKrolik</name>
      <uri>https://stocksharp.ru/users/16730/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.ru/posts/m/23500/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Повторяю свой ответ. Вы проверяете не в тот момент isMatched. Вы проверяете после того как отправили, но до того как вам пришёл ответ от биржи.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&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.ru/posts/m/23500/</id>
    <title type="text">Повторяю свой ответ. Вы проверяете не в тот момент isMatched. Вы проверяете после того как отправили...</title>
    <published>2013-01-16T15:45:52Z</published>
    <updated>2013-01-16T15:45:52Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Повторяю свой ответ. Вы проверяете не в тот момент isMatched. Вы проверяете после того как отправили, но до того как вам пришёл ответ от биржи.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23497/</id>
    <title type="text">Посмотрел тот пример - не понимаю как он мне подходит. Дам весь код чтобы было понятно. Мне нужно зн...</title>
    <published>2013-01-16T13:49:56Z</published>
    <updated>2013-01-16T13:49:56Z</updated>
    <author>
      <name>RoboKrolik</name>
      <uri>https://stocksharp.ru/users/16730/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Посмотрел тот пример - не понимаю как он мне подходит.&lt;br /&gt;&lt;br /&gt;Дам весь код чтобы было понятно.&lt;br /&gt;&lt;br /&gt;Мне нужно знать что подправить чтобы получить &lt;b&gt;_order.IsMatched()&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MainWindows.cs&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_d2f34f789c314f58bd21fa4097bfa41c');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_d2f34f789c314f58bd21fa4097bfa41c' style='display:none'&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Configuration;

// using S#
using Ecng.Common;
using Ecng.ComponentModel;
using Ecng.Xaml;
using Ecng.Serialization;
using Ecng.Collections;
using StockSharp.Algo;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Candles.Compression;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Storages;
using StockSharp.BusinessEntities;
using StockSharp.Quik;
using StockSharp.Logging;
using StockSharp.Xaml;



namespace WpfApplication1
{

    public partial class MainWindow : Window
    {

        // Объявление переменных

        private QuikTrader _trader;   // квик трейдер

        private TimeSpan _timeFrame = TimeSpan.FromMinutes(5);  // таймфрейм
        private TimeSpan _timeRefreshStrategy = TimeSpan.FromSeconds(5);  // частота обновления стратегии
        
        int _sharecount; // количество торгуемых контрактов
        private DartWeiderStretegy _strategy; // обявляем стратегию
        
        private Security _security; // инструмент
        private Portfolio _portfolio; // портфель

        private CandleManager _candleManager; // менеджер свечек

        public CandleSeries _series; // поток свечей

        private ChartArea _area; // область графика

        private ChartCandleElement _candlesElem;  // элемент области графика

        readonly DateTime _starttime = new DateTime(2013, 1, 1); // дата начала экспорта свечей для _ candleManager

        readonly DateTime _endtime = DateTime.MaxValue; // дата конца экспорта свечей для _ candleManager

        private const string _historyPath = @&amp;quot;D:\hist\&amp;quot;; // папка где храняться тиковые данные сделок для TimeFrameCandleBuilder

        public const string _quikPath = @&amp;quot;W:\Soft\QUIK-Junior&amp;quot;; // путь к квику
                              

        public MainWindow()
        {
            InitializeComponent();

            this.WindowState = System.Windows.WindowState.Maximized; // разворачиваем главное окно на максимум
            
            _area = new ChartArea(); // cоздание области графика
            _chart.Areas.Add(_area); // и добавление ее в _chart

        }

        // Кнопка &amp;quot;Подключение&amp;quot; - Метод подключения к квику
        private void Connect_Click(object sender, RoutedEventArgs e)
        {
            // если трейдер не подключен
            if (_trader == null)
            {
                // находим автоматом расположение квика
                _trader = new QuikTrader(_quikPath);

                //Подписываемся на событие появления новых портфелей и добавляем их в ComboBox Portfolios
                _trader.NewPortfolios += portfolios =&amp;gt; this.GuiAsync(() =&amp;gt; {Portfolios.ItemsSource = _trader.Portfolios;});

                //Подписываемся на событие появления новых инстументов и добавляем их в ComboBox Securities
                _trader.NewSecurities += securities =&amp;gt; this.GuiAsync(() =&amp;gt; {Securities.ItemsSource = _trader.Securities;});

                // ТУТ НУЖНО ПОДПИСАТЬСЯ НА СОБЫТИЯ ПОЯВЛЕНИЯ НОВЫХ ЗАЯВОК... а КАК?

                // Создание элемента графика представляющего свечки и добавление его в область графика
                _candlesElem = new ChartCandleElement();
                _area.Elements.Add(_candlesElem);

            }
            
            try
            {
                // подключаем квик
                _trader.Connect();
            }
            catch (System.IO.IOException err)
            {
                MessageBox.Show(&amp;quot;Не удается подключиться к квику&amp;quot; + err.Message);
            }

            //Начинаем Экспорт данных
            
            _trader.StartExport(); //получение он-лайн данных из квика Инструменты, Заявки, Портфели и так далее

            _candleManager = new CandleManager(_trader); // создаем менеджер свечек

            var storageRegistry = new StorageRegistry(); // создаем экземпляр класа-источника данных

            ((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = _historyPath; // присваиваем ему по умолчанию путь где хранятся наши тиковые данные

            var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry }; // создаем новый источник данных и присваиваем ему хранилище

            _candleManager.Sources.OfType&amp;lt;TimeFrameCandleBuilder&amp;gt;().Single().Sources.Add(cbs); // добавляем в менеджер свечек наш источник
            
            _candleManager.Processing += DrawCandle; // подписываемся на событие отрисовки свечей
            
        }

        // метод отрисовки свечей
        private void DrawCandle(CandleSeries series, Candle candle)
        {
            if (series == _series)
            {
                this.GuiAsync(() =&amp;gt;
                {
                    _chart.ProcessCandle(_candlesElem, candle);
                });
            }
        }

        // Кнопка &amp;quot;Остановка&amp;quot; - Метод остановки робота
        private void StopRobot_Click(object sender, RoutedEventArgs e)
        {
            // если трейдер подключен
            if (_trader != null)
            {
                if (_trader != null &amp;amp;&amp;amp; _security!=null &amp;amp;&amp;amp; _trader.RegisteredMarketDepths != null) _trader.UnRegisterMarketDepth(_security); // если стакан зарегестиррован - отключаем экспорт со стакана
                if (_strategy != null &amp;amp;&amp;amp; _strategy.ProcessState == ProcessStates.Started) _strategy.Stop(); // если стратегия запущена - останавливаем стратегию
                if (_trader.Orders != null) _trader.CancelOrders(); // если есть активные ордера - отменяем ордера
                _trader.StopExport(); // останавливаем экспорт
                _trader.Dispose(); // освобождение занятых ресурсов
            }
        }

        // Метод на случай закрытия окна робота
        private void ProgramWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            // если трейдер подключен
            if (_trader != null)
            {
                if (_trader != null &amp;amp;&amp;amp; _security != null &amp;amp;&amp;amp; _trader.RegisteredMarketDepths != null) _trader.UnRegisterMarketDepth(_security); // если стакан зарегестирован - отключаем экспорт со стакана
                if (_strategy!=null &amp;amp;&amp;amp; _strategy.ProcessState == ProcessStates.Started) _strategy.Stop(); // если стратегия запущена - останавливаем стратегию
                if (_trader.Orders != null) _trader.CancelOrders(); // если есть активные ордера - отменяем ордера
                _trader.StopExport(); // останавливаем экспорт
                _trader.Dispose(); // освобождение занятых ресурсов
            }
        }

        // Кнопка &amp;quot;Запуск робота&amp;quot; - метод запуск робота
        private void StartRobo_Click(object sender, RoutedEventArgs e)
        {
            // проверяем подключен ли квик трейдер, задан ли портфель, инструмент
            if (_trader == null)
            {
                MessageBox.Show(&amp;quot;Терминал не задан&amp;quot;);
                return;
            }

            if (_trader.Portfolios == null)
            {
                MessageBox.Show(&amp;quot;Портфель не задан&amp;quot;);
                return;
            }

            if (_trader.Securities == null)
            {
                MessageBox.Show(&amp;quot;Инструмент не задан&amp;quot;);
                return;
            }

            // код запуска стратегии
            if (_strategy == null)
            {
                _series = new CandleSeries(typeof(TimeFrameCandle), _security, _timeFrame); // создаем поток свечей и указываем что тип TimeFrameCandle

                _candleManager.Start(_series, _starttime, _endtime);  // запускаем CandleManager
                
                System.Threading.Thread.Sleep(25000); // делаем паузу на 20 сек. перед тем как запустить стратегию - чтобы серия заполнилась свечками               

                _strategy = new DartWeiderStretegy(_candleManager, _timeFrame, _series) // создаем стратегию
                {
                    Volume = _sharecount, // количество контрактов которое мы указали
                    Security = _security,
                    Portfolio = _portfolio,
                    Trader = _trader,
                    Interval = _timeRefreshStrategy // интервал который мы указали
                };
                
                // если стратегия не запущена - запускаем
                if (_strategy.ProcessState == ProcessStates.Stopped)
                {
                    // запускаем процесс получения стакана, необходимый для работы алгоритма котирования
                    _trader.RegisterMarketDepth(_security);
                    
                    _strategy.Start();
                }

            }

        }

        // метод измеенеия инструмента в ComboBox
        private void Securities_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string sec = Convert.ToString(Securities.SelectedItem); // создаем временную текстовую переменную и присваиваем ей название выбраного елемента (напр. RIH3@RTS)
            sec = sec.Replace(&amp;quot;@RTS&amp;quot;, string.Empty); // вырезаем хвост &amp;quot;@RTS&amp;quot; 
            _security = _trader.Securities.First(s =&amp;gt; s.Code == sec &amp;amp;&amp;amp; s.Type == SecurityTypes.Future); // присваеваем переменной _security имя  выбраного инструмента
        }

        // метод измеенеия портфеля в ComboBox
        private void Portfolios_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            _portfolio = _trader.Portfolios.FirstOrDefault(p =&amp;gt; p.Name == Convert.ToString(Portfolios.SelectedItem)); // присваеваем переменной _portfolio имя  выбраного портфеля
        }

        //метод изменения позиции в тектовом поле &amp;quot;Количество контрактов&amp;quot;
        private void PositionSize_TextChanged(object sender, TextChangedEventArgs e)
        {
            try
            {
                _sharecount = Convert.ToInt32(PositionSize.Text); // присваиваем переменной размер позиции указанной в текстовом поле
            }
            catch
            {
            MessageBox.Show(&amp;quot;Неправильный размер позиции&amp;quot;);
            }
        }

    
    }

}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Strategy.cs&lt;/b&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_3c40eb22ecde415f8880ef3257beeb97');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_3c40eb22ecde415f8880ef3257beeb97' style='display:none'&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Configuration;

using StockSharp.Algo;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Candles;
using Ecng.Xaml;
using StockSharp.Quik;
using StockSharp.BusinessEntities;


namespace WpfApplication1
{
    class DartWeiderStretegy : TimeFrameStrategy
    {
     
        // переменные

        public Order _order;   // текущая заявка

        public Order _stopOrder;

        public TimeSpan _timeFrame;  // таймфрейм

        public CandleManager _candleManager; // менеджер свечек

        public CandleSeries _series; // поток свечек

        bool stop = false; // открывать ли новую позицию

        // конструктор для работы стратегии
        public DartWeiderStretegy(CandleManager candleManager, TimeSpan timeFrame, CandleSeries series) : base(timeFrame)
        {
            _candleManager = candleManager;

            _timeFrame = TimeFrame;

            _series = series;

        }

        /// Запуск стратегии

        protected void OnStarting()
        {

            base.OnStarted();
        }

        // Выполнение стратегии
        protected override ProcessResults OnProcess()
        {
          

            #region ситуация для покупки


            if (

                stop == false // если количество открытых позиций &amp;lt; 1

// тут еще несколько условий (код МТС)

                )

            {
                

                // создаем заявку на покупку
                _order = this.CreateOrder(OrderDirections.Buy, _series.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(1).ClosePrice, base.Volume);

                // регистрируем ее

                base.RegisterOrder(_order);

                             
                

                // проверяем выполнение заявки
if (_order.IsMatched() 
{
                  
                //Выставляем стоп-лосс и тейкпрофит через метод
                _stopOrder = this.CreateStopLimitAndTakeProfit(_order.Price);
                    
                 // регистрируем его
                 base.RegisterOrder(_stopOrder);

            }     
                
            }

            #endregion
         

            
            return ProcessResults.Continue;
        }



        // Метод выставления стопа и тейк-профита
        public Order CreateStopLimitAndTakeProfit(decimal openPrice)
        {
            decimal stopPrice = Convert.ToDecimal(openPrice) - 10;
            decimal tpPrice = Convert.ToDecimal(openPrice) + 30;

            return new Order
            {
                Type = OrderTypes.Conditional,
                Volume = base.Volume,
                Price = Convert.ToDecimal(stopPrice-1),
                Security = base.Security,
                Portfolio = base.Portfolio,
                Direction = OrderDirections.Sell,
                StopCondition = new QuikStopCondition
                {
                    Type = QuikStopConditionTypes.LinkedOrder,
                    LinkedOrderPrice = tpPrice,
                    StopPrice = stopPrice,
                },
            };
        }


         
         
    }
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23491/</id>
    <title type="text">Смотрите Sample, там по событию NewMyTrades что-то происходит со сделками. Он у вас корректно работа...</title>
    <published>2013-01-16T10:30:22Z</published>
    <updated>2013-01-16T10:30:22Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Смотрите Sample, там по событию NewMyTrades что-то происходит со сделками. Он у вас корректно работает?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23490/</id>
    <title type="text">Ну просто ничего не могу понять! Я тупой! Вы отправили ордер, а он-то не дошел ещё, биржа ответ не п...</title>
    <published>2013-01-16T10:13:41Z</published>
    <updated>2013-01-16T10:14:47Z</updated>
    <author>
      <name>RoboKrolik</name>
      <uri>https://stocksharp.ru/users/16730/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ну просто ничего не могу понять! Я тупой!&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.ru/posts/m/23439/" 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;Я проверяю заявку уже после того как она в квике зарегистрирована и исполнена...&lt;br /&gt;&lt;br /&gt;В основном классе подписываюсь на события появления новых сделок ордеров итд..&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

                _trader.NewMyTrades += MyNewTrades; //подписываемся на событие получения новых сделок
                _trader.NewOrders += MyNewOrders; //подписываемся на событие получения новых заявок
                _trader.NewStopOrders += MyNewStopOrders; //подписываемся на событие получения новых стоп-заявок
                _trader.OrdersChanged += MyOrdersChanged; // подписываеся на событие изменения ордеров
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Потом описываю методы вот так:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        public void MyNewTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)
        {
            if (_strategy != null)
            {
                // найти те сделки, которые совершила стратегия
                //trades = trades.Where(t =&amp;gt; _strategy.Orders.Any(o =&amp;gt; o == t.Order));

                MessageBox.Show(&amp;quot;hello&amp;quot;);

            }
        }

        private void MyNewOrders(IEnumerable&amp;lt;Order&amp;gt; orders)
        {
            
        }

        private void MyNewStopOrders(IEnumerable&amp;lt;Order&amp;gt; orders)
        {
        }

        private void MyOrdersChanged(IEnumerable&amp;lt;Order&amp;gt; orders)
        {

        }
&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;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

        // конструктор для работы стратегии
        public DartWeiderStretegy(CandleManager candleManager, TimeSpan timeFrame, CandleSeries series) : base(timeFrame)
        {
            _candleManager = candleManager;

            _timeFrame = TimeFrame;

            _series = series;

            base.NewMyTrades += OnNewMyTrades;

        }

        private void OnNewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)
        {
            MessageBox.Show(&amp;quot;hello&amp;quot;);
        }
&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;br /&gt;Хочу получить отчет о состоянии оредера)))</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23461/</id>
    <title type="text">Ну всё правильно. Вы отправили ордер, а он-то не дошёл ещё, биржа ответ не прислала. Смотрите событи...</title>
    <published>2013-01-15T18:10:36Z</published>
    <updated>2013-01-15T18:10:36Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ну всё правильно.&lt;br /&gt;&lt;br /&gt;Вы отправили ордер, а он-то не дошёл ещё, биржа ответ не прислала.&lt;br /&gt;Смотрите события NewOrders \ OrdersChanged \ ...&lt;br /&gt;Смотря что конкретно вам надо.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23452/</id>
    <title type="text">В какой момент проверяете? Проверяю после того как с класса стратегии создал заявку и зарегистрирова...</title>
    <published>2013-01-15T17:23:29Z</published>
    <updated>2013-01-15T17:23:29Z</updated>
    <author>
      <name>RoboKrolik</name>
      <uri>https://stocksharp.ru/users/16730/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.ru/posts/m/23439/" 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;Проверяю после того как с класса стратегии создал заявку и зарегистрировал ее:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

_order = this.CreateOrder(OrderDirections.Buy, _series.GetCandle&amp;lt;TimeFrameCandle&amp;gt;(1).ClosePrice, base.Volume);
base.RegisterOrder(_order);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.ru/posts/m/23439/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Првоерьте свои поля у order в момент проверки IsMatched&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В момент проверки мой Order.States равен NONE - заявка не отправлена в систему. А Order.Balance показывает первоначальное количество контрактов в сделке и не меняется в процессе регистрации и выполнения сделки вообще никак.&lt;br /&gt;&lt;br /&gt;Может быть такое что я не могу получить в класс со стратегией данные о том зарегистрирован ли ордер или нет?&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.ru/posts/m/23439/</id>
    <title type="text">В какой момент проверяете? IsMatched проверяет просто что order.State == OrderStates.Done и order.Ba...</title>
    <published>2013-01-15T16:02:51Z</published>
    <updated>2013-01-15T16:02:51Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">В какой момент проверяете?&lt;br /&gt;&lt;br /&gt;IsMatched проверяет просто что order.State == OrderStates.Done и order.Balance == 0.&lt;br /&gt;Првоерьте свои поля у order в момент проверки IsMatched</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23430/</id>
    <title type="text">Написал каркас для торговой системы по итерационной модели: есть базовый класс и класс стратегии. Со...</title>
    <published>2013-01-15T11:57:39Z</published>
    <updated>2013-01-15T15:03:44Z</updated>
    <author>
      <name>RoboKrolik</name>
      <uri>https://stocksharp.ru/users/16730/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Написал каркас для торговой системы по итерационной модели: есть базовый класс и класс стратегии.&lt;br /&gt;&lt;br /&gt;Создаю заявку на покупку в классе стратегии регистрирую ее - все хорошо.&lt;br /&gt;&lt;br /&gt;Но после этого хочу проверить ордер с помощью &lt;b&gt;order.IsMatched()&lt;/b&gt; -  пишет false &lt;b&gt;постоянно&lt;/b&gt; даже когда стратегия исполняет ордера.&lt;br /&gt;&lt;br /&gt;пробовал &lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
this._order.IsMatched() 
и просто _order.IsMatched() 
и this.Trader.GetPosition(Portfolio,Security,&amp;quot;&amp;quot;).CurrentValue ) 
и просто Trader.GetPosition(Portfolio,Security,&amp;quot;&amp;quot;).CurrentValue )&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; и ничего!&lt;br /&gt;&lt;br /&gt;Конструктор стратегии с класса стратегии:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
    
        public DartWeiderStretegy(CandleManager candleManager, TimeSpan timeFrame, CandleSeries series) : base(timeFrame)
        {
            _candleManager = candleManager;

            _timeFrame = TimeFrame;

            _series = series;

        }&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;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
                _series = new CandleSeries(typeof(TimeFrameCandle), _security, _timeFrame); // создаем поток свечей и указываем что тип TimeFrameCandle

                _candleManager.Start(_series, _starttime, _endtime);  // запускаем CandleManager
                
                System.Threading.Thread.Sleep(20000); // делаем паузу на 20 сек. перед тем как запустить стратегию - чтобы серия заполнилась свечками               

                _strategy = new DartWeiderStretegy(_candleManager, _timeFrame, _series) // создаем стратегию
                {
                    Volume = _sharecount, // количество контрактов которое мы указали
                    Security = _security,
                    Portfolio = _portfolio,
                    Trader = _trader,
                    Interval = _timeRefreshStrategy // интервал который мы указали
                };&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>