Ошибка деления на 0 при добавлении в индикатор RSquared (линейная регрессия)~/topic/2528/oshibka-deleniya-na-0-pri-dobavlenii-v-indikator-rsquared-(lineinaya-regressiya)/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T16:31:21Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/17751/Так, разобрался. Ошибка возникает в индикаторе - если подряд 3 одинаковых входных значения (горизонт...2012-03-27T14:09:34Z2012-03-27T14:09:53ZSpiritschaserhttps://stocksharp.com/users/1927/info@stocksharp.comТак, разобрался. Ошибка возникает в индикаторе - если подряд 3 одинаковых входных значения (горизонтальная на графике), то по алгоритму R Squared получается деление на ноль. В Excel, что характерно, то же самое.<br /><br />Length = 3, у меня среднее от y равно любому y - сигма равна нулю, поэтому все проблемы.<br />Идеологический вопрос - имеет ли смысл переделывать индикатор, делать проверку в индикаторе и в случае деления на ноль ставить значение "1" (что по смыслу верно, но не верно по формулам), или выдумывать проверку при заполнении индикатора?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/17749/на какой строчке exception возникает? Update: посмотрел код, у вас видимо Length = 0. посмотрите сам...2012-03-27T13:48:28Z2012-03-27T13:50:19ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.comна какой строчке exception возникает?<br /><br />Update:<br />посмотрел код, у вас видимо Length = 0.<br />посмотрите сами дебагером по индикаторуCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/17748/Вот сообщение об ошибке - я его не понимаю... Я посмотрел - цены открытия и закрытия свечки были в п...2012-03-27T13:32:28Z2012-03-27T13:33:23ZSpiritschaserhttps://stocksharp.com/users/1927/info@stocksharp.comВот сообщение об ошибке - я его не понимаю... Я посмотрел - цены открытия и закрытия свечки были в порядке.<br />System.DivideByZeroException не обработано пользовательским кодом<br /><div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote"><br /> Message=Попытка деления на нуль.<br /> Source=mscorlib<br /> StackTrace:<br /> в System.Decimal.FCallDivide(Decimal& d1, Decimal& d2)<br /> в System.Decimal.op_Division(Decimal d1, Decimal d2)<br /> в StockSharp.Algo.Indicators.Misc.RSquared.OnProcess(IIndicatorValue input)<br /> в StockSharp.Algo.Indicators.BaseIndicator`1.Process(IIndicatorValue input)<br /> в SampleSMA.MainWindow.DrawSma() в C:\Users\HP Pavilion\Desktop\Trading\StockSharp_4.0.21\Samples\Quik\MySMA2\MainWindow.xaml.cs:строка 394<br /> в SampleSMA.MainWindow.<Connect_Click>b__a(CandleToken token, IEnumerable`1 candles) в C:\Users\HP Pavilion\Desktop\Trading\StockSharp_4.0.21\Samples\Quik\MySMA2\MainWindow.xaml.cs:строка 297<br /> в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action`2 handler, T1 arg1, T2 arg2)<br /> в StockSharp.Algo.Candles.CandleManager.RaiseCandlesStarted(CandleToken token, IEnumerable`1 candles)<br /> в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action`2 handler, T1 arg1, T2 arg2)<br /> в StockSharp.Algo.Candles.CandleBuilder.RaiseNewCandles(CandleToken token, IEnumerable`1 candles)<br /> в StockSharp.Algo.Candles.CandleBuilder.#=qrC1BYTEit9X4JvpiAE7mfA==(IEnumerable`1 #=qnVyGvAOu6RvhPx2ecTcacg==)<br /> InnerException: <br /></div></div>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/17684/Спасибо! О "нулевой" цене я и не подумал.2012-03-26T12:10:38Z2012-03-26T12:10:38ZSpiritschaserhttps://stocksharp.com/users/1927/info@stocksharp.comСпасибо! О "нулевой" цене я и не подумал.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/17681/Что это может быть? посмотрите на stacktrace. по вашим словам у вас получается closeprice и openpric...2012-03-26T11:41:16Z2012-03-26T11:41:16ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.com<div class="quote"><span class="quotetitle">Spiritschaser <a href="https://stocksharp.com/posts/m/17678/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Что это может быть?</div></div><br /><br />посмотрите на stacktrace.<br />по вашим словам у вас получается closeprice и openprice у свечки = 0.<br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/17678/Добрый день! Наконец-то написал себе робота (альфа-версию), основанного на регрессионном анализе. В ...2012-03-26T11:38:28Z2012-03-26T11:38:28ZSpiritschaserhttps://stocksharp.com/users/1927/info@stocksharp.comДобрый день!<br /><br />Наконец-то написал себе робота (альфа-версию), основанного на регрессионном анализе.<br /><br />В основном работает, но ВНЕЗАПНО при добавлении в индикатор через стратегию очередного среднего значения свечи ругается на эксепшн деления на 0.<br /><div class="code"><strong>Code</strong><div class="innercode"><pre class="brush:csharp">
_strategy.LR_R3.Process((DecimalIndicatorValue)(candle.OpenPrice / 2 + candle.ClosePrice / 2));</pre>
</div></div><br />(здесь LR_3 - R квадрат на 3 периода - характеризует "мгновенную" волатильность)<br /><br />Что это может быть? Добавить обработку делений на 0 в самом индикаторе???Copyright @ StockSharp Platform LLC 2010 - 2024