﻿<?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/4861/kotirovanie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-23T20:39:13Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4861" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/32398/</id>
    <title type="text">Как я понимаю есть 2 варианта запустить котирования 1) из документации http://stocksharp.com/doc/?to...</title>
    <published>2015-01-16T13:09:50Z</published>
    <updated>2016-08-16T00:19:41Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Как я понимаю есть 2 варианта запустить котирования &lt;br /&gt;1) из документации &lt;a href="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm
" title="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm
"&gt;http://stocksharp.com/do...c-bc8b-4afde645e483.htm
&lt;/a&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 strategy = new MarketQuotingStrategy(order, new Unit());
base.ChildStrategies.Add(strategy);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Работает нормально, по крайней мере позиции набирает.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) из одного из обновления &lt;a href="http://stocksharp.com/forum/2285/Stock--4-0-Release/
" title="http://stocksharp.com/forum/2285/Stock--4-0-Release/
"&gt;http://stocksharp.com/fo...285/Stock--4-0-Release/
&lt;/a&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;

this.OpenPositionByQuoting(10);
&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_0258e739b4844caa8a670c3c68573582');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_0258e739b4844caa8a670c3c68573582' 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;

using MoreLinq;
using StockSharp.Algo.Strategies.Quoting;
using StockSharp.BusinessEntities;

namespace Sample
{
    using StockSharp.Algo;
    using StockSharp.Algo.Candles;
    using StockSharp.Algo.Indicators;
    using StockSharp.Algo.Strategies;
    using StockSharp.Messages;
  
    class MyStrategy : Strategy
    {
        public MyStrategy(){}
        protected override void OnStarted()
        {
            Process();
            base.OnStarted();
        }
  

        private void Process()
        {
            // если наша стратегия в процессе остановки
            if (ProcessState == ProcessStates.Stopping)
            {
                // отменяем активные заявки
                CancelActiveOrders();
                return;
            }
            if (Position == 0)
            {
               //var strat = new MarketQuotingStrategy(Sides.Buy, 10);
               //base.ChildStrategies.Add(strat);
               this.OpenPositionByQuoting(10);
            }
  
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В тестовом КВИКе выдает ошибку&lt;br /&gt;&lt;a href='http://clickscreen.ru/screens/2/a04e66b2.png ' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="http://clickscreen.ru/screens/2/a04e66b2.png " style='max-width: 600px;' alt=""/&gt;&lt;/a&gt;&lt;br /&gt;Лог приложу&lt;br /&gt;Еще раз повторю, что 1й работает а 2й не работает&lt;br /&gt;Вопрос: это я не правильно использую или это баг?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32805/</id>
    <title type="text">Судя по коду на кодплексе проблема в том, что this.AddInfoLog(&amp;quot;Отмена заявки {0}.&amp;quot;, _order.Transacti...</title>
    <published>2015-03-08T10:57:25Z</published>
    <updated>2015-03-08T11:45:46Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.com/users/6384/</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:csharp"&gt;

					this.AddInfoLog(&amp;quot;Отмена заявки {0}.&amp;quot;, _order.TransactionId);
					_isCanceling = true;

					_order
						.WhenCanceled()
						.Do((r, o) =&amp;gt;
						{
							this.AddInfoLog(&amp;quot;Заявка {0} была снята. Время снятия {1}.&amp;quot;, o.TransactionId, o.LastChangeTime);

							Rules.RemoveRulesByToken(o, r);

							if (_order == o)
							{
								_manualReRegisterOrder = _order;
								_order = null;
								_isCanceling = false;
								ProcessQuoting();
							}
							else
								this.AddWarningLog(&amp;quot;Заявка {0} устарела.&amp;quot;, o.TransactionId);
						})
						.Once()
						.Sync(_syncToken)
						.Apply(this);

					CancelOrder(_order);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;_order.WhenCanceled() не срабатывает, т.к. ордер УЖЕ отменен до того, как подписались на это событие. Думаю, нужно добавить проверку типа _order.State==OrderStates.Active. Если да, то выполнить выше приведенную ветку, если нет и орден не NULL и состояние стратегии Active, то вызвать ProcessQuoting, либо в конце процедуры ProcessQuoting делать проверку&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 (_isCanceling==true &amp;amp;&amp;amp; this.ProcessState==ProcessStates.Active &amp;amp;&amp;amp; _order.State==OrderStates.Done)
{
_isCanceling=false;
ProcessQuoting();
//либо вызвать здесь событие orderCancelled, чтобы сработала ветка приведенная выше, либо делать подписку на событие WhenCanceled в момент создания ордера...
}
&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.com/posts/m/32804/</id>
    <title type="text">Коннектор Quik Lua, АПИ 4.2.68. В стратегии QuotingStrategy если котируемая заявка была снята в ручн...</title>
    <published>2015-03-08T10:25:26Z</published>
    <updated>2015-03-08T10:26:25Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.com/users/6384/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Коннектор Quik Lua, АПИ 4.2.68.&lt;br /&gt;В стратегии QuotingStrategy если котируемая заявка была снята в ручную или системой (например на вечернем клиринге), то стратегия никак не отрабатывает этот момент.&lt;br /&gt;В логе по этой заявке только такие строки:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;16:12:35.712|       |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) принята биржей.&lt;br /&gt;...&lt;br /&gt;16:12:57.155|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Отмена заявки  58272625/811066918 (0xEF627A) OR Полное исполнение  58272625/811066918 (0x311387F) OR Все сделки заявки  58272625/811066918 (0x1C20C5F) OR Ошибка регистрации заявки  58272625/811066918 (0x31E27EC)&amp;#39;. Активация.&lt;br /&gt;16:12:57.155|       |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) больше не активна.&lt;br /&gt;...&lt;br /&gt;16:13:06.165|       |LQS_SBER@TQBR_10182|Отмена заявки 58272625 (0xF5B24E).&lt;br /&gt;16:13:06.165|       |LQS_SBER@TQBR_10182|Отмена заявки 58272625 (0xF5B24E).&lt;br /&gt;16:13:06.165|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.176|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.176|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.176|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.186|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.186|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.186|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.191|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.191|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.191|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.194|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.194|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.194|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.198|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.198|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.198|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.211|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.211|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.211|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:13:16.217|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:13:16.217|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:13:16.217|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;...&lt;br /&gt;16:16:49.933|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:16:49.933|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:16:49.933|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:16:52.980|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:16:52.980|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:16:52.980|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:16:53.968|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:16:53.968|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:16:53.968|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:16:58.015|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:16:58.015|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:16:58.015|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:17:00.090|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:17:00.090|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:17:00.090|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:17:02.904|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:17:02.904|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:17:02.904|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:17:04.136|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:17:04.136|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&gt;16:17:04.136|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0xC06E73) OR Изменение стакана инструмента LKOH@TQBR (0x1CC831B)&amp;#39;. Активация.&lt;br /&gt;16:17:05.122|Debug  |LQS_SBER@TQBR_10182|Правило &amp;#39;Изменение стакана инструмента SBER@TQBR (0x3F19E1D) OR Изменение стакана инструмента LKOH@TQBR (0x25EE953)&amp;#39;. Активация.&lt;br /&gt;16:17:05.122|Debug  |LQS_SBER@TQBR_10182|Заявка 58272625 (0xF5B24E) в процессе снятия.&lt;br /&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/32759/</id>
    <title type="text">По BestByPrice. Залил исправленное. Просьба проверить. По BestByVolume. Ничего не понял. Лучше не пы...</title>
    <published>2015-03-03T14:03:58Z</published>
    <updated>2015-03-03T14:03:58Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">По BestByPrice. Залил исправленное. Просьба проверить.&lt;br /&gt;&lt;br /&gt;По BestByVolume. Ничего не понял. Лучше не пытаться исправлять код. Лучше написать что с ним не так. Потому что сечас код написан неправильно с точки зрения S#.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32758/</id>
    <title type="text">В версии 4.2.66 проблема осталась. Доступ к переопределению GetAcceptablePriceRange будет, или нужно...</title>
    <published>2015-03-03T12:16:43Z</published>
    <updated>2015-03-03T12:16:43Z</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;RomSunZ &lt;a href="https://stocksharp.com/posts/m/32732/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;В версии 4.2.66 проблема осталась. Доступ к переопределению GetAcceptablePriceRange будет, или нужно переделывать логику своего робота?&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.com/posts/m/32732/</id>
    <title type="text">В версии 4.2.66 проблема осталась. Доступ к переопределению GetAcceptablePriceRange будет, или нужно...</title>
    <published>2015-02-26T04:57:46Z</published>
    <updated>2015-02-26T04:57:46Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.com/users/6384/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В версии 4.2.66 проблема осталась. Доступ к переопределению GetAcceptablePriceRange будет, или нужно переделывать логику своего робота?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32701/</id>
    <title type="text">А в версии 65 была изменена логика QuotingStrategy? У меня код: public class myQuotingStrategy : Quo...</title>
    <published>2015-02-24T08:45:42Z</published>
    <updated>2015-02-24T08:48:56Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.com/users/6384/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">А в версии 65 была изменена логика QuotingStrategy?&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 class myQuotingStrategy : QuotingStrategy
{
protected override Range&amp;lt;decimal&amp;gt; GetAcceptablePriceRange()
{
}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;при построении проекта начал выдавать ошибку &amp;quot;не найден метод, пригодный для переопределения&amp;quot;...</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32647/</id>
    <title type="text">Все это уже было и даже работало отступ был рассчитан исходя из уровней стакана, а не тупой дельты о...</title>
    <published>2015-02-18T07:03:56Z</published>
    <updated>2015-02-18T07:03:56Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Все это уже было и даже работало[biggrin] &lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&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/32644/</id>
    <title type="text">Что вы паритесь? GetAcceptablePriceRange: if (this.Order != null) _bestprice = this.Order.Price; els...</title>
    <published>2015-02-18T05:43:43Z</published>
    <updated>2015-02-18T06:01:11Z</updated>
    <author>
      <name>RomSunZ</name>
      <uri>https://stocksharp.com/users/6384/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Что вы паритесь? GetAcceptablePriceRange:&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 (this.Order != null) _bestprice = this.Order.Price;
            else return base.GetAcceptablePriceRange();
            if (_bestprice == 0)
                return new Range&amp;lt;decimal&amp;gt;(0m, 0m);
            var limit = QuotingDirection == Sides.Buy ? (decimal)(_bestprice + BestPriceOffset) : (decimal)(_bestprice - BestPriceOffset);
            //var md = GetFilteredQuotes(QuotingDirection);
            var md11 = Connector.GetFilteredMarketDepth(this.Security);
            var md = QuotingDirection == Sides.Buy ? md11.Bids : md11.Asks;

            if (md != null)
            {
                int i = 0;
                foreach (var q in md)
                {
                    if (QuotingDirection == Sides.Buy &amp;amp;&amp;amp; q.Price &amp;lt;= _bestprice
                        || QuotingDirection == Sides.Sell &amp;amp;&amp;amp; q.Price &amp;gt;= _bestprice)
                    {
                        i -= (int)BestPriceOffset.Value;

                        if (i &amp;lt; 0) i = 0;
                        limit = QuotingDirection == Sides.Buy ?
                            Math.Max(limit, md.ElementAt(i).Price)
                            : Math.Min(limit, md.ElementAt(i).Price);
                        break;
                    }
                    i++;
                }
            }
            var range = QuotingDirection == Sides.Buy
                            ? new Range&amp;lt;decimal&amp;gt;(_bestprice.Value, limit)
                            : new Range&amp;lt;decimal&amp;gt;(limit, _bestprice.Value);


            return range;

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Цикл можете убрать. Для меня было интересно, чтобы отступ был рассчитан исходя из уровней стакана, а не тупой дельты от лучшей цены.&lt;br /&gt;&lt;br /&gt;P.S. Возможно придется также изменить NeedQuoting: &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 _bestprice = BestPrice;
            if (_bestprice == null || _bestprice == 0) return null;

            if (!acceptablePriceRange.Contains((decimal)_bestprice) || currentVolume != newVolume)
                return _bestprice;
            else
                return null;

&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.com/posts/m/32643/</id>
    <title type="text">По стратегиям из последней версии BestByPriceQuotingStrategy и MarketQuotingStrategy Так как MarketQ...</title>
    <published>2015-02-18T03:50:45Z</published>
    <updated>2015-02-18T03:57:32Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">По стратегиям из последней версии&lt;br /&gt;BestByPriceQuotingStrategy и MarketQuotingStrategy&lt;br /&gt;Так как MarketQuotingStrategy унаследована от BestByPriceQuotingStrategy, метод NeedQuoting у них общий. Проблема с тем, что заявка не откатывается у них общая&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_323a6ccefa9f4328871810fff4ea7b47');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_323a6ccefa9f4328871810fff4ea7b47' 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;

			if (QuotingDirection == Sides.Sell)
			{
 //Здесь если BestPrice &amp;gt; currentPrice то ни чего происходить не будет, и заявка не откатится назад
				if (currentPrice == null || (decimal)(price + BestPriceOffset) &amp;lt; currentPrice)
					return price + (decimal)BestPriceOffset / 2;
			}
			else
			{
 //Здесь если BestPrice &amp;lt; currentPrice то ни чего происходить не будет, и заявка не откатится назад
				if (currentPrice == null || (decimal)(price - BestPriceOffset) &amp;gt; currentPrice)
					return price - (decimal)BestPriceOffset / 2;
			}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&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_4f8477287700439d96fde73c01f9c4b0');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_4f8477287700439d96fde73c01f9c4b0' 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;

            if (QuotingDirection == Sides.Sell)
            {
                var newPrice = Security.ShrinkPrice((decimal) price + (decimal) BestPriceOffset/2);
                if (currentPrice == null || (newPrice != currentPrice)) return newPrice;
            }
            else
            {
                var newPrice = Security.ShrinkPrice((decimal) price - (decimal) BestPriceOffset/2);
                if (currentPrice == null || (newPrice != currentPrice)) return newPrice;
            }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;В таком случае, заявка будет всегда переставляться на параметры заданные стратегией. Кроме случая если она уже стоит на нужной цене.&lt;br /&gt;Изучив код подробней этих стратегий, понял что мое представление о том как они должны работать не совпадают с реализованным. &lt;br /&gt;&lt;br /&gt;1) BestPriceOffset - Отступ от лучшей цены, на который &lt;span class="highlight"&gt;может &lt;/span&gt;уйти котируемая заявка.&lt;br /&gt;Слово может очень сбивает с толку, в стратегии строго забито, что она в любом случае отступит от лучшей цены на значение BestPriceOffset &lt;br /&gt;&lt;br /&gt;В моем представлении, если взять для примера BestByPriceQuotingStrategy, то стратегия должна выставлять заявку на лучшую цену(на то это и &lt;span class="highlight"&gt;BestByPrice&lt;/span&gt;QuotingStrategy). Но если заявка уйдет от BestPrice на значение меньшее чем BestPriceOffset то переставляться не будет.&lt;br /&gt;&lt;br /&gt;2) PriceOffset - Отступ цены для выставляемой заявки. Определяет размер отступа от лучшей котировки (для покупки прибавляется к цене, для продажи - вычитается).&lt;br /&gt;Этот отступ есть у MarketQuotingStrategy если он положительный а сделка Buy, стратегия выставит заявку на BestPrice - BestPriceOffset + PriceOffset. То есть выше описанный BestPriceOffset тоже вычитается. &lt;br /&gt;&lt;br /&gt;В общем мне кажется BestPriceOffset сейчас работает не так как надо, а GetAcceptablePriceRange() все таки нужный метод, по крайней мере для BestByPriceQuotingStrategy. Править? &lt;br /&gt;&lt;br /&gt;В BestByVolumeQuotingStrategy я исправил один метод NeedQuoting. В коде постарался пояснения написать по подробнее. Протестировал, стратегия работает, выложил в ВК.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32630/</id>
    <title type="text"> остальные не смотрел, завтра посмотрю. Сырцы теперь есть. Предлагаю сразу обсуждать строчки кода, а...</title>
    <published>2015-02-16T18:03:20Z</published>
    <updated>2015-02-16T18:03: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;Иван З. &lt;a href="https://stocksharp.com/posts/m/32629/" 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;Сырцы теперь есть. Предлагаю сразу обсуждать строчки кода, а не что-то абстрактное.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32629/</id>
    <title type="text">Проверил. MarketQuotingStrategy также не откатывает на лучшую цену. при параметре PriceOffset = Secu...</title>
    <published>2015-02-16T17:23:05Z</published>
    <updated>2015-02-16T17:23:05Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Проверил.&lt;br /&gt;MarketQuotingStrategy также не откатывает на лучшую цену.&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;
PriceOffset = Security.PriceStep, &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; выставляет заявку на BestPrice а должен перед ней.&lt;br /&gt;&lt;br /&gt;BestByPriceQuotingStrategy вообще не выставляет заявку.&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/32628/</id>
    <title type="text">Перезалил в группе архив со стратегиями. Что сделано: 1. Применены изменения (не все). 2. Порефактор...</title>
    <published>2015-02-16T13:08:01Z</published>
    <updated>2015-02-16T13:08:01Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Перезалил в группе архив со стратегиями. Что сделано:&lt;br /&gt;&lt;br /&gt;1. Применены изменения (не все).&lt;br /&gt;2. Порефакторено само котирование (убрано множество виртуальных методов).&lt;br /&gt;3. Поправлены некоторые котирования другие.&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/32609/</id>
    <title type="text">В BestByVolumeQuotingStrategy когда у лучшей заявки объем больше, чем суммарный который может стоять...</title>
    <published>2015-02-13T14:35:34Z</published>
    <updated>2015-02-13T14:35:34Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В BestByVolumeQuotingStrategy когда у лучшей заявки объем больше, чем суммарный который может стоять перед заявкой VolumeExchange. То заявку следует выставить перед этим объемом, то есть на 1 PriceStep лучше лучшей цены.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;А это условие зачем? Если у нас заявка попадает в приемлемый диапазон, то ведь это еще не значит, что ее не надо изменить (улучшить цену).&lt;br /&gt;	&lt;br /&gt;StockSharp платформа.&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.com/posts/m/32608/</id>
    <title type="text">if (Order != null &amp;amp;&amp;amp; acceptablePriceRange.Contains(Order.Price)) return null; А это условие зачем? Е...</title>
    <published>2015-02-13T14:23:42Z</published>
    <updated>2015-02-13T14:23:42Z</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="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
if (Order != null &amp;amp;&amp;amp; acceptablePriceRange.Contains(Order.Price))
 return null;&lt;/pre&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.com/posts/m/32607/</id>
    <title type="text">Я можно теперь своими словами сказать зачем нужен этот сдвиг?</title>
    <published>2015-02-13T14:19:56Z</published>
    <updated>2015-02-13T14:19:56Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Я можно теперь своими словами сказать зачем нужен этот сдвиг?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32606/</id>
    <title type="text">Свойство. Упс. Получить цену лучше лучшей цены BestPrice, на минимальный шаг цены PriceStep, если от...</title>
    <published>2015-02-13T13:57:49Z</published>
    <updated>2015-02-13T13:57:49Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Свойство. Упс.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Получить цену лучше лучшей цены BestPrice, на минимальный шаг цены PriceStep, если отсутствуют котировки то будет возвращено &amp;lt;see langword=&amp;quot;null&amp;quot;/&amp;gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если покупка BestPriceAddPriceStep=BestPrice+PriceStep&lt;br /&gt;если продажа BestPriceAddPriceStep=BestPrice-PriceStep&lt;br /&gt;&lt;br /&gt;Я C# изучал на курсах у S#. Код рабочий, но он может быть не изящный как у тру програмистов. </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32604/</id>
    <title type="text">А что делает метод BestPriceAddPriceStep? У него такое описание, что то ли половина слов пропало, то...</title>
    <published>2015-02-13T13:36:14Z</published>
    <updated>2015-02-13T13:36:14Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">А что делает метод BestPriceAddPriceStep? У него такое описание, что то ли половина слов пропало, то ли запятые не выставлены:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;Получить цену лучше лучшей цены BestPrice, на минимальный шаг цены PriceStep то будет возвращено null.&lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32593/</id>
    <title type="text">Почти на всех стратегиях котирования наблюдалась выше описанная проблема. Проблему поправил, провери...</title>
    <published>2015-02-12T19:24:25Z</published>
    <updated>2015-02-12T19:24:25Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Почти на всех стратегиях котирования наблюдалась выше описанная проблема. Проблему поправил, проверил на учебном Квике, выложил стратегии ВКонтакте &lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAADa7P_4NHqE_OLFtnFd-d2rc9GNm78BSRg5Z4VassvwQA69iuY3yZoYqMLR64oM6g4" title="http://vk.com/docs?oid=-66650972
"&gt;http://vk.com/docs?oid=-66650972
&lt;/a&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/32548/</id>
    <title type="text">Думаю что вы не правы. Котирование как раз реагирует на изменение стакана. Конечно реагирует, и пише...</title>
    <published>2015-02-05T13:15:39Z</published>
    <updated>2015-02-05T15:32:24Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.com/users/6502/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/32547/" 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;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_3120a48f7cfa4d369badfc1548c36416');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_3120a48f7cfa4d369badfc1548c36416' style='display:none'&gt;2015/02/05 21:37:54.294|Debug |MQS_HALS@QJSIM_83312|Правило &amp;#39;Изменение стакана инструмента HALS@QJSIM (0x3B3F729)&amp;#39;. Активация.&lt;/div&gt;&lt;br /&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_df884ef458ad47cabc146362e156679b');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_df884ef458ad47cabc146362e156679b' style='display:none'&gt;2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Цена текущей 1281 и лучшей 1278.&lt;br /&gt;2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Лучший бид 1281 и лучший аск 1289.&lt;/div&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_ed84006129444f24a8abd2a930b9b147');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_ed84006129444f24a8abd2a930b9b147' style='display:none'&gt;2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Котирование заявки 77834723 (0x2641245) на Buy с ценой 1281 объемом 1.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;RomSunZ все верно сказал,	&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;MQS считает свою заявку лучшей, поэтому не откатывает эту заявку &amp;quot;назад&amp;quot; к краю спреда в стакане. &lt;/div&gt;&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>