﻿<?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">особенности работы BatchStrategy</title>
  <id>~/topic/1289/osobennosti-raboty-batchstrategy/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-07-02T18:59:51Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1289" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/5152/</id>
    <title type="text">Фильтрацию добавил, но вобщем ничего не поменялось. Лог означает профит сделки, т.е. я ожидаю чтото ...</title>
    <published>2010-12-23T09:47:56Z</published>
    <updated>2010-12-23T09:47:56Z</updated>
    <author>
      <name>xtonic</name>
      <uri>https://stocksharp.ru/users/27714/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Фильтрацию добавил, но вобщем ничего не поменялось.
Лог означает профит сделки, т.е. я ожидаю чтото такое:
+30
+30
-10
+30
-10
-10&lt;/p&gt;
&lt;p&gt;т.е. видим что убыточные сделки закрываются в -10 пунктов т.е. по стоплоссу, а прибыльные
по тейкпрофиту: +30. Конечно такого ожидать можно в идеале, а на практике должны быть отклонения,
но я не думал что такие будут большие. Может это из-за повышенной волатильности инструмента такое быть, тестирую на RIH1 ?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/5141/</id>
    <title type="text">В логе ничего не понял. А вот по коду могу сказать, что фильтр на сделки необходимо добавить http://...</title>
    <published>2010-12-22T17:38:16Z</published>
    <updated>2010-12-22T17:38:16Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В логе ничего не понял. А вот по коду могу сказать, что фильтр на сделки необходимо добавить &lt;a href="http://stocksharp.com/doc/help/html/63952fce-6e43-4427-985a-1654e8d9cfc1.htm"&gt;http://stocksharp.com/doc/help/html/63952fce-6e43-4427-985a-1654e8d9cfc1.htm&lt;/a&gt; .&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; // фильтруем сделки, чтобы найти те, которые произошли для заявки TargetOrder
	trades = trades.Where(t =&amp;gt; t.Order == this.TargetOrder);
	
	// если не найдена ни одна сделка для заявки TargetOrder
	if (trades.Count() == 0)
		return;
&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/5136/</id>
    <title type="text">Для закрытия позиций по стопу и профиту использую BatchStrategy, также стратегия может робота иногда...</title>
    <published>2010-12-22T13:00:11Z</published>
    <updated>2010-12-22T13:00:11Z</updated>
    <author>
      <name>xtonic</name>
      <uri>https://stocksharp.ru/users/27714/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Для закрытия позиций по стопу и профиту использую BatchStrategy, также стратегия может робота иногда закрывать
позиции сама.
Сделал все по примеру, но результат прямо скажем удивительный, возможно я выбрал слишком маленьки значения (10 пунктов stoploss и 30 - takeprofit).
Есть и позиции закрытые точно по указанным числам, но в основном отклонения довольно приличные, вот примерный список сегодняшних закрытий:
+30
+30 ок ! 2 раза закрылись по профиту, хорошо, идем далее:
-50
-55
-75
-140
-35
-5
45
95
130
5
и так далее, то есть даже незнаю что и делать.&lt;/p&gt;
&lt;p&gt;Код у меня такой, вобщем просто взят из документации:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
        private void OnMewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)
        {
            var sec = trades.First().Trade.Security;
            // для каждой сделки добавляем для защиты по пакетной стратегии
            foreach (var t in trades) {
                var s = new BatchStrategy(BatchFinishModes.First) { IsParallel = true };

                // выставляет тейк-профит в 30 пунктов
                var takeProfit = new TakeProfitStrategy(t, 30.Points(sec));

                // выставляет стоп-лосс в 10 пунктов
                var stopLoss = new StopLossStrategy(t, 10.Points(sec));

                // делаем стратегии параллельными, чтобы они не блокировали работу контролирующей BatchStrategy
                takeProfit.IsParallel = stopLoss.IsParallel = true;

                s.ChildStrategies.Add(takeProfit);
                s.ChildStrategies.Add(stopLoss);
                batch.ChildStrategies.Add(s);
                //return s;
            };

            base.ChildStrategies.Add(batch);
       }

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>