.Do((e) => {})~/topic/1909/_do((e)--)/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T22:13:26Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/11598/где ее искать, не подскажете? Так, это бага у нас. Будем заливать фикс на КодеПлекс.2011-09-27T08:56:54Z2011-09-27T08:56:54ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11575/"><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 />Так, это бага у нас. Будем заливать фикс на КодеПлекс.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11575/по .ProcessDataError пришла ошибка (до установки версии S# 4.00 ее не было) System.NullReferenceExce...2011-09-27T07:15:45Z2011-09-27T07:15:45Zrafhttps://stocksharp.com/users/28475/info@stocksharp.comпо .ProcessDataError пришла ошибка (до установки версии S# 4.00 ее не было)<br /><br /><div class="quote"><span class="quotetitle">Quote:</span><div class="innerquote">System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.<br /> в StockSharp.Smart.SmartTrader.#=q3tLr$QxrenSG5YjlASuEI3YJKIPBQt01k9cpFHgYyJQ=.#=q$5T2LCDBBwM47J333ZpQN36ivGAIvPSDWMTtg61c0To=(Security #=q9Td6zhg46FvqcJdw5D1efg==)<br /> в StockSharp.Algo.BaseTrader.ProcessSecurityAction(String nativeSecurityId, Action`1 action, Boolean ignoreIfNotExist)<br /> в StockSharp.Smart.SmartTrader.#=qSh1vnskI1TRN0VXH6_nhVXXVGijngdMW2AF_OFWjCXE=(String #=qyB8WsQekpkIh6dSNGced6A==, Trade #=qEBLG0UGbL90b4xwxzy0R6A==, Decimal #=q0E_NA6nZmhvkhKH9Ci8zww==, Decimal #=qrYwttbT28gJSOUZtT_4JZA==, Decimal #=qEfyBi1RA4cGneDuQdY1hwQ==, Decimal #=qZGMC$OXg6K$aauN5DNv2dA==, Int32 #=qT0uNmuX0Fqr6QaLol1s56w==, Quote #=qTapZLK3QErZ7k09eitKrgA==, Quote #=q2pQGnK9SatV4DyqfKpw1aA==, Decimal #=q$HfbK2GI21tagi2bu2fLwA==, Pair`2 #=qpLMOA6PGGidWhGuu6M6c2w==, Pair`2 #=qIGoV0D89lP0Mcox407wPfA==, Pair`2 #=q7DyFstvU7yzu9l4DEYRD9g==, Int32 #=qj7GnYHiH938qOmf2rsb_$w==)<br /> в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14](Action`14 handler, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)<br /> в StockSharp.Smart.SmartComWrapper.#=q25OG9KgOP3T$2fbADDueKDH$kJg0yiuVvMXisxs4WHg=.#=qssQr6uP7yJ480vRmReP11dv9g6dlSBmwuTLvi5k1_5I=()<br /> в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler)</div></div><br /><br /><br />где ее искать, не подскажете?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11256/Мне кажется обработку ошибок обращения к данным надо отдать в руки разработчика. Оборачивайте код в ...2011-09-20T09:42:48Z2011-09-20T09:42:48ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11253/"><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 />Оборачивайте код в try catch. Или еще как-то. S# тут при чем?Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11253/Дело не в том. Я просто не очень согласен с концепцией перехвата для дальнейшей пользовательской обр...2011-09-20T08:20:31Z2011-09-20T08:20:31Zrafhttps://stocksharp.com/users/28475/info@stocksharp.com<div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/11229/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11215/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Дело не в том. Я просто не очень согласен с концепцией перехвата для дальнейшей пользовательской обработки абсолютно всех ошибок.<br /></div></div><br /><br />Распишите по подробнее вашу концепцию.</div></div><br /><br />Мне кажется обработку ошибок обращения к данным надо отдать в руки разработчика. Тем более обрабатывать такие смешные явные ошибки как int i = "строка" (как в данном случае) вообще нет смысла. их надо ловить на этапе выявления и однозначно останавливать ход выполнения программы.<br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11229/Дело не в том. Я просто не очень согласен с концепцией перехвата для дальнейшей пользовательской обр...2011-09-19T15:20:30Z2011-09-19T15:20:30ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11215/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Дело не в том. Я просто не очень согласен с концепцией перехвата для дальнейшей пользовательской обработки абсолютно всех ошибок.<br /></div></div><br /><br />Распишите по подробнее вашу концепцию.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11215/ Вы не поняли. Исключение генерируется и оно перехватывается OnError и ProcessDataError. Обрабатывай...2011-09-19T12:12:07Z2011-09-19T12:12:07Zrafhttps://stocksharp.com/users/28475/info@stocksharp.com<div class="quote"><span class="quotetitle">Alexander <a href="https://stocksharp.com/posts/m/11201/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><br />Вы не поняли.<br />Исключение генерируется и оно перехватывается OnError и ProcessDataError. Обрабатывайте его там дальше как вам угодно. Хотите - делайте throw, хотите - перезагружайте стратегии. Всё зависит от вас.</div></div><br />Дело не в том. Я просто не очень согласен с концепцией перехвата для дальнейшей пользовательской обработки абсолютно всех ошибок. Ну да бог с ним)<br />Возможно в этом есть свои плюсы.<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11201/Strategy.OnError + ITrader.ProcessDataError? ИМХО удобней использовать throw Так вы саме обрабатывае...2011-09-19T10:17:46Z2011-09-19T10:17:46ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.com<div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11197/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Alexander <a href="https://stocksharp.com/posts/m/11194/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11190/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/11163/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Strategy.OnError + ITrader.ProcessDataError?<br /></div></div><br />ИМХО удобней использовать throw</div></div><br /><br />Так вы саме обрабатываете событие OnError и ProcessDataError и реагируете как хотите.<br />Останавливать работу приложения из-за ошибки внутри стратегии - не лучшая затея. Даже без имхо :)</div></div><br /><br />Если в стратегии возникают несовпадения типов, то это стратегия написана с критической ошибкой и программа не должна исполняться дальше. Несовпадение типов в C# в случае, когда нет возможности оповестить об этом на этапе компиляцмм, всегда вызывает исключение на этапе исполнения. Это не логическая ошибка, чтобы ее ловить Strategy.OnError + ITrader.ProcessDataError. И я слабо представляю себе ситуации, когда несовпадение типов заложено в логику исполнения программы намеренно... - если уж это делается намеренно, то и не забывается про try{} catch(). <br /></div></div><br /><br />Вы не поняли.<br />Исключение генерируется и оно перехватывается OnError и ProcessDataError. Обрабатывайте его там дальше как вам угодно. Хотите - делайте throw, хотите - перезагружайте стратегии. Всё зависит от вас.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11197/Strategy.OnError + ITrader.ProcessDataError? ИМХО удобней использовать throw Так вы саме обрабатывае...2011-09-19T10:11:01Z2011-09-19T10:11:01Zrafhttps://stocksharp.com/users/28475/info@stocksharp.com<div class="quote"><span class="quotetitle">Alexander <a href="https://stocksharp.com/posts/m/11194/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11190/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/11163/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Strategy.OnError + ITrader.ProcessDataError?<br /></div></div><br />ИМХО удобней использовать throw</div></div><br /><br />Так вы саме обрабатываете событие OnError и ProcessDataError и реагируете как хотите.<br />Останавливать работу приложения из-за ошибки внутри стратегии - не лучшая затея. Даже без имхо :)</div></div><br /><br />Если в стратегии возникают несовпадения типов, то это стратегия написана с критической ошибкой и программа не должна исполняться дальше. Несовпадение типов в C# в случае, когда нет возможности оповестить об этом на этапе компиляцмм, всегда вызывает исключение на этапе исполнения. Это не логическая ошибка, чтобы ее ловить Strategy.OnError + ITrader.ProcessDataError. И я слабо представляю себе ситуации, когда несовпадение типов заложено в логику исполнения программы намеренно... - если уж это делается намеренно, то и не забывается про try{} catch(). <br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11194/Strategy.OnError + ITrader.ProcessDataError? ИМХО удобней использовать throw Так вы саме обрабатывае...2011-09-19T09:00:37Z2011-09-19T09:00:37ZAlexanderhttps://stocksharp.com/users/2826/info@stocksharp.com<div class="quote"><span class="quotetitle">raf <a href="https://stocksharp.com/posts/m/11190/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/11163/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Strategy.OnError + ITrader.ProcessDataError?<br /></div></div><br />ИМХО удобней использовать throw</div></div><br /><br />Так вы саме обрабатываете событие OnError и ProcessDataError и реагируете как хотите.<br />Останавливать работу приложения из-за ошибки внутри стратегии - не лучшая затея. Даже без имхо :)Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11190/Strategy.OnError + ITrader.ProcessDataError? ИМХО удобней использовать throw2011-09-19T08:32:20Z2011-09-19T08:32:20Zrafhttps://stocksharp.com/users/28475/info@stocksharp.com<div class="quote"><span class="quotetitle">Mikhail Sukhov <a href="https://stocksharp.com/posts/m/11163/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Strategy.OnError + ITrader.ProcessDataError?<br /></div></div><br />ИМХО удобней использовать throwCopyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11163/Strategy.OnError + ITrader.ProcessDataError? 2011-09-16T21:35:19Z2011-09-16T21:35:19ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.comStrategy.OnError + ITrader.ProcessDataError?<br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/11161/Имеется следующая проблема Допустим имеется класс-правило MyStrategyRuleClass унаследованное от Stra...2011-09-16T16:31:41Z2011-09-16T17:12:15Zrafhttps://stocksharp.com/users/28475/info@stocksharp.comИмеется следующая проблема<br /><br />Допустим имеется класс-правило MyStrategyRuleClass унаследованное от StrategyRule<br />если использовать this.When(this.MayStrategyRule).Do<<b>AnyType</b>>((e) => {})<br />и в классе MyStrategyRuleClass при вызове base.Activate(<b>NOTAnyType</b>) передать по ошибке другой тип,<br />то никаких ошибок не последут,<br />выполнится override метод MyStrategyRuleClass.DisposeManaged() и правило перестанет работать<br /><br />Думаю стоит должным образом обрабатывать подобную ошибку в реализации base.Activate() и Do(), чтобы генерировалось исключениеCopyright @ StockSharp Platform LLC 2010 - 2024