Если стратегия задает MQS котировать ордер с количеством контрактов, превышающим лимит счета, начинают очень быстро сыпаться месседжи, что размера счета не хватает и в конечном итоге робот просто вылетает. В ранних версиях помню просто выскакивало всего одно сообщение и котирование просто останавливалось (это в окне мониторинга было видно), и робот не вылетал. Можно сделать как раньше было?
Комментарии (16)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Как стабильного робота в данном случае зависит от MQS?
А чему равно Strategy.MaxErrorCount?
ITrader.ProcessDataError
посмотрите на LastTrade у инструмента, BestBid, BestAsk у стакана. в новостях писал, что они теперь null по умолчанию.
У вас "вылетел робот". стэк трэйса нет. у вас возник nre - нулевая ссылка на объект. раз раньше работало - я высказал предположения с какими изменениями в S# это могло быть связано. других изменений больших не было.
без стэк трэйса никак.
а как сделать стэк трэйс? Это он?
И что на 370 строчке MainWindow.xaml.cs? Для таких окон работает ctr+c, ctr+v - удобнее намного. Версия 4.0.1?
Так если падает - значит не выводится однажды. Чудес не бывает :) Сделайте try\catch. Или выведите отдельно по строчке каждый параметр. Но по выводу уже однозначно понятно, что у вас null LastTradePrice у _lkoh или _frts или _fgazp.
если сами котировки null - необходимо их получить из Securities. Если LastTrade null - то дождаться первой сделки чтоб проставлялась LastTrade либо инициализировать самому.
Сегодня опять глюк с MQS версии 4.0. Запустил стратегию в пробном режиме одним контрактом. Открыла позицию нормально, а потом при закрытии продала один контракт, но не остановилась а продолжала продавать по одному контракту и так на все депо продало, ну и сообщения сыпались о превышении депо. Хорошо я вернулся, цена не успела далеко уйти.