﻿<?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">Не работает размещение ордеров по исполнению</title>
  <id>~/topic/3327/ne-rabotaet-razmeshshenie-orderov-po-ispolneniyu/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-01T12:25:18Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3327" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/24269/</id>
    <title type="text">Решение (локальное) Работает Оно неправильно, но спасибо за наводку. Поправим. </title>
    <published>2013-02-26T22:00:20Z</published>
    <updated>2013-02-26T22:00:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;VassilSanych &lt;a href="https://stocksharp.com/posts/m/24257/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Решение (локальное)&lt;br /&gt;Работает&lt;/div&gt;&lt;/div&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.com/posts/m/24257/</id>
    <title type="text">Решение (локальное) TransactionHelper.cs if (condition.ActiveTime != null) { transaction .SetIsActiv...</title>
    <published>2013-02-26T15:11:05Z</published>
    <updated>2013-02-26T15:11:05Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.com/users/6491/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Решение (локальное)&lt;br /&gt;TransactionHelper.cs&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
							if (condition.ActiveTime != null)
							{
								transaction
									.SetIsActiveInTime(true)
									.SetActiveFrom(condition.ActiveTime.Min)
									.SetActiveTo(condition.ActiveTime.Max);
							}
							else
								transaction.RemoveInstruction(Transaction.IsActiveInTime);
								//transaction.SetIsActiveInTime(false);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Работает</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/24246/</id>
    <title type="text">Такая же беда для нынешних библиотек из исходников: 2013/02/26 17:21:37.219| |SS_RIH3@RTS_SPBFUT0006...</title>
    <published>2013-02-26T13:49:11Z</published>
    <updated>2013-02-26T13:49:11Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.com/users/6491/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Такая же беда для нынешних библиотек из исходников:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:plain"&gt;
2013/02/26 17:21:37.219|       |SS_RIH3@RTS_SPBFUT00066|Регистрация новой Conditional (0x267FA0) заявки на Buy с ценой 152400 и объемом 1. 
2013/02/26 17:21:37.263|Error  |QuikManager|Ошибка регистрации заявки: StockSharp.Quik.ApiException: Код ошибки Failed Сообщение  Параметр &amp;quot;IS_ACTIVE_IN_TIME&amp;quot; для транзакции &amp;quot;Стоп-заявка&amp;quot; типа &amp;quot;ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER&amp;quot; не поддерживается.

2013/02/26 17:21:37.264|       |StrategyManager|Status:Started, PnL:0, Slippage:0, Position:0, Latency:00:00:00.5006902, ErrorState
2013/02/26 17:21:37.264|Error  |SS_RIH3@RTS_SPBFUT00066|Заявка 62088285 (0x267FA0) не была принята по причине StockSharp.Quik.ApiException: Код ошибки Failed Сообщение  Параметр &amp;quot;IS_ACTIVE_IN_TIME&amp;quot; для транзакции &amp;quot;Стоп-заявка&amp;quot; типа &amp;quot;ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER&amp;quot; не поддерживается.
.
2013/02/26 17:21:37.267|       |SS_RIH3@RTS_SPBFUT00066|Заявка 62088285 больше не активна.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Метод вызова&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_2480e94dfe424b5b91010a3fc2a5a97a');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_2480e94dfe424b5b91010a3fc2a5a97a' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
var takeProfitOrder = OrderHelper.CreateConditionTakeProfitAndStopLimit(
				ruleOrder, 
				ruleOrder.Price + (ruleOrder.Direction == OrderDirections.Buy ? 100 : -100),
				ruleOrder.Price - (ruleOrder.Direction == OrderDirections.Buy ? 100 : -100), 
				20, 
				10);
			RegisterOrder(takeProfitOrder);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
		public Order CreateTakeProfitAndStopLimit(
			Security security,
			OrderDirections direction,
			decimal quantity,
			decimal stopPrice,
			decimal stopLimitPrice,
			decimal offset,
			decimal spread)
		{
			var price = direction == OrderDirections.Buy
										? stopPrice - spread - offset
										: stopPrice + spread + offset;
			return new Order
			{
				Type = OrderTypes.Conditional,
				Volume = quantity,
				Security = security,
				Direction = direction,
				Price = price,
				//ExpiryDate = ExpirationDate.Value,
				Condition = new QuikOrderCondition
				{
					Type = QuikOrderConditionTypes.TakeProfitStopLimit,
					StopPrice = stopPrice,
					StopLimitPrice = stopLimitPrice,
					Offset = offset,
					Spread = spread,
					ActiveTime = null,
				},
			};
		}&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;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
		public Order CreateConditionTakeProfitAndStopLimit(
			Order conditionOrder,
			decimal stopPrice,
			decimal stopLimitPrice,
			decimal offset,
			decimal spread)
		{
			var stopLimit = CreateTakeProfitAndStopLimit(
				conditionOrder.Security,
				conditionOrder.Direction == OrderDirections.Buy ? OrderDirections.Sell : OrderDirections.Buy,
				conditionOrder.Volume,
				stopPrice,
				stopLimitPrice,
				offset,
				spread);
			var condition = (QuikOrderCondition)stopLimit.Condition;
			condition.ConditionOrder = conditionOrder;
			condition.ConditionOrderPartiallyMatched = true; // PartiallyMatched.IsChecked;
			condition.ConditionOrderUseMatchedBalance = true;// UseMatchedBalance.IsChecked;
			return stopLimit;
		}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ActiveTime = null должно устанавливать Transaction.SetActiveInTime(false). Но похоже, каким-то образом этого не происходит или сам этот механизм работает не правильно.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23648/</id>
    <title type="text">1. На 4.1.7 воспроизводиться? 2. Можно ли проблему воспроизвести на Sample и что именно нужно сделат...</title>
    <published>2013-01-28T21:17:50Z</published>
    <updated>2013-01-28T21:17:50Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">1. На 4.1.7 воспроизводиться?&lt;br /&gt;2. Можно ли проблему воспроизвести на Sample и что именно нужно сделать в этом примере (какие параметры к заполнению были переданы для стоп-заявки)?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/23638/</id>
    <title type="text">Добрый день, Пытаюсь создать тейк профит и стоп лосс по исполнению заявки и получаю следующую ошибку...</title>
    <published>2013-01-28T14:56:03Z</published>
    <updated>2013-01-28T14:56:03Z</updated>
    <author>
      <name>Ilushka</name>
      <uri>https://stocksharp.com/users/6370/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Добрый день,&lt;br /&gt;&lt;br /&gt;Пытаюсь создать тейк профит и стоп лосс по исполнению заявки и получаю следующую ошибку в сообщениях&lt;br /&gt;&lt;br /&gt;&amp;quot;{ Параметр \&amp;quot;IS_ACTIVE_IN_TIME\&amp;quot; для транзакции \&amp;quot;Стоп-заявка\&amp;quot; типа \&amp;quot;ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER\&amp;quot; не поддерживается.\n,Код ошибки Failed Сообщение  Параметр \&amp;quot;IS_ACTIVE_IN_TIME\&amp;quot; для транзакции \&amp;quot;Стоп-заявка\&amp;quot; типа \&amp;quot;ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMIT_ORDER\&amp;quot; не поддерживается.\n}&amp;quot;&lt;br /&gt;&lt;br /&gt;При этом, выставление и обнуление ActiveTime результата не приносит. Создание заявки взято из примеров. Квик 6.02.0.39, S# 4.1.6&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

private Order CreateTakeProfitAndStopLimit(Portfolio portfolio, Security security, int quantity, decimal stopLossActivationPrice, decimal stopLossExecutionPrice, decimal takeProfitPrice)
        {
            return new Order
            {
                Type = OrderTypes.Conditional,
                Volume = quantity,
                Price = stopLossExecutionPrice,
                Security = security,
                //ExpiryDate = null,
                Portfolio = portfolio,
                ExpiryDate = DateTime.MaxValue,
                StopCondition = new QuikStopCondition
                {
                    Type = QuikStopConditionTypes.TakeProfitStopLimit,
                    StopPrice = takeProfitPrice,
                    StopLimitPrice = stopLossActivationPrice,
                    Offset = new Unit(0),
                    Spread = new Unit(0),
                    ActiveTime = null,
                },
            };
        }
&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;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

                var stopLimit = CreateTakeProfitAndStopLimit(portfolio, FindSecurityByCode(instr.Symbol), quantity, stopLossActivationPrice, stopLossExecutionPrice, takeProfitPrice);
                var condition = (QuikStopCondition)stopLimit.StopCondition;


                m_trader.RegisterOrder(order);
                Thread.Sleep(5 * 1000);
                condition.ConditionOrder = order;
                m_trader.RegisterOrder(stopLimit);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Это тестовый пример и конечно понятен workaround в виде самостоятельного контроля заявок по исполнению основной, но в плане стаблильности работы проще сразу разместить заявку на сервере брокера.&lt;br /&gt;&lt;br /&gt;Если убрать из кода связь с основной заявкой, то ордер прекрасно размещается.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>