﻿<?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">Стратегия Котирование</title>
  <id>~/topic/2038/strategiya-kotirovanie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-10T06:01:03Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2038" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/12657/</id>
    <title type="text">Тут не совсем тот код который я хотел увидеть :( Мне больше интересно как стратегия котирование рабо...</title>
    <published>2011-10-24T18:49:26Z</published>
    <updated>2016-08-16T00:02:14Z</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;lesser &lt;a href="https://stocksharp.ru/posts/m/12655/" 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;a href="http://stocksharp.com/posts/m/12560/" title="http://stocksharp.com/posts/m/12560/"&gt;на этот вопрос&lt;/a&gt;. Что касается того, как она работает с ордерами, то как любая другая стратегия, через ITrader.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/12655/</id>
    <title type="text">Тут не совсем тот код который я хотел увидеть :( Мне больше интересно как стратегия котирование рабо...</title>
    <published>2011-10-24T17:01:46Z</published>
    <updated>2011-10-24T17:01:46Z</updated>
    <author>
      <name>lesser</name>
      <uri>https://stocksharp.ru/users/6095/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Тут не совсем тот код который я хотел увидеть :(&lt;br /&gt;Мне больше интересно как стратегия котирование работает с ордерами , как их отслеживает , как меняет .</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/12613/</id>
    <title type="text">А можно где-то посмотреть код стратегии Котирование что-б легче было , а то опыта в програмировании ...</title>
    <published>2011-10-22T18:49:31Z</published>
    <updated>2011-10-22T18:49:31Z</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;lesser &lt;a href="https://stocksharp.ru/posts/m/12569/" 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;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
/// &amp;lt;summary&amp;gt;
	/// Котирование по рыночной цене.
	/// &amp;lt;/summary&amp;gt;
	public class MarketQuotingStrategy : BestByPriceQuotingStrategy
	{
		/// &amp;lt;summary&amp;gt;
		/// Создать &amp;lt;see cref=&amp;quot;MarketQuotingStrategy&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;quotingDirection&amp;quot;&amp;gt;Направление котирования.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;quotingVolume&amp;quot;&amp;gt;Объем, который необходимо скотировать.&amp;lt;/param&amp;gt;
		public MarketQuotingStrategy(OrderDirections quotingDirection, decimal quotingVolume)
			: base(quotingDirection, quotingVolume)
		{
			PriceType = MarketPriceTypes.Following;
			PriceOffset = new Unit();
		}

		/// &amp;lt;summary&amp;gt;
		/// Создать &amp;lt;see cref=&amp;quot;MarketQuotingStrategy&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;order&amp;quot;&amp;gt;Заявка, которую необходимо котировать.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;bestPriceOffset&amp;quot;&amp;gt;Отступ от лучшей цены, на которую может уйти котируемая заявка.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;priceOffset&amp;quot;&amp;gt;Отступ цены для выставляемой заявки. Определяет размер отступа от лучшей котировки (для покупки прибавляется к цене, для продажи - вычитается).&amp;lt;/param&amp;gt;
		/// &amp;lt;returns&amp;gt;Стратегия.&amp;lt;/returns&amp;gt;
		public MarketQuotingStrategy(Order order, Unit bestPriceOffset, Unit priceOffset)
			: base(order, bestPriceOffset)
		{
			PriceType = MarketPriceTypes.Following;
			PriceOffset = priceOffset;
		}

		/// &amp;lt;summary&amp;gt;
		/// Тип рыночной цены. По умолчанию равен &amp;lt;see cref=&amp;quot;MarketPriceTypes.Following&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		public MarketPriceTypes PriceType { get; set; }

		private Unit _priceOffset;

		/// &amp;lt;summary&amp;gt;
		/// Отступ цены для выставляемой заявки. Определяет размер отступа от лучшей котировки (для покупки прибавляется к цене, для продажи - вычитается).
		/// &amp;lt;/summary&amp;gt;
		public Unit PriceOffset
		{
			get { return _priceOffset; }
			set
			{
				if (value == null)
					throw new ArgumentNullException(&amp;quot;value&amp;quot;);

				_priceOffset = value;
			}
		}

		/// &amp;lt;summary&amp;gt;
		/// Получить новую цену для заявки.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;returns&amp;gt;Новая цена заявки.&amp;lt;/returns&amp;gt;
		protected override decimal GetNewPrice()
		{
			Unit newPrice;

			switch (PriceType)
			{
				case MarketPriceTypes.Opposite:
					var quotes = Security.GetFilteredQuotes(QuotingDirection.Invert(), Order);
					newPrice = QuotingDirection == OrderDirections.Buy
						? quotes.Min(q =&amp;gt; q.Price) - PriceOffset
						: quotes.Max(q =&amp;gt; q.Price) + PriceOffset;
					break;
				case MarketPriceTypes.Following:
					newPrice = base.GetNewPrice();

					if (QuotingDirection == OrderDirections.Buy)
						newPrice += PriceOffset;
					else
						newPrice -= PriceOffset;
					break;
				case MarketPriceTypes.Middle:
					newPrice = Security.GetMarketPrice(QuotingDirection, null, MarketPriceTypes.Middle);
					break;
				default:
					throw new ArgumentOutOfRangeException();
			}

			return (decimal)newPrice;
		}
	}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
/// &amp;lt;summary&amp;gt;
	/// Котирование по лучшей цене. Для данного котирования указывается отступ от лучшей цены &amp;lt;see cref=&amp;quot;BestPriceOffset&amp;quot;/&amp;gt;,
	/// на который может уйти котируемая заявка.
	/// &amp;lt;/summary&amp;gt;
	public class BestByPriceQuotingStrategy : QuotingStrategy
	{
		/// &amp;lt;summary&amp;gt;
		/// Создать &amp;lt;see cref=&amp;quot;BestByPriceQuotingStrategy&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;quotingDirection&amp;quot;&amp;gt;Направление котирования.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;quotingVolume&amp;quot;&amp;gt;Объем, который необходимо скотировать.&amp;lt;/param&amp;gt;
		public BestByPriceQuotingStrategy(OrderDirections quotingDirection, decimal quotingVolume)
			: base(quotingDirection, quotingVolume)
		{
			BestPriceOffset = new Unit();
		}

		/// &amp;lt;summary&amp;gt;
		/// Создать &amp;lt;see cref=&amp;quot;BestByPriceQuotingStrategy&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;order&amp;quot;&amp;gt;Заявка, которую необходимо котировать.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;bestPriceOffset&amp;quot;&amp;gt;Отступ от лучшей цены, на который может уйти котируемая заявка.&amp;lt;/param&amp;gt;
		public BestByPriceQuotingStrategy(Order order, Unit bestPriceOffset)
			: base(order)
		{
			BestPriceOffset = bestPriceOffset;
		}

		private Unit _bestPriceOffset;

		/// &amp;lt;summary&amp;gt;
		/// Отступ от лучшей цены, на который может уйти котируемая заявка.
		/// &amp;lt;/summary&amp;gt;
		public Unit BestPriceOffset
		{
			get { return _bestPriceOffset; }
			set
			{
				if (value == null)
					throw new ArgumentNullException(&amp;quot;value&amp;quot;);

				_bestPriceOffset = value;
			}
		}

		/// &amp;lt;summary&amp;gt;
		/// Нужно ли перерегистрировать заявку.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;bestPrice&amp;quot;&amp;gt;Лучшая цена.&amp;lt;/param&amp;gt;
		/// &amp;lt;returns&amp;gt;True, нужно, иначе, false.&amp;lt;/returns&amp;gt;
		protected override bool NeedReRegister(decimal bestPrice)
		{
			return (decimal)(bestPrice - BestPriceOffset) &amp;gt; Order.Price || (decimal)(bestPrice + BestPriceOffset) &amp;lt; Order.Price;
		}
	}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/12607/</id>
    <title type="text">Может мои вопросы и кажутся вам смешными и потому вы их игнорируете , но я как множество людей торгу...</title>
    <published>2011-10-22T11:03:28Z</published>
    <updated>2011-10-22T11:03:28Z</updated>
    <author>
      <name>lesser</name>
      <uri>https://stocksharp.ru/users/6095/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Может мои вопросы и кажутся вам смешными и потому вы их игнорируете , но я как множество людей торгующих на бирже не програмист , и потому мне сложно сразу все понять. Вы ж тоже не за один день стали програмистом.&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/12569/</id>
    <title type="text">А можно где-то посмотреть код стратегии Котирование что-б легче было , а то опыта в програмировании ...</title>
    <published>2011-10-20T16:33:28Z</published>
    <updated>2011-10-20T16:33:28Z</updated>
    <author>
      <name>lesser</name>
      <uri>https://stocksharp.ru/users/6095/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">А можно где-то посмотреть код стратегии Котирование что-б легче было , а то опыта в програмировании у меня  совсем мало , могу неосилить. А вот внести изменения в уже готовую логику  думаю получится.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/12566/</id>
    <title type="text"> Важно чтоб отодвигатся назад . Наследуйтесь от стратегии и переопределяйте ее поведение.</title>
    <published>2011-10-20T15:15:55Z</published>
    <updated>2011-10-20T15:15:55Z</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;lesser &lt;a href="https://stocksharp.ru/posts/m/12560/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Важно чтоб отодвигатся назад .&lt;br /&gt;&lt;/div&gt;&lt;/div&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/12560/</id>
    <title type="text">Можно ли добавить в стратегии Котирование , параметр минимально допустимый спред : Например у меня с...</title>
    <published>2011-10-20T12:48:27Z</published>
    <updated>2011-10-20T12:48:27Z</updated>
    <author>
      <name>lesser</name>
      <uri>https://stocksharp.ru/users/6095/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Можно ли добавить в стратегии Котирование , параметр минимально допустимый спред :&lt;br /&gt;&lt;br /&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>
</feed>