Исключение ArgumentNullException в классе PnLManager в методе ProcessMessage()~/topic/11926/isklyuchenie-argumentnullexception-v-klasse-pnlmanager-v-metode-processmessage()/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-28T11:26:58Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/50633/Спасибо за быструю реакцию.2020-06-06T09:28:44Z2020-06-06T09:28:44ZAlexanderhttps://stocksharp.ru/users/99075/info@stocksharp.ruСпасибо за быструю реакцию.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/50630/Отличный баг репорт. Фикс залил. Продолжайте в том же духе.2020-06-05T21:01:13Z2020-06-05T21:01:13ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruОтличный баг репорт. Фикс залил. Продолжайте в том же духе.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/50628/Продолжаем парад багов. Устойчиво воспроизводится на QUIK 8.5. В случае если сообщение о выполненной...2020-06-05T18:21:33Z2020-06-05T18:21:33ZAlexanderhttps://stocksharp.ru/users/99075/info@stocksharp.ruПродолжаем парад багов. Устойчиво воспроизводится на QUIK 8.5.<br /><br />В случае если сообщение о выполненной сделке приходит быстрее, чем об изменении статуса Order, в котором он получает свой биржевой идентификатор, в методе PnLManager.ProcessMessage() генерируется исключение. Проблема в том, что там есть код, который рассчитывает, что к моменту обработки сообщения точно будет известен идентификатор заявки. И это никак не контролируется.<br /><br />Выпадает на строчке: else if (!execMsg.OrderStringId.IsEmpty()), т.к. у заявки OrderStringId равен null<br /><br />Кстати, вы, похоже, не в курсе, что для проверки строки на пустое значение существует метод String.IsNullOrEmpty(), который и надо тут использовать. Но основная проблема в том, что код не готов к тому, что сообщение о сделке придет раньше обновления статуса заявки.<br />Copyright @ StockSharp Platform LLC 2010 - 2024