﻿<?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/4244/graal-!!!/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-04T14:04:50Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=4244" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/29335/</id>
    <title type="text">[quote=Михаил Сухов;29333]Бага у вас в коде. Это даже видно невооруженным глазом. [/quote] Баги в ко...</title>
    <published>2014-01-25T20:57:10Z</published>
    <updated>2014-01-25T20:57:10Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Михаил Сухов;29333]Бага у вас в коде. Это даже видно невооруженным глазом. [/quote]&lt;/p&gt;
&lt;p&gt;Баги в коде нет, если б была, вы б на нее указали и диалог можно б было не продолжать.&lt;/p&gt;
&lt;p&gt;[quote=Михаил Сухов;29333]Утомили вы меня. Все ваши следующие вопросы будут без ответа.[wink] [/quote]&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.com/posts/m/29333/</id>
    <title type="text">[quote=longtrades;29332] А если серйозно, то слишком много багов с каждой новой версией вашей библио...</title>
    <published>2014-01-25T19:52:41Z</published>
    <updated>2014-01-25T19:52:41Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=longtrades;29332]
А если серйозно, то слишком много багов с каждой новой версией вашей библиотеки ... потому и осторожно отношусь уже к ней.
[/quote]&lt;/p&gt;
&lt;p&gt;Бага у вас в коде. Это даже видно невооруженным глазом.&lt;/p&gt;
&lt;p&gt;Утомили вы меня. Все ваши следующие вопросы будут без ответа.[wink]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29332/</id>
    <title type="text">[quote=Михаил Сухов;29323][quote=Евгений Гович;29322]МАшки рулят)))[/quote] А я о чем? Человеку нужн...</title>
    <published>2014-01-25T19:37:36Z</published>
    <updated>2014-01-25T19:37:36Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Михаил Сухов;29323][quote=Евгений Гович;29322]МАшки рулят)))[/quote]&lt;/p&gt;
&lt;p&gt;А я о чем? Человеку нужно очередь в банке занимать за кредитом.[lol][/quote]&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.com/posts/m/29329/</id>
    <title type="text">[quote=Rebelion;29327]Михаил, а можно ли будет к какой-либо версии новой S#.API в TrendMarketDepthGe...</title>
    <published>2014-01-25T14:32:37Z</published>
    <updated>2014-01-25T14:32:37Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Rebelion;29327]Михаил, а можно ли будет к какой-либо версии новой S#.API в TrendMarketDepthGenerator прикрутить контейнер, который бы содержал информацию о текущем стакане и событие[/quote]&lt;/p&gt;
&lt;p&gt;Это не требуется в принципе. Генераторы, как и матчер, как и стратегия пользовательская, пропускается через каждое сообщение Message, что загружается из истории (тоесть, вообще вся информация). Поэтому в генераторе нужно или логировать все входящее в него, или как-то накапливать изменения самостоятельно.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29327/</id>
    <title type="text">Михаил, а можно ли будет к какой-либо версии новой S#.API в TrendMarketDepthGenerator прикрутить кон...</title>
    <published>2014-01-25T13:39:12Z</published>
    <updated>2014-01-25T13:39:12Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.com/users/28840/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Михаил, а можно ли будет к какой-либо версии новой S#.API в TrendMarketDepthGenerator прикрутить контейнер, который бы содержал информацию о текущем стакане и событие, к которому можно было бы подписаться, чтобы получить обновлённый стакан после генерации оного заново? Это для логирования - и Вам будет полезнее, т.к. мы сможем логи присылать. Или это реализовано уже, а я просто не знаю о подобном функционале генерируемого стакана?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29323/</id>
    <title type="text">[quote=Евгений Гович;29322]МАшки рулят)))[/quote] А я о чем? Человеку нужно очередь в банке занимать...</title>
    <published>2014-01-25T12:21:43Z</published>
    <updated>2014-01-25T13:34:34Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Евгений Гович;29322]МАшки рулят)))[/quote]&lt;/p&gt;
&lt;p&gt;А я о чем? Человеку нужно очередь в банке занимать за кредитом.[lol]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29322/</id>
    <title type="text">МАшки рулят))) </title>
    <published>2014-01-25T12:18:29Z</published>
    <updated>2014-01-25T12:18:29Z</updated>
    <author>
      <name>Евгений Гович</name>
      <uri>https://stocksharp.com/users/50017/</uri>
      <email>info@stocksharp.com</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.com/posts/m/29320/</id>
    <title type="text">[quote=longtrades;29319]Встречное предложение , переделать событие МаркетТаймЧендж так что бы оно вы...</title>
    <published>2014-01-25T12:15:29Z</published>
    <updated>2014-01-25T12:15:29Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=longtrades;29319]Встречное предложение ,  переделать событие МаркетТаймЧендж так что бы оно выдавало не ТаймСпан , Трейдер.КарентТайм и сделать возможность у ХисториТрейдера получать стакан на Определенное время, тогда точно  можно будет избежать заглядывания в будущее.[/quote]&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.com/posts/m/29319/</id>
    <title type="text">Встречное предложение , переделать событие МаркетТаймЧендж так что бы оно выдавало не ТаймСпан , Тре...</title>
    <published>2014-01-25T11:47:03Z</published>
    <updated>2014-01-25T11:47:03Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</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.com/posts/m/29318/</id>
    <title type="text">А причем тут объяснение? Логи и анализ сделок. Под лежачей камень вода не течет. </title>
    <published>2014-01-25T11:30:48Z</published>
    <updated>2014-01-25T11:30:48Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</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.com/posts/m/29315/</id>
    <title type="text">Других обьяснений такой резко возростающей еквити прочи без просадок у меня нет , причем на такой ел...</title>
    <published>2014-01-25T10:35:02Z</published>
    <updated>2014-01-25T10:35:02Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Других обьяснений такой резко возростающей еквити прочи без просадок у меня нет , причем на такой елементароной стратегии .
Уверен больше чем на 1000% процентов что даная стратегия сольет в реале, даже если ее разместить на М1.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29314/</id>
    <title type="text">[quote=longtrades;29312] Если есть какие-то конструктивные предложения как сделать что-б тестер не з...</title>
    <published>2014-01-25T10:01:35Z</published>
    <updated>2014-01-25T10:01:35Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=longtrades;29312]
Если есть какие-то конструктивные предложения как сделать что-б тестер не заглядывал в будущее прошу высказывать.
[/quote]&lt;/p&gt;
&lt;p&gt;А с чего вы взяли, что проблема в тестере?[biggrin] У нас тестер поточный, а не дискретный. Плюс поток обработки поступающих данных и расчетов - один. Тоесть подглядывание в принципе быть не может, потому что будущее состояние еще не загружено в диска.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/29313/</id>
    <title type="text">Попробовал переделать чтобы реагировать не на изменение времени, а на изменение стакана : [code=csha...</title>
    <published>2014-01-25T09:58:23Z</published>
    <updated>2014-01-25T09:58:45Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Попробовал переделать чтобы реагировать не на изменение времени, а на изменение стакана :
[code=csharp]
namespace SampleHistoryTesting
{
using Ecng.Common;
using System.Collections.Generic;
using System.Linq;
using StockSharp.Algo;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Testing;
using StockSharp.Logging;
using StockSharp.BusinessEntities;
using StockSharp.Messages;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;class SmaStrategy : Strategy
{
    private readonly CandleSeries _series;
    private bool _isShortLessThenLong;

    public SmaStrategy(CandleSeries series, SimpleMovingAverage longSma, SimpleMovingAverage shortSma)
    {
        _series = series;

        LongSma = longSma;
        ShortSma = shortSma;
    }

    public SimpleMovingAverage LongSma { get; private set; }
    public SimpleMovingAverage ShortSma { get; private set; }

    protected override void OnStarted()
    {

        Connector.MarketDepthsChanged += items =&amp;gt; ProcessDepth(items);

       // this.Connector.MarketTimeChanged += t =&amp;gt; ProcessDepth();

        // запоминаем текущее положение относительно друг друга
        _isShortLessThenLong = ShortSma.GetCurrentValue() &amp;lt; LongSma.GetCurrentValue();

        base.OnStarted();
    }


    Order buy_order = null;
    Order sell_order = null;

    private void ProcessDepth(IEnumerable&amp;lt;MarketDepth&amp;gt; depths)
    {
        var depth = depths.Last();
        var Volume = 1;
        if (this.Position &amp;lt;= 0)
        {
            if (buy_order != null)
            {
                if (buy_order.State == OrderStates.Done || buy_order.State == OrderStates.Failed)
                {
                    buy_order = this.CreateOrder(OrderDirections.Buy, depth.BestBid.Price, Volume);
                    RegisterOrder(buy_order);
                }
                else
                    if (buy_order.Price != Security.BestBid.Price)
                    {
                        this.CancelOrder(buy_order);
                        buy_order = this.CreateOrder(OrderDirections.Buy, depth.BestBid.Price, Volume);
                        RegisterOrder(buy_order);
                    }
            }
            else
            {
                buy_order = this.CreateOrder(OrderDirections.Buy, depth.BestBid.Price, Volume);
                RegisterOrder(buy_order);
            }
        }
        else
        {
            if (buy_order != null)
            {
                this.CancelOrder(buy_order);
                buy_order = null;
            }
        }

        if (this.Position &amp;gt;= 0)
        {
            if (sell_order != null)
            {
                if (sell_order.State == OrderStates.Done || sell_order.State == OrderStates.Failed)
                {
                    sell_order = this.CreateOrder(OrderDirections.Sell, depth.BestAsk.Price, Volume);
                    RegisterOrder(sell_order);
                }
                else
                    if (sell_order.Price != Security.BestAsk.Price)
                    {
                        this.CancelOrder(sell_order);
                        sell_order = this.CreateOrder(OrderDirections.Sell, depth.BestAsk.Price, Volume);
                        RegisterOrder(sell_order);
                    }
            }
            else
            {
                sell_order = this.CreateOrder(OrderDirections.Sell, depth.BestAsk.Price, Volume);
                RegisterOrder(sell_order);
            }

        }
        else
        {
            if (sell_order != null)
            {
                this.CancelOrder(sell_order);
                sell_order = null;
            }
        }
    }


}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}
[/code]&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.com/posts/m/29312/</id>
    <title type="text">Наконец дошли руки проверить работу 4.2.2.2, Так вот :[size=6][color=red] ГРААЛЬ продолжает показыва...</title>
    <published>2014-01-25T09:24:30Z</published>
    <updated>2014-01-25T09:24:30Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Наконец дошли руки проверить работу 4.2.2.2,
Так вот :[size=6][color=red] ГРААЛЬ продолжает показывать потрясающие результаты на тестировании !!![/color][/size]&lt;/p&gt;
&lt;p&gt;Так что доверять тестированию по стаканах с использование [color=red]библиотеки StockSharp пока нельзя !!![/color]&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.com/posts/m/28848/</id>
    <title type="text">[quote=Михаил Сухов;28846] Что подразумевается под словом &amp;quot;положение&amp;quot;? [/quote] Имеется ввиду положе...</title>
    <published>2014-01-03T21:59:18Z</published>
    <updated>2014-01-08T08:57:42Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Михаил Сухов;28846]
Что подразумевается под словом &amp;quot;положение&amp;quot;? [/quote]
Имеется ввиду положение в очереди на даном уровне цены , тоесть если моя заявка пришла 10-той она должна уйти 10-той, не первой и не последней и не когда произойдет прохождение цены сквозь уровень.&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.com/posts/m/28850/</id>
    <title type="text">Ждем с нетерпением новой версии, Спасибо. </title>
    <published>2014-01-03T22:21:20Z</published>
    <updated>2014-01-03T22:21:20Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&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.com/posts/m/28849/</id>
    <title type="text">[quote=longtrades;28848] Имеется ввиду положение в очереди на даном уровне цены , тоесть если моя за...</title>
    <published>2014-01-03T22:16:45Z</published>
    <updated>2014-01-03T22:17:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=longtrades;28848]
Имеется ввиду положение в очереди на даном уровне цены , тоесть если моя заявка пришла 10-той она должна уйти 10-той, не первой и не последней и не когда произойдет прохождение цены сквозь уровень.[/quote]&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.com/posts/m/28846/</id>
    <title type="text">[quote=longtrades;28845]В соседней ветке задал Михаилу вопрос как Тестер учитывает стаканы , сам на ...</title>
    <published>2014-01-03T21:41:35Z</published>
    <updated>2014-01-03T21:41:35Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;[quote=longtrades;28845]В соседней ветке задал Михаилу вопрос как Тестер учитывает стаканы , сам на него отвечаю :&lt;/p&gt;
&lt;p&gt;[color=red][u][b]Никак!!! Он их видит но не учитывает положение нашего ордера в стакане.[/b][/u][/color]
[/quote]&lt;/p&gt;
&lt;p&gt;Что подразумевается под словом &amp;quot;положение&amp;quot;? Если имеется ввиду цена заявки относительно цен в стакане, то, конечно же, учитывается. Матчеру вообще не известно, какие заявки пользовательские, а какие из сохраненной истории. Ему просто льется поток и он их матчит между собой.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/28845/</id>
    <title type="text">В соседней ветке задал Михаилу вопрос как Тестер учитывает стаканы , сам на него отвечаю : [color=re...</title>
    <published>2014-01-03T21:04:01Z</published>
    <updated>2014-01-03T21:05:37Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;В соседней ветке задал Михаилу вопрос как Тестер учитывает стаканы , сам на него отвечаю :&lt;/p&gt;
&lt;p&gt;[color=red][u][b]Никак!!! Он их видит но не учитывает положение нашего ордера в стакане.[/b][/u][/color]&lt;/p&gt;
&lt;p&gt;Вот вам доказательство: берем стандартный пример SampleHistoryTesting в настройка трейдера изменяем :&lt;/p&gt;
&lt;p&gt;MarketTimeChangedInterval = TimeSpan.FromMilliseconds(10);&lt;/p&gt;
&lt;p&gt;теперь содержимое SmaStrategy.cs изменяем так что-бы каждые 10мс мы проверяли свои ордера на покупку и продажу и переставляли их на лучший бид и офер + контроль позиции.&lt;/p&gt;
&lt;p&gt;[code=csharp]
namespace SampleHistoryTesting
{
using Ecng.Common;
using System.Collections.Generic;
using System.Linq;
using StockSharp.Algo;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Indicators.Trend;
using StockSharp.Algo.Strategies;
using StockSharp.Algo.Testing;
using StockSharp.Logging;
using StockSharp.BusinessEntities;
using StockSharp.Messages;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;class SmaStrategy : Strategy
{
	private readonly CandleSeries _series;
	private bool _isShortLessThenLong;

	public SmaStrategy(CandleSeries series, SimpleMovingAverage longSma, SimpleMovingAverage shortSma)
	{
		_series = series;

		LongSma = longSma;
		ShortSma = shortSma;
	}

	public SimpleMovingAverage LongSma { get; private set; }
	public SimpleMovingAverage ShortSma { get; private set; }

	protected override void OnStarted()
	{

        this.Security.Trader.NewMyTrades += trades =&amp;gt; NewMyTrades(trades);

        this.Trader.MarketTimeChanged += t =&amp;gt; ProcessDepth();

		// запоминаем текущее положение относительно друг друга
		_isShortLessThenLong = ShortSma.GetCurrentValue() &amp;lt; LongSma.GetCurrentValue();

		base.OnStarted();
	}

    private void NewMyTrades(IEnumerable&amp;lt;MyTrade&amp;gt; trades)           
    {


        foreach (var tr in trades)
        {
            if (tr.Order.GetTrades().Sum(x =&amp;gt; x.Trade.Volume) &amp;gt; tr.Order.Volume)
            {
                var Trtrades = this.Trader.MyTrades;
                var stp = 0;
            }
        }
    }

    Order buy_order = null;
    Order sell_order = null;

    private void ProcessDepth()
    {
        var Volume = 1;
        if (this.Position &amp;lt;= 0)
        {
            if (buy_order != null)
            {
                if (buy_order.State == OrderStates.Done || buy_order.State == OrderStates.Failed)
                {
                    buy_order = this.CreateOrder(OrderDirections.Buy, Security.BestBid.Price, Volume);
                    RegisterOrder(buy_order);
                }
                else
                    if (buy_order.Price != Security.BestBid.Price)
                    {
                        this.CancelOrder(buy_order);
                        buy_order = this.CreateOrder(OrderDirections.Buy, Security.BestBid.Price, Volume);
                        RegisterOrder(buy_order);
                    }
            }
            else
            {
                buy_order = this.CreateOrder(OrderDirections.Buy, Security.BestBid.Price, Volume);
                RegisterOrder(buy_order);
            }
        }
        else
        {
            if (buy_order != null)
            {
                this.CancelOrder(buy_order);
                buy_order = null;
            }
        }

        if (this.Position &amp;gt;= 0)
        {
            if (sell_order != null)
            {
                if (sell_order.State == OrderStates.Done || sell_order.State == OrderStates.Failed)
                {
                    sell_order = this.CreateOrder(OrderDirections.Sell, Security.BestAsk.Price, Volume);
                    RegisterOrder(sell_order);
                }
                else
                    if (sell_order.Price != Security.BestAsk.Price)
                    {
                        this.CancelOrder(sell_order);
                        sell_order = this.CreateOrder(OrderDirections.Sell, Security.BestAsk.Price, Volume);
                        RegisterOrder(sell_order);
                    }
            }
            else
            {
                sell_order = this.CreateOrder(OrderDirections.Sell, Security.BestAsk.Price, Volume);
                RegisterOrder(sell_order);
            }

        }
        else
        {
            if (sell_order != null)
            {
                this.CancelOrder(sell_order);
                sell_order = null;
            }
        }
    }


}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}
[/code]&lt;/p&gt;
&lt;p&gt;и получаем ГРААЛЬ !!!&lt;/p&gt;
&lt;p&gt;[color=red][b]Запускать на реале не советую , слив гарантирован!!![/b][/color]&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>