﻿<?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">S#.API 4.2.1.3</title>
  <id>~/topic/4211/s_api-4_2_1_3/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-04T09:27:26Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=4211" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/28691/</id>
    <title type="text">[quote=Rebelion;28680] Если ткнёте мордой в ошибки моего кода, приводящего к таким последствиям, - я...</title>
    <published>2013-12-19T20:08:35Z</published>
    <updated>2013-12-19T20:08:35Z</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;[quote=Rebelion;28680]
Если ткнёте мордой в ошибки моего кода, приводящего к таким последствиям, - я и проставиться могу, в случае чего.
[/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.ru/posts/m/28680/</id>
    <title type="text">[quote=Михаил Сухов;28679][quote=Rebelion;28678]P.S. Работал через QuikTrader (если эта инфа может ч...</title>
    <published>2013-12-18T21:21:26Z</published>
    <updated>2013-12-18T21:21:26Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.ru/users/28840/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;[quote=Михаил Сухов;28679][quote=Rebelion;28678]P.S. Работал через QuikTrader (если эта инфа может что дополнительное дать).[/quote]&lt;/p&gt;
&lt;p&gt;Нам пишут, что мол в новых версий что-то не работает. А у вас все наоборот. Не просто работает, да еще и своей жизнь зажило.&lt;/p&gt;
&lt;p&gt;Скорее всего ошибка не в коннекторе.[/quote]&lt;/p&gt;
&lt;p&gt;Михаил, я, собственно, не претендую на истину в последней инстанции и не пытаюсь доказать, что всё плохо. Наоборот, всё кул. Не будь S#, то у мну не было бы нормальной торговой платформы для бота. Просто хотел акцентировать внимание, что код, стабильно работающий в 4.1.19.1 пару раз закосячил в 4.2.1.3. Вполне вероятно, что у меня руки из жопы растут. Т.к. пока у мну нет подробного описания функционала кроме того, что идёт в стандартной комплектации, то работаю методом проб и ошибок, если честно. После НГ планирую пойти на курсы по S#, да. Пока что просто денег нет.
Просто хотел акцентировать внимание на то, что была проблема после перехода на новую версию. И что новичкам типа меня не стоит со стабильной версии переходить на более новую пока что, ибо чревато... :-(&lt;/p&gt;
&lt;p&gt;Если ткнёте мордой в ошибки моего кода, приводящего к таким последствиям, - я и проставиться могу, в случае чего.&lt;/p&gt;
&lt;p&gt;[code=csharp]
if (isNewEntranceSignalUp &amp;amp;&amp;amp; Position &amp;lt;= 0 || isNewEntranceSignalDown &amp;amp;&amp;amp; Position &amp;gt;= 0 || isNeedtoBeClose)
{
CancelActiveOrders();&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                        SuspendRules();

                        if (Position != 0)
                        {
                            var orderDirectionToClose = Position &amp;lt; 0 ? OrderDirections.Buy : OrderDirections.Sell;
                            var orderPriceToClose = Position &amp;lt; 0 ? Security.MaxPrice : Security.MinPrice;

                            var oldPositionToClose = this.CreateOrder(orderDirectionToClose, orderPriceToClose, Math.Abs(Position));
                            oldPositionToClose.Comment = &amp;quot;Main&amp;quot;;

                            RegisterOrder(oldPositionToClose);
                        }                            

                        var newOrderDirection = isNewEntranceSignalUp == true ? OrderDirections.Buy : OrderDirections.Sell;
                        var newOrderPrice = isNewEntranceSignalUp == true ? Security.MaxPrice : Security.MinPrice;                         

                        var newPositionToOpen = this.CreateOrder(newOrderDirection, newOrderPrice, 1);
                        newPositionToOpen.Comment = &amp;quot;Main&amp;quot;;

                        newPositionToOpen.WhenMatched().Do(() =&amp;gt; newPositionToOpen.WhenNewTrades().Do(OnNewOrderTrades).Apply(this)).Apply(this);
                        RegisterOrder(newPositionToOpen);
                        
                        ResumeRules();
                    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;[/code]&lt;/p&gt;
&lt;p&gt;[code=csharp]
private void OnNewOrderTrades(IEnumerable&lt;MyTrade&gt; myTrades)
{
var protectiveStrategies = myTrades.Select(t =&amp;gt;
{
if (t.Order.Comment.CompareTo(&amp;quot;Main&amp;quot;) == 0)
{
var newStrategyFromTrade = new StopLossStrategy(t, new Unit(TraderHelper.ShrinkPrice(t.Trade.Security, stopLossParameter * (decimal)currentParams.candleSize))) { IsTrailing = true, UseQuoting = false, PriceOffset = (decimal)currentParams.candleSize * pricePieces, DisposeOnStop = true, ProtectiveVolume = t.Trade.Volume, MaxRegisterFailCount = 5, };
externalogManager.Sources.Add(newStrategyFromTrade);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                return newStrategyFromTrade;
            }
            else
                return null;
        });

        foreach (var s in protectiveStrategies)
        {
            if (s != null)
                ChildStrategies.Add(s);
        }

        base.OnNewMyTrades(myTrades);
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;[/code]&lt;/p&gt;
&lt;p&gt;Собственно, [code=csharp]isNewEntranceSignalUp, isNewEntranceSignalDown, isNeedtoBeClose[/code] - логические переменные, определяющие вход в позицию.&lt;/p&gt;
&lt;p&gt;В основном, всё остальное стандартно - у бота ноги растут, как можно понять, из SampleSMA.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/28679/</id>
    <title type="text">[quote=Rebelion;28678]P.S. Работал через QuikTrader (если эта инфа может что дополнительное дать).[/...</title>
    <published>2013-12-18T20:11:40Z</published>
    <updated>2013-12-18T20:11:40Z</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;[quote=Rebelion;28678]P.S. Работал через QuikTrader (если эта инфа может что дополнительное дать).[/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.ru/posts/m/28678/</id>
    <title type="text">Второй день подряд в момент сильного движа вижу картину маслом - в районе 11-ти вечера случается как...</title>
    <published>2013-12-18T19:20:25Z</published>
    <updated>2013-12-18T19:48:54Z</updated>
    <author>
      <name>Rebelion</name>
      <uri>https://stocksharp.ru/users/28840/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Второй день подряд в момент сильного движа вижу картину маслом - в районе 11-ти вечера случается какой-то глюк и происходит накопление позиции, при этом сам бот подвисает так, что лог не посмотреть (я сдуру отключил печатный лог, оставил только мониторинг, запускал из-под MSVS, бот повис). Вчера успел выйти из позы без сильных потерь. А сегодня на заявлениях дяди Бени влетел мама не горюй - процентов 20 счёта подарил кому-то.
Я без претензий, просто осторожнее пользоваться на первых порах новой сборкой рекомендейшн. Сам откатываюсь на 4.1.19.1 - там такого не бывало.&lt;/p&gt;
&lt;p&gt;P.S. Работал через QuikTrader (если эта инфа может что дополнительное дать).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>