Добрый день,
Я являюсь пользователем графического каркаса S#.Shell. Вот какие ошибки я обнаружил в процессе эксплуатации S#.Shell:
- При работе с адаптером 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.ru/file/115116
- При анализе кода выявлены следующие ошибки:
Предупреждение 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 подчеркивает красным и сообщает о критической ошибке.
При подключении к нескольким адаптерам, в S#.Shell загружаются портфели только из адаптера, который идет первым в списке. Эта ошибка - скорее всего следствие вышеуказанных ошибок в коде S#.Shell.
После остановки стратегии в S#.Shell для повторного запуска стратегию нужно заново создавать. Иначе при повторном старте, S#.Shell создает два экземпляра стратегии, которые начинают работать параллельно и выставляют заявки одновременно. Поэтому приходится закрывать страницу со стратегией и создавать новую, чтобы удалить старый экземпляр стратегии.
Небольшое пожелание. Пожалуйста, добавьте в S#.Shell модуль запуска и остановки стратегии по расписанию. Это была бы очень полезная доработка.
Заранее спасибо за ответ!
Kommentare (2)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Добрый день
По вопросу 3: первое подключение - адаптер Interactive Brokers, а второе подключение - адаптер Transaq.
Еще обнаружена одна ошибка: при работе стратегии, сделки отображаются только в таблице сделок на вкладке Общее. А на вкладке со стратегией Реал-тайм отображаются только заявки в таблице заявок. Причем статус заявок - исполненные. А сделки в таблице сделок на вкладке со стратегией Реал-тайм не отображаются. Стратегия работает без ошибок. В терминале брокера сделки и заявки отображаются корректно.
На вкладке Реал-тайм -> Стратегии есть галочка "Торговля". В инструкции к S#.Shell про нее ничего не написано. Для чего нужна эта галочка? Какие функции при этом активируются?