Новый релиз S#.Designer - да здравствует реал!

Новый релиз S#.Designer - да здравствует реал!
Atom
12/13/2016
William B


Друзья! Выложена новая версия Designer.

С уверенностью можем сказать, что это самая наполненная по функционалу версия. Множество новых фишек, особенностей и возможностей для каждого трейдера! Нам самим не терпится рассказать обо всех изменениях, поехали:

  1. Редактор кода на C#. Напиши часть или вообще всю стратегию на C#, а Designer выступит в роли графической оболочки. Нет ничего проще.

  2. Свой кубик - своя логика. На конференциях и в комментариях нас часто спрашивали: “Можно ли написать свой кубик, описать свою, часто используемую операцию?” Раньше мы не могли сказать да, но в новой версии Designer это возможно! Достаточно написать собственную Dll и все! Ваш личный кубик готов.

  3. ETFы? РТС и ММВБ? А хотите свой индекс? А торговать им как одной бумагой хотите? Мы знаем, что хотите, ведь это важнейший для грамотного трейдера функционал: доходность “портфеля” может соответствовать доходности конкретной бумаги, а вот вариация его может быть в разы ниже. Составь свой индекс (портфель), а затем торгуй им как одним инструментом! Удобно!

  4. Опционы! Для тех кто любит погорячее! Теперь Designer поддерживает работу с опционами и алгоритмические опционные стратегии, маркет-мейкинг и дельта-хеджирование. Теперь ты можешь продать или купить стренгл, бабочку, кондора, а затем получать доход от распада временной стоимости или волатильности базового актива!

  5. **Инструменты в одном месте!**Все для работы с инструментами, начиная от загрузки истории, работы с хранилищем и заканчивая их редактированием отдельного инструмента размещено в одном месте. Все доступно, все удобно!

  6. Реальное подключение! В заключение гвоздь нашей программы - возможность реальной торговли. Подключайтесь к рынку, получайте информацию по инструментам, качайте историю, совершайте сделки, пишите стратегии, зарабатывайте - все это в новом S#.Designer.

Предыдущее обсуждение здесь.

**:::center

Скачать <<



<< < 4 5 6 7 8  > >>
Иван З.

Avatar
Date: 1/26/2017
Reply


Еще пару слов про стаканы.

  1. Создаем стратегию. Ставим точку прерывания на кубике Стакан. Стратегия тестируется но ни разу не останавливается в точке прерывания. Далее открываем панель стаканы, ждем окно с ошибкой описаной выше. Закрываем окно с ошибкой. Закрываем Дизайнер. Открываем Дизайнер заново. Видим что панель стаканы отсутствует. Ставим точку прерывания на кубике Стакан. Запускаю стратегию. И мы останавливаемся в точке прерывания. Правда при этом в логах ошибка выскакивает.

Название Время Тип Сообщение DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель SPBFUT00kwq. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель 271990. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель MB0007409364. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель L01-00000F00. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель SPBFUT00d74. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель MB1000100002. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель 11101. DesignerConnector 26.01.2017 15:52:45 +10:00 Info Создан новый портфель NL0011100043. EDS_SBER@TQBR_test account 26.01.2017 15:53:24 +10:00 Info Переинициализация. EDS_SBER@TQBR_test account 26.01.2017 15:53:24 +10:00 Info Новая позиция: . EDS_SBER@TQBR_test account 27.11.2016 0:00:00 +00:00 Info Стратегия Запущена. [0,-1]. Позиция 0. HistoryEmulationConnector 01.01.0001 0:00:00 +00:00 Info Connect HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Создан новый портфель test account. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Инструмент SBER@TQBR зарегистрирован на получение рыночных данных для Trades. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Инструмент SBER@TQBR зарегистрирован на получение рыночных данных для MarketDepth. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Изменение состояния эмуляции Stopped -> Starting HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Error "System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в StockSharp.Messages.Extensions.GetServerTime(Message message) в StockSharp.Algo.Testing.HistoryMessageAdapter.SendOutMessage(Message message) в StockSharp.Algo.Testing.HistoryMessageAdapter.SendOutMessage() в StockSharp.Algo.Testing.HistoryEmulationConnector.HistoryEmulationMessageChannel.b__9_1()" HistoryEmulationConnector 27.11.2016 0:00:02 +00:00 Error System.InvalidOperationException: Subscribed HistoryEmulationConnector 28.11.2016 0:00:02 +00:00 Info Изменение состояния эмуляции Starting -> Started

По всей видимости кубик Стаканы как то завязан на панель Стаканы, раз без панели не точки прерывания на нем не срабатывают.

Раз получилось остановиться в точке прерывания. Проверил Разряженый стакан и Сгруппированный. Ни на том ни на другом токи прерывания не срабатывают. Но с Разряженным стаканом тестирование проходит полностью. А если добавить Сгруппированный то тестирование не идет совсем. Выдает ошибку.

Название Время Тип Сообщение EDS_SBER@TQBR_test account 26.01.2017 0:00:00 +00:00 Info Переинициализация. EDS_SBER@TQBR_test account 26.01.2017 0:00:00 +00:00 Info Новая позиция: . EDS_SBER@TQBR_test account 27.11.2016 0:00:00 +00:00 Info Стратегия Запущена. [0,-1]. Позиция 0. HistoryEmulationConnector 01.01.0001 0:00:00 +00:00 Info Connect HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Создан новый портфель test account. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Инструмент SBER@TQBR зарегистрирован на получение рыночных данных для Trades. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Инструмент SBER@TQBR зарегистрирован на получение рыночных данных для MarketDepth. HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Info Изменение состояния эмуляции Stopped -> Starting HistoryEmulationConnector 27.11.2016 0:00:00 +00:00 Error "System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в StockSharp.Messages.Extensions.GetServerTime(Message message) в StockSharp.Algo.Testing.HistoryMessageAdapter.SendOutMessage(Message message) в StockSharp.Algo.Testing.HistoryMessageAdapter.SendOutMessage() в StockSharp.Algo.Testing.HistoryEmulationConnector.HistoryEmulationMessageChannel.b__9_1()" HistoryEmulationConnector 27.11.2016 0:00:02 +00:00 Error System.InvalidOperationException: Subscribed HistoryEmulationConnector 28.11.2016 0:00:02 +00:00 Info Изменение состояния эмуляции Starting -> Started EDS_SBER@TQBR_test account 01.12.2016 10:00:00 +03:00 Error "System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: getTypeValue в StockSharp.Messages.Unit.SafeGetTypeValue(Func2 getTypeValue) в StockSharp.Messages.Unit.op_Explicit(Unit unit) в StockSharp.Algo.TraderHelper.AlignPrice(Unit priceRange, Decimal firstPrice, Decimal price) в StockSharp.Algo.TraderHelper.<>c__DisplayClass34_0.<Group>b__0(Quote q) в System.Linq.Lookup2.Create[TSource](IEnumerable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer) в System.Linq.GroupedEnumerable3.GetEnumerator() в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.OrderedEnumerable1.<GetEnumerator>d__1.MoveNext() в System.Linq.Buffer1..ctor(IEnumerable1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) в StockSharp.BusinessEntities.MarketDepth.Update(IEnumerable1 bids, IEnumerable1 asks, Boolean isSorted, DateTimeOffset lastChangeTime) в StockSharp.Algo.TraderHelper.Group(MarketDepth depth, Unit priceRange) в StockSharp.Xaml.Diagram.Elements.MarketDepthGroupedDiagramElement.#=qkI3vGOxZ6sSfAIuemsbHTf5_bmpCbtcFgNUEJ7DKOGo=(DiagramSocketValue #=q_tTZl5uJAiBgZ86DBRuMug==) в StockSharp.Xaml.Diagram.DiagramElement.OnProcess(DiagramSocket socket, DiagramSocketValue value) в StockSharp.Xaml.Diagram.DiagramElement.Process(DiagramSocketValue value) в System.Action1.Invoke(T obj) в StockSharp.Xaml.Diagram.DiagramElement.RaiseProcessOutput(DiagramElement sender, DateTimeOffset time, Object value) в StockSharp.Xaml.Diagram.Elements.MarketDepthDiagramElement.#=qa9RgUomSVSsvlHalsWKvtQgRQJGCmyRW_0wq6Mi3WnU=.#=qEzgfklgRZNwwFzQa25yDc_NR6M$WuZXk6X6WdDuy3z0=(MarketDepth #=qAYB6ULAAJfIkIzy2MoDOhA==) в StockSharp.Algo.MarketRule2.ProcessRuleVoid() в StockSharp.Algo.MarketRuleHelper.ActiveRule(IMarketRuleContainer container, IMarketRule rule, Func1 process) в StockSharp.Algo.Strategies.Strategy.StockSharp.Algo.IMarketRuleContainer.ActivateRule(IMarketRule rule, Func1 process)" EDS_SBER@TQBR_test account 01.12.2016 10:00:00 +03:00 Info Стратегия останавливается. [0,-1]. Позиция 0. EDS_SBER@TQBR_test account 01.12.2016 10:00:00 +03:00 Info Ожидание снятия всех активных заявок. EDS_SBER@TQBR_test account 01.12.2016 10:00:00 +03:00 Info Стратегия остановлена. [0,-1]. Позиция 0. HistoryEmulationConnector 26.01.2017 0:00:02 +10:00 Info Изменение состояния эмуляции Started -> Stopping HistoryEmulationConnector 26.01.2017 0:00:02 +10:00 Info Изменение состояния эмуляции Stopping -> Stopped HistoryEmulationConnector 26.01.2017 0:00:02 +10:00 Info Disconnect

Я так понимаю стаканы еще не особо готовы к использованию?

Thanks:

Иван З.

Avatar
Date: 2/3/2017
Reply


При работе с кодом, если создаю простой кубик не стратегию, необходимо от Strategy наследоваться или есть отдельный класс для этого предназначенный?

Thanks:

Иван З.

Avatar
Date: 2/3/2017
Reply


S#.Designer 04.02.2017 3:34:11 +10:00 Error System.InvalidOperationException: Тип NewStrategy должен содержать только одно событие с атрибутом DiagramExternalAttribute. в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qSjZT1b83cVpQmfIR5wB0gv9Z9KzPGMxwKLKpaFcYw34=(Strategy #=qBM$o3f_ejYiEI7evPiRVcw==) в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qVuBdjaYzcqWmTeh96bRjaA==(Strategy #=qp0SNL92eWEyRQNkh$zlnLw==, Strategy #=qYTwqK4GveLouZ5C$NISEBA==) в StockSharp.Xaml.Diagram.DiagramElementParam`1.set_Value(T value) в StockSharp.Designer.Panels.SourceCodeStrategyDiagramElement.OnCompiled() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\Panels\SourceCodeInfoPanel.xaml.cs:строка 294 в System.Action.Invoke() в StockSharp.Designer.SourceCodeInfo.b__26_1() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\SourceCodeInfo.cs:строка 83

Это требование сильно ограничивает возможность использования самописных стратегий из кода. Совсем нет желания в стратегии описывать логику вывода на график. Намного проще наделал событий, потом на график все линиями подвел. Но это ограничение, только одного события, всю прелесть убивает. В стратегии должна быть только стратегия, никакие графики туда засовывать не надо.

Thanks:

Mikhail Sukhov

Avatar
Date: 2/6/2017
Reply


Иван З.: При работе с кодом, если создаю простой кубик не стратегию, необходимо от Strategy наследоваться или есть отдельный класс для этого предназначенный?

Специального нет. Можно посмотреть пример-код, кликнув на создание нового C# скрипта.

Подход в Дизайнере такой, что основа - на кубиках. И код внедряется в кубики (а может и за все отвечать) как часть схемы. Это для того, чтобы упростить миграцию стратегий, написанных на S#, где есть только торговая логика. А рисование и прочие вещи отдать все таки кубикам, так как через них проще настраивать графический интерфейс.

Thanks:

Mikhail Sukhov

Avatar
Date: 2/6/2017
Reply


Иван З.:

S#.Designer 04.02.2017 3:34:11 +10:00 Error System.InvalidOperationException: Тип NewStrategy должен содержать только одно событие с атрибутом DiagramExternalAttribute. в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qSjZT1b83cVpQmfIR5wB0gv9Z9KzPGMxwKLKpaFcYw34=(Strategy #=qBM$o3f_ejYiEI7evPiRVcw==) в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qVuBdjaYzcqWmTeh96bRjaA==(Strategy #=qp0SNL92eWEyRQNkh$zlnLw==, Strategy #=qYTwqK4GveLouZ5C$NISEBA==) в StockSharp.Xaml.Diagram.DiagramElementParam`1.set_Value(T value) в StockSharp.Designer.Panels.SourceCodeStrategyDiagramElement.OnCompiled() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\Panels\SourceCodeInfoPanel.xaml.cs:строка 294 в System.Action.Invoke() в StockSharp.Designer.SourceCodeInfo.b__26_1() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\SourceCodeInfo.cs:строка 83

Это требование сильно ограничивает возможность использования самописных стратегий из кода.

Это что-то из старого. В текущем реализации нет такого условия. А какая версия установлена?

Thanks:

Иван З.

Avatar
Date: 2/7/2017
Reply


Mikhail Sukhov:

Иван З.:

S#.Designer 04.02.2017 3:34:11 +10:00 Error System.InvalidOperationException: Тип NewStrategy должен содержать только одно событие с атрибутом DiagramExternalAttribute. в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qSjZT1b83cVpQmfIR5wB0gv9Z9KzPGMxwKLKpaFcYw34=(Strategy #=qBM$o3f_ejYiEI7evPiRVcw==) в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qVuBdjaYzcqWmTeh96bRjaA==(Strategy #=qp0SNL92eWEyRQNkh$zlnLw==, Strategy #=qYTwqK4GveLouZ5C$NISEBA==) в StockSharp.Xaml.Diagram.DiagramElementParam`1.set_Value(T value) в StockSharp.Designer.Panels.SourceCodeStrategyDiagramElement.OnCompiled() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\Panels\SourceCodeInfoPanel.xaml.cs:строка 294 в System.Action.Invoke() в StockSharp.Designer.SourceCodeInfo.b__26_1() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\SourceCodeInfo.cs:строка 83

Это требование сильно ограничивает возможность использования самописных стратегий из кода.

Это что-то из старого. В текущем реализации нет такого условия. А какая версия установлена? Была последняя версия, но я перепроверил.

  1. удалил все из папки с программой, удалил все из папки Documents\StockSharp\Designer. Все загрузил с нуля.
  2. создаю пример-код, кликнув на создание нового C# скрипта.
  3. добавляю строки

		[DiagramExternal]
		public event Action<Order> NewMyOrder2;

  1. в логах

S#.Designer 07.02.2017 11:52:33 +10:00 Error System.InvalidOperationException: Тип NewStrategy должен содержать только одно событие с атрибутом DiagramExternalAttribute. в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qSjZT1b83cVpQmfIR5wB0gv9Z9KzPGMxwKLKpaFcYw34=(Strategy #=qBM$o3f_ejYiEI7evPiRVcw==) в StockSharp.Xaml.Diagram.Elements.BaseStrategyDiagramElement.#=qVuBdjaYzcqWmTeh96bRjaA==(Strategy #=qp0SNL92eWEyRQNkh$zlnLw==, Strategy #=qYTwqK4GveLouZ5C$NISEBA==) в StockSharp.Xaml.Diagram.DiagramElementParam`1.set_Value(T value) в StockSharp.Designer.Panels.SourceCodeStrategyDiagramElement.OnCompiled() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\Panels\SourceCodeInfoPanel.xaml.cs:строка 294 в StockSharp.Designer.SourceCodeInfo.b__26_1() в C:\StockSharp\StockSharpReleases\AppsSources\StockSharpApps\Designer\Designer\SourceCodeInfo.cs:строка 83

  1. при добавлении кубика

Как я понял есть какое то ограничение на количество выходных параметров кубика. От этого ограничения хотелось бы избавится.

Thanks:

Иван З.

Avatar
Date: 2/7/2017
Reply


не влезают буквы при задании удаленного хранилища.

Thanks:

Иван З.

Avatar
Date: 2/9/2017
Reply


Стратегия стандартная SMA, поставил свечи по объему 5. На графике индикаторы SMA и свечи разбежались в разные стороны. на тиках та-же ситуация

Thanks:

Иван З.

Avatar
Date: 2/9/2017
Reply


Вкладка Эмуляция, стоит добавить формат хранилища и тип данных. Сейчас не очевидно что используется, напарываюсь постоянно.

Thanks:

Иван З.

Avatar
Date: 2/9/2017
Reply


Вкладка торговля добавить выбор хранилища как на вкладке Эмуляция, сейчас не понять от куда данные истории берутся. Как и в предыдущем добавить формат хранилища и тип данных, таймфрейм, дней истории. Места на вкладке много. Еще не хватает кнопки обновить как на вкладке Эмуляция.

Thanks:
<< < 4 5 6 7 8  > >>

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy