﻿<?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">TheorPriceQuotingStrategy не реагирует на событие новой сделки</title>
  <id>~/topic/2141/theorpricequotingstrategy-ne-reagiruet-na-sobytie-novoi-sdelki/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-23T09:54:46Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2141" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/13707/</id>
    <title type="text">4.0.5 Эта же ошибка http://stocksharp.com/forum/2129/Nie-rabotaiet-kotirovaniie/ </title>
    <published>2011-11-18T10:25:20Z</published>
    <updated>2016-08-16T00:04:12Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;InsiderHSE &lt;a href="https://stocksharp.ru/posts/m/13700/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;4.0.5&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Эта же ошибка &lt;a href="http://stocksharp.com/forum/2129/Nie-rabotaiet-kotirovaniie/ " title="http://stocksharp.com/forum/2129/Nie-rabotaiet-kotirovaniie/ "&gt;http://stocksharp.com/fo...rabotaiet-kotirovaniie/ &lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13700/</id>
    <title type="text">4.0.5</title>
    <published>2011-11-17T20:31:00Z</published>
    <updated>2011-11-17T20:31:00Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">4.0.5</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13695/</id>
    <title type="text">Версия S#?</title>
    <published>2011-11-17T17:40:15Z</published>
    <updated>2011-11-17T17:40:15Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Версия S#?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/13687/</id>
    <title type="text">После исполнения котируемой заявки в TheorPriceQuotingStrategy стратегия не останавливается, а продо...</title>
    <published>2011-11-17T10:59:02Z</published>
    <updated>2011-11-17T10:59:02Z</updated>
    <author>
      <name>InsiderHSE</name>
      <uri>https://stocksharp.ru/users/6099/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">После исполнения котируемой заявки в TheorPriceQuotingStrategy стратегия не останавливается, а продолжает котирование.&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:plain"&gt;

14:26:17.722 |            | SOQS            | Стратегия запущена.
14:26:18.445 |            | SOQS            | Регистрация новой заявки на Sell с ценой 233 и объемом 1.
14:26:18.461 |            | SOQS            | Заявка 51668157 на Sell отправлена с ценой 233 объемом 1.
14:26:44.024 |            | SOQS            | Цена текущей 233 и лучшей 236.
14:26:44.024 |            | SOQS            | Лучший бид 220 и лучший аск 233.
14:26:44.025 |            | SOQS            | Котирование заявки 51668157 на Sell с ценой 233 объемом 1.
14:26:44.032 |            | SOQS            | Перекотирование зарегистрировано для заявки 51668158 на Sell с ценой 236 объемом 1.
14:29:22.051 |            | SOQS            | Цена текущей 236 и лучшей 239.
14:29:22.051 |            | SOQS            | Лучший бид 220 и лучший аск 236.
14:29:22.051 |            | SOQS            | Котирование заявки 51668158 на Sell с ценой 236 объемом 1.
14:29:22.052 |            | SOQS            | Перекотирование зарегистрировано для заявки 51668159 на Sell с ценой 239 объемом 1.
14:30:14.404 |            | SOQS            | Цена текущей 239 и лучшей 244.
14:30:14.404 |            | SOQS            | Лучший бид 224 и лучший аск 239.
14:30:14.404 |            | SOQS            | Котирование заявки 51668159 на Sell с ценой 239 объемом 1.
14:30:14.407 |            | SOQS            | Перекотирование зарегистрировано для заявки 51668160 на Sell с ценой 244 объемом 1.
14:30:32.645 |            | SOQS            | Новая Sell сделка 452914851 по цене 244 на 1 заявки 51668160.
14:32:36.471 |            | SOQS            | Цена текущей 244 и лучшей 251.
14:32:36.471 |            | SOQS            | Лучший бид 250 и лучший аск 258.
14:32:36.471 |            | SOQS            | Котирование заявки 51668160 на Sell с ценой 244 объемом 1.
14:32:36.472 |            | SOQS            | Перекотирование зарегистрировано для заявки 51668161 на Sell с ценой 251 объемом 1.
14:32:36.815 | Error      | SOQS            | Заявка 51668161 не была принята по причине System.InvalidOperationException: Сервер для транзакции &amp;#39;ACTION=MOVE_ORDERS; TRANS_ID=51668161; CLASSCODE=SPBOPT; SECCODE=SR8250BL1; MODE=0; FIRST_ORDER_NUMBER=5904276069; FIRST_ORDER_NEW_PRICE=251; FIRST_ORDER_NEW_QUANTITY=1;&amp;#39; вернул неправильное сообщение &amp;#39;Ошибка перестановки заявок. [FORTS] &amp;quot;Не найдена заявка для перестановки.&amp;quot;.&amp;#39; по передвинутым заявкам..
14:32:38.634 | Error      | SOQS            | Котируемая заявка 51668161 не принята биржей по причине &amp;#39;Сервер для транзакции &amp;#39;ACTION=MOVE_ORDERS; TRANS_ID=51668161; CLASSCODE=SPBOPT; SECCODE=SR8250BL1; MODE=0; FIRST_ORDER_NUMBER=5904276069; FIRST_ORDER_NEW_PRICE=251; FIRST_ORDER_NEW_QUANTITY=1;&amp;#39; вернул неправильное сообщение &amp;#39;Ошибка перестановки заявок. [FORTS] &amp;quot;Не найдена заявка для перестановки.&amp;quot;.&amp;#39; по передвинутым заявкам.&amp;#39;.
14:32:38.635 |            | SOQS            | Регистрация новой заявки на Sell с ценой 251 и объемом 1.
14:32:38.636 |            | SOQS            | Заявка 51668162 на Sell отправлена с ценой 251 объемом 1.
14:32:48.379 |            | SOQS            | Цена текущей 251 и лучшей 255.
14:32:48.379 |            | SOQS            | Лучший бид 250 и лучший аск 251.
14:32:48.379 |            | SOQS            | Котирование заявки 51668162 на Sell с ценой 251 объемом 1.
14:32:48.380 |            | SOQS            | Перекотирование зарегистрировано для заявки 51668163 на Sell с ценой 255 объемом 1.
14:32:54.006 |            | SOQS            | Отмена заявки 51668160.
14:32:54.007 |            | SOQS            | Отмена заявки 51668163.
14:32:54.008 |            | SOQS            | Стратегия останавливается.
14:32:54.009 |            | SOQS            | Заканчиваем котирование с неисполненным объемом равный 1.
14:32:54.009 |            | SOQS            | Заканчиваем котирование с неисполненным объемом равный 1.
14:32:54.010 |            | SOQS            | Стратегия остановлена.
&lt;/pre&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:plain"&gt;

Время: 14:26:18.426; Вызван NeedFinish; Цена БА: 7865.0; Результат: False.
Время: 14:26:18.440; Вызван GetNewPrice; Цена БА: 7865.0; Теор цена из таб: 230.0; Результат: 233.5.
Время: 14:26:18.442; Вызван GetNewVolume; Цена БА: 7865.0; Результат: 1.0.
Время: 14:26:18.443; Вызван NeedRegister; Цена БА: 7865.0; Результат: True.
Время: 14:26:18.444; Вызван NeedFinish; Цена БА: 7865.0; Результат: False.
Время: 14:26:18.446; Вызван RegisterQuotingOrder.
Время: 14:26:18.447; Вызван RegisterOrder.
Время: 14:26:18.462; Вызван NeedFinish; Цена БА: 7865.0; Результат: False.
Время: 14:26:18.737; Событие NewOrder; Цена БА: 7865.0; Цена заявки: 233.0; Объем заявки: 1.0.
Время: 14:26:18.941; Вызван NeedFinish; Цена БА: 7866.0; Результат: False.
***** удалено для экономии места
Время: 14:30:32.445; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:30:32.463; Вызван GetNewPrice; Цена БА: 7892.0; Теор цена из таб: 240.0; Результат: 243.6.
Время: 14:30:32.467; Вызван GetNewVolume; Цена БА: 7892.0; Результат: 1.0.
Время: 14:30:32.493; Вызван NeedRegister; Цена БА: 7892.0; Результат: False.
Время: 14:30:32.499; Вызван NeedReRegister с параметрами newBestPrice=244.0 и newVolume=1.0; Цена БА: 7892.0; Результат: False.
Время: 14:30:32.501; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Новая сделка
Время: 14:30:35.459; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:30:35.460; Вызван GetNewPrice; Цена БА: 7892.0; Теор цена из таб: 240.0; Результат: 243.6.
Время: 14:30:35.461; Вызван GetNewVolume; Цена БА: 7892.0; Результат: 1.0.
Время: 14:30:35.462; Вызван NeedRegister; Цена БА: 7892.0; Результат: False.
Время: 14:30:35.462; Вызван NeedReRegister с параметрами newBestPrice=244.0 и newVolume=1.0; Цена БА: 7892.0; Результат: False.
Время: 14:30:35.463; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:08.047; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:08.050; Вызван GetNewPrice; Цена БА: 7892.0; Теор цена из таб: 239.0; Результат: 242.6.
Время: 14:31:08.051; Вызван GetNewVolume; Цена БА: 7892.0; Результат: 1.0.
Время: 14:31:08.051; Вызван NeedRegister; Цена БА: 7892.0; Результат: False.
Время: 14:31:08.052; Вызван NeedReRegister с параметрами newBestPrice=243.0 и newVolume=1.0; Цена БА: 7892.0; Результат: False.
Время: 14:31:08.053; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:10.007; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:10.008; Вызван GetNewPrice; Цена БА: 7892.0; Теор цена из таб: 239.0; Результат: 242.6.
Время: 14:31:10.008; Вызван GetNewVolume; Цена БА: 7892.0; Результат: 1.0.
Время: 14:31:10.009; Вызван NeedRegister; Цена БА: 7892.0; Результат: False.
Время: 14:31:10.009; Вызван NeedReRegister с параметрами newBestPrice=243.0 и newVolume=1.0; Цена БА: 7892.0; Результат: False.
Время: 14:31:10.010; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:16.199; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:16.200; Вызван GetNewPrice; Цена БА: 7889.0; Теор цена из таб: 240.0; Результат: 243.6.
Время: 14:31:16.201; Вызван GetNewVolume; Цена БА: 7889.0; Результат: 1.0.
Время: 14:31:16.201; Вызван NeedRegister; Цена БА: 7889.0; Результат: False.
Время: 14:31:16.202; Вызван NeedReRegister с параметрами newBestPrice=244.0 и newVolume=1.0; Цена БА: 7889.0; Результат: False.
Время: 14:31:16.202; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:17.837; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:17.838; Вызван GetNewPrice; Цена БА: 7889.0; Теор цена из таб: 240.0; Результат: 243.6.
Время: 14:31:17.839; Вызван GetNewVolume; Цена БА: 7889.0; Результат: 1.0.
Время: 14:31:17.840; Вызван NeedRegister; Цена БА: 7889.0; Результат: False.
Время: 14:31:17.840; Вызван NeedReRegister с параметрами newBestPrice=244.0 и newVolume=1.0; Цена БА: 7889.0; Результат: False.
Время: 14:31:17.841; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:18.807; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:18.808; Вызван GetNewPrice; Цена БА: 7889.0; Теор цена из таб: 240.0; Результат: 243.6.
Время: 14:31:18.808; Вызван GetNewVolume; Цена БА: 7889.0; Результат: 1.0.
Время: 14:31:18.809; Вызван NeedRegister; Цена БА: 7889.0; Результат: False.
Время: 14:31:18.809; Вызван NeedReRegister с параметрами newBestPrice=244.0 и newVolume=1.0; Цена БА: 7889.0; Результат: False.
Время: 14:31:18.810; Вызван NeedFinish; Цена БА: 7889.0; Результат: False.
Время: 14:31:50.891; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
Время: 14:31:50.892; Вызван GetNewPrice; Цена БА: 7892.0; Теор цена из таб: 239.0; Результат: 242.6.
Время: 14:31:50.893; Вызван GetNewVolume; Цена БА: 7892.0; Результат: 1.0.
Время: 14:31:50.893; Вызван NeedRegister; Цена БА: 7892.0; Результат: False.
Время: 14:31:50.894; Вызван NeedReRegister с параметрами newBestPrice=243.0 и newVolume=1.0; Цена БА: 7892.0; Результат: False.
Время: 14:31:50.894; Вызван NeedFinish; Цена БА: 7892.0; Результат: False.
The thread &amp;#39;&amp;lt;No Name&amp;gt;&amp;#39; (0x1500) has exited with code 0 (0x0).
The thread &amp;#39;&amp;lt;No Name&amp;gt;&amp;#39; (0x1ed0) has exited with code 0 (0x0).
Время: 14:32:36.468; Вызван NeedFinish; Цена БА: 7901.0; Результат: False.
Время: 14:32:36.469; Вызван GetNewPrice; Цена БА: 7901.0; Теор цена из таб: 247.0; Результат: 250.7.
Время: 14:32:36.469; Вызван GetNewVolume; Цена БА: 7901.0; Результат: 1.0.
Время: 14:32:36.470; Вызван NeedRegister; Цена БА: 7901.0; Результат: False.
Время: 14:32:36.470; Вызван NeedReRegister с параметрами newBestPrice=251.0 и newVolume=1.0; Цена БА: 7901.0; Результат: True.
Время: 14:32:36.471; Вызван NeedFinish; Цена БА: 7901.0; Результат: False.
Время: 14:32:36.472; Вызван ReRegisterOrder.
Время: 14:32:36.473; Вызван NeedFinish; Цена БА: 7901.0; Результат: False.
Время: 14:32:38.631; Вызван NeedFinish; Цена БА: 7903.0; Результат: False.
Время: 14:32:38.632; Вызван GetNewPrice; Цена БА: 7903.0; Теор цена из таб: 247.0; Результат: 250.7.
Время: 14:32:38.633; Вызван GetNewVolume; Цена БА: 7903.0; Результат: 1.0.
Время: 14:32:38.633; Вызван NeedRegister; Цена БА: 7903.0; Результат: True.
Время: 14:32:38.634; Вызван NeedFinish; Цена БА: 7903.0; Результат: False.
Время: 14:32:38.635; Вызван RegisterQuotingOrder.
Время: 14:32:38.636; Вызван RegisterOrder.
Время: 14:32:38.636; Вызван NeedFinish; Цена БА: 7903.0; Результат: False.
Время: 14:32:38.688; Событие NewOrder; Цена БА: 7903.0; Цена заявки: 251.0; Объем заявки: 1.0.
Время: 14:32:38.910; Вызван NeedFinish; Цена БА: 7903.0; Результат: False.
**** далее идет котирование новой заявки
&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;

class SingleOptionQuotingStrategy : TheorPriceQuotingStrategy
	{
		public SingleOptionQuotingStrategy(Order order, Unit betsPriceOffset, Unit theorpriceOffset)
			: base(order, betsPriceOffset, theorpriceOffset) { }
		public SingleOptionQuotingStrategy(OrderDirections dir, decimal vol, Unit theorpriceOffset)
			: base(dir, vol, theorpriceOffset) { }


		public Security UnderlyingSecurity { get; private set; }
		protected override decimal GetNewPrice()
		{
			var r = base.GetNewPrice();
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван GetNewPrice; Цена БА: {1}; Теор цена из таб: {3}; Результат: {2}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
				UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), r.ToString(&amp;quot;0.0&amp;quot;), Security.TheorPrice.ToString(&amp;quot;0.0&amp;quot;)));
			return r;
		}
		protected override decimal GetNewVolume()
		{
			var r = base.GetNewVolume();
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван GetNewVolume; Цена БА: {1}; Результат: {2}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
				UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), r.ToString(&amp;quot;0.0&amp;quot;)));
			return r;
		}

		protected override bool NeedFinish()
		{
			var r = base.NeedFinish();
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван NeedFinish; Цена БА: {1}; Результат: {2}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
				UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), r.ToString()));
			return r;
		}
		protected override bool NeedRegister()
		{
			var r = base.NeedRegister();
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван NeedRegister; Цена БА: {1}; Результат: {2}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
				UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), r.ToString()));
			return r;
		}
		protected override bool NeedReRegister(decimal newBestPrice, decimal newVolume)
		{
			var r = base.NeedReRegister(newBestPrice, newVolume);
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван NeedReRegister с параметрами newBestPrice={3} и newVolume={4}; Цена БА: {1}; Результат: {2}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
				UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), r.ToString(), newBestPrice.ToString(&amp;quot;0.0&amp;quot;), newVolume.ToString(&amp;quot;0.0&amp;quot;)));
			return r;
		}

		protected override void RegisterOrder(Order order)
		{
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван RegisterOrder.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;)));
			base.RegisterOrder(order);
		}

		protected override void RegisterQuotingOrder(Order order)
		{
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван RegisterQuotingOrder.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;)));
			base.RegisterQuotingOrder(order);
		}

		protected override void ReRegisterOrder(Order oldOrder, Order newOrder)
		{
			Debug.WriteLine(&amp;quot;Время: {0}; Вызван ReRegisterOrder.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;)));
			base.ReRegisterOrder(oldOrder, newOrder);
		}

		protected override void OnStarting()
		{

			this.NewOrder += o =&amp;gt; Debug.WriteLine(&amp;quot;Время: {0}; Событие NewOrder; Цена БА: {1}; Цена заявки: {2}; Объем заявки: {3}.&amp;quot;.Put(DateTime.Now.ToString(&amp;quot;HH:mm:ss.fff&amp;quot;),
									this.UnderlyingSecurity.LastTrade.Price.ToString(&amp;quot;0.0&amp;quot;), o.Price.ToString(&amp;quot;0.0&amp;quot;), o.Volume.ToString(&amp;quot;0.0&amp;quot;)));
			this.NewMyTrades += t =&amp;gt; Debug.WriteLine(&amp;quot;Новая сделка&amp;quot;);
			this.UnderlyingSecurity = this.Security.GetUnderlyingAsset();
			base.OnStarting();


		}


	}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>