Утром все работало ), сейчас ошибка в обработчике события SmartTrader.ProcessDataError
System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at StClientLib.StServerClass.GetPrortfolioList() at StockSharp.Smart.SmartComWrapper.#=q0UJZUNenI__NBAous9p4E8EsWv$5s7QzepjBqX$COV8=.#=qIoCmmz4bdc8G7vPokZzlnqIWrZqsLTbglBUhddelcDg=(StServer #=qxSPk1YFCSaAZz8bVqHuy1w==) at StockSharp.Smart.SmartComWrapper.#=qMFzV9ytyzEkO7i2QtXyYw66WoAp2kgo3MU9z3A2xpQs=.#=qMSKeQnW89QZBh8u8jXmPdg==() at Ecng.ComponentModel.EventDispatcher.<>c__DisplayClass1.<Add>b__0()
Перезапустил робота. Снова все нормально. С чем может быть связано?
コメント (18)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Эта проблема смартком. поиск в гугл выдал темы на форуме айти инвеста: Раз Два
Может то что по "Раз" - поможет избежать эту проблему в будущем :)
Ну в общем, не знаю что делать с этой ошибкой. Смартком переодически вылетает даже при закачке маркет данных гидрой. Стокшарп будет работать с предыдущей версией смарткома 2.0? Может она стабильнее? Как вариант думаю ловить ошибку на ProcessDataError и запускать упавший смартком: не знаю поможет ли. Попробую настроить логгирование SmartTrader, может там что-то подскажет решение.
Переписка со службой поддержки Смарткома на эту тему:
vk37: Здравствуйте. Сервис периодически останавливается сам по себе при его использовании. Есть более современная версия, чем SmartCOM 2.2.116.1020 от 14.02.2012? SmartCOM: проверяйте свой компьютер - служба не может просто так остановиться. новее версий нет, так как на последнею нареканий с точки зрения стабильности нет, готовится новая но это будет совершенно другой смартком. vk37: Ошибка такая: System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at StClientLib.StServerClass.connect(String ip, Int16 port, String login, String password) at StockSharp.Smart.SmartComWrapper.#=qWbXe4ihP1gTy8hDg6WMW3w==() at Ecng.ComponentModel.EventDispatcher.<>c__DisplayClass1.<Add>b__0() vk37: А когда ожидается новый Смартком vk37: ? SmartCOM: ошибки типа RPC обычно говорят что в предыдущий раз вы не коректно завершили работу или у вас нет прав или предыдущая команда смарткому привела к фатальнйо ошибке. SmartCOM: новая не скоро, ещё только новую ТС доделывают а уже потом за смартком возьмуться
А как часто перезапускаете робота?
Вообще довольно интересно. Робот упал (ессесно никаких корректных завершений не сделал), что, теперь к СмартКом не подключится?😎
Раза 2-3 в день робот падает. Чаще всего при выставлении заявки. Моя консольная Гидра тоже падает с той же ошибкой, а там только получение данных идет. Полный лог упавшей сегодня Гидры выглядит так:
Думаю, стоит разбираться с первой по времени ошибке.
Что я могу сделать, чтобы разобраться?
В качестве решения пробовал запускать робота на другом компе (без SmartX), на разных ОС (Win 7, Win 8) и фреймворках (4.0, 4.5), на другом роутере, с другим провайдером инета. Без результата. Настроил логгинг трейдера. Может это что-то даст.
Похоже логгинг трейдера ничего интересного не показывает:
Ксати говоря, год назад, когда первый раз пробовал запускать робота, такой ошибки не было: оставлял робота на целый день спокойно. Сейчас робот 2-3 раза в день вылетает. Осталось только попробовать перенести сервер в датацентр ITinvest. Если это не поможет, то буду переходить на плазу.
Может логи смарткома включить? Там есть какие-то. По идее эта ошибка в S# говорит о том, что пинг отваливается. Пинг сделан через интервальный вызов метода GetPFs, и так проверяется, живой еще Смарт или нет. При нормальном сервисе такого быть не должно, тоесть пинг всегда должен проходить как ОК. А тут выдает ошибку. Тоесть причина в чем-то другом, а именно почему-то сервис на пинг выдает ошибку.
Ну вообще сервис после такой ошибки запускаю заново, т.к. он в остановленном состоянии. Наверное в самом сервисе ошибка происходит и он вылетает.
И следовательно нужно писать в АйТи. Чтобы им писать, надо писать предметно, с логами.
Дорого начинает обходиться уже эта ошибка: сегодня робот 4 раза вылетал. Включил логгинг Смарткома. Ошибка:
Логи смарткома на x64 машине настраиваются так
Причина проблемы, вероятно, в том, что робот и гидра работали под одним логином. Сегодня утром перевел их на разные логины: весь день робот не вылетел ни разу.
А что официальный производитель сказал по этому поводу?
На мой запрос еще не ответили. Второй день все работает стабильно. Думаю причина была в этом.