﻿<?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-06-10T21:05:13Z</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">lesser: Тут не совсем тот код который я хотел увидеть :( Мне больше интересно как стратегия котирова...</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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(12655)" rel="nofollow" target="_blank"&gt;lesser&lt;/a&gt;:&lt;/strong&gt;
Тут не совсем тот код который я хотел увидеть :(
Мне больше интересно как стратегия котирование работает с ордерами , как их отслеживает , как меняет .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я отвечал &lt;a href="http://stocksharp.com/posts/m/12560/"&gt;на этот вопрос&lt;/a&gt;. Что касается того, как она работает с ордерами, то как любая другая стратегия, через ITrader.&lt;/p&gt;
</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;p&gt;Тут не совсем тот код который я хотел увидеть :(
Мне больше интересно как стратегия котирование работает с ордерами , как их отслеживает , как меняет .&lt;/p&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">lesser: А можно где-то посмотреть код стратегии Котирование что-б легче было , а то опыта в програми...</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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(12569)" rel="nofollow" target="_blank"&gt;lesser&lt;/a&gt;:&lt;/strong&gt;
А можно где-то посмотреть код стратегии Котирование что-б легче было , а то опыта в програмировании у меня  совсем мало , могу неосилить. А вот внести изменения в уже готовую логику  думаю получится.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class="language-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;/code&gt;&lt;/pre&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;p&gt;Может мои вопросы и кажутся вам смешными и потому вы их игнорируете , но я как множество людей торгующих на бирже не програмист , и потому мне сложно сразу все понять. Вы ж тоже не за один день стали програмистом.&lt;/p&gt;
&lt;p&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/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">&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/12566/</id>
    <title type="text">lesser: Важно чтоб отодвигатся назад . Наследуйтесь от стратегии и переопределяйте ее поведение. </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;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(12560)" rel="nofollow" target="_blank"&gt;lesser&lt;/a&gt;:&lt;/strong&gt;
Важно чтоб отодвигатся назад .&lt;/p&gt;
&lt;/blockquote&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/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;p&gt;Можно ли добавить в стратегии Котирование , параметр минимально допустимый спред :&lt;/p&gt;
&lt;p&gt;Например у меня стоит заявка на покупку по лучшей цене , тот кто передомной переставляет свою заявку наперед , если спред больше равно минимально допустимого , я переставляю заявку наперед , если же  спред меньше минимально допустимого я переслявляю не наперед а наоборот ближе к той заявки что за мной , тогда тот кто передомной отодвинется ближе ко мне и я снова смогу стать первым.&lt;/p&gt;
&lt;p&gt;Важно чтоб отодвигатся назад .&lt;/p&gt;
&lt;p&gt;Спасибо.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>