Добрый день,
Я являюсь пользователем графического каркаса S#.Shell. Вот какие ошибки я обнаружил в процессе эксплуатации S#.Shell:
1) При работе с адаптером Interactive Brokers идентификатор инструмента отображается неправильно!!!
Вместо синтаксиса [код инструмента]@[код площадки] идентификатор инструмента отображается в неизвестном формате.
Например, идентификатор акций компании Apple должен выглядеть вот так: AAPL@NASDAQ, а выглядет вот так:
AAPL##STK##USD####@NASDAQ.NMS
Согласитеcь, не самый удобный идентификатор!
Причем эта ошибка возникает не только с S#.Shell, но и с другими продуктами StockSharp.
В S#.Data (Hydra) при подключении к Interactive Brokers идентификатор инструмента отображается также неправильно.
Скорее всего, это связано с тем, что Interactive Brokers обновили свои API, и в них изменили формат передачи сообщений.
А адаптер Interactive Brokers S#.API работает со старым форматом передачи сообщений. Поэтому это ошибка именно S#.API!
Вот скриншот:
https://stocksharp.com/file/115116
2) При анализе кода выявлены следующие ошибки:
Code
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' TestingControl.xaml.cs 222
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' SmaIndexTestingControl.xaml.cs 142
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' SmaIndexTestingControl.xaml.cs 231
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' SmaTestingControl.xaml.cs 138
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' SmaTestingControl.xaml.cs 206
Предупреждение CS0618 'Connector.NewSecurity" является устаревшим: 'Use SecurityReceived event.' StairsTrendTestingControl.xaml.cs 197
Предупреждение CS0618 'Connector.NewPortfolio" является устаревшим: 'Use PortfolioReceived event.' PortfolioGridControl.xaml.cs 10
Предупреждение CS0618 'Connector.NewPosition" является устаревшим: 'Use PositionReceived event.' PortfolioGridControl.xaml.cs 11
При попытке замены вручную кода устаревших команд S#.API на новые, Visual Studio подчеркивает красным и сообщает о критической ошибке.
3) При подключении к нескольким адаптерам, в S#.Shell загружаются портфели только из адаптера, который идет первым в списке.
Эта ошибка - скорее всего следствие вышеуказанных ошибок в коде S#.Shell.
4) После остановки стратегии в S#.Shell для повторного запуска стратегию нужно заново создавать.
Иначе при повторном старте, S#.Shell создает два экземпляра стратегии, которые начинают работать параллельно и выставляют заявки одновременно.
Поэтому приходится закрывать страницу со стратегией и создавать новую, чтобы удалить старый экземпляр стратегии.
5) Небольшое пожелание. Пожалуйста, добавьте в S#.Shell модуль запуска и остановки стратегии по расписанию.
Это была бы очень полезная доработка.
Заранее спасибо за ответ!