﻿<?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/4031/problema-sinhronizatsii-sobytii/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-19T19:32:15Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4031" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/27772/</id>
    <title type="text">up</title>
    <published>2013-10-15T13:25:13Z</published>
    <updated>2013-10-15T13:25:13Z</updated>
    <author>
      <name>Jean</name>
      <uri>https://stocksharp.com/users/49750/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">up</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/27709/</id>
    <title type="text">Здравствуйте,реализовываю элементарную стратегию:1.При отсутствии позиций – начать котировать от пок...</title>
    <published>2013-10-08T12:48:17Z</published>
    <updated>2013-10-08T13:06:59Z</updated>
    <author>
      <name>Jean</name>
      <uri>https://stocksharp.com/users/49750/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Здравствуйте,реализовываю элементарную стратегию:1.При отсутствии позиций – начать котировать от покупки по цене лучший бид -10 (минус 10 пунктов).&lt;br /&gt;2. При наличии позиции +1 – начать котировать от продажи по цене лучший аск +10 (плюс 10 пунктов).&lt;br /&gt;Если при котировании происходит сделка – начинать котирование с противоположной стороны стакана (после сделки на покупку - начать котирование от продажи, после сделки на продажу – начать котирование от покупки).&lt;br /&gt; Для его реализации я использую два события MarketDepth.WhenChanged - в нем я меняю Price и Order.WhenMatched -  в нем я создаю заявку противоположную по направлению (OrderDirections)к предыдущей. Но я не могу их синхронизировать, даже если я использую Sync у обоих этих правил,то все время отрабатывает правило MarketDepth.WhenChanged  и вследствие этого программа не заходит в метод обработки события Order.WhenMatched.&lt;br /&gt;Если убрать синхронизацию правил, то будут отрабатывать оба обработчика, но некоректно. Если я убираю у правил Sync, то из под дебагера я вижу, как алгоритм заходит в оба обработчика правил, но тогда возникает ситуация, когда в одном методе отрабатывает несколько инструкций, перескакивает на метод другого правила, потом снова возваращается и вследствие этого падает множество ошибок. Например, когда в стратегии отменяется заявка для выставления нового Price у этой же заявки, но она уже на самом деле выполнилась и этой заявки, которая отменяется, уже нет, а новая не создалась, так как не отработало правило для события Order.WhenMatched.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>