Краткая инструкция по S# Studio

Краткая инструкция по S# Studio
Atom
3/14/2013
esper


В главном окне S#.Studio можно выделить множество рабочих областей, которые предназначены для отображения информации по стратегиям, инструментам, портфелям, свойствам выбранного объекта, и т.д. Главное окно представлено на рисунке:

Можно выделить следующие основные элементы интерфейса:

  1. Главное меню
  2. Панель инструментов
  3. Основная рабочая область для отображения стратегий
  4. Список стратегий для торговли на реальных счетах и для тестирования
  5. Список используемых инструментов
  6. Список портфелей
  7. Окно свойств
  8. Окно для отображения логов.

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

В случае, когда выполняется команда подключиться к торговой системе, но нет ни одного настроенного подключения - окно настройки подключения будет открыто автоматически и после сохранения настроек будет выполнено автоподключение к торговой системе.

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

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

В окне инструменты по-умолчанию не показываются все полученные от торговой системы инструменты, т.к. инструментов может быть много. Для отображения необходимых инструментов надо выбрать добавить инструмент из хранилища:

В открывшемся окне будут показаны все доступные инструменты, необходимо выделить инструменты, которые будут использоваться в работе и добавить в список выбранных инструментов с помощью стрелочек, после подтверждения изменений эти инструменты будут добавлены в окно Инструменты главного окна:

Для площадок, которые не предоставляют список всех инструментов, можно воспользоваться поиском нужного инструмента по заданным критериям, для этого необходимо выбрать пункт Найти инструмент и в открывшемся окне указать параметры поиска инструментов:

После выбора используемых инструментов можно переходить к созданию стратегий. Все стратегии в S#.Studio представлены в виде дерева:

Корневой элемент задает тип стратегии, а его подэлементы конкретные экземпляры стратегий. Т.о. имея одну стратегию на скользящих средних мы можем запустить множество ее экземпляров с разными параметрами:

Для добавления нового типа стратегий используется кнопка , при этом откроется окно добавления стартегии:

При добавлении стратегии можно:

  1. Создать стратегию из кода, выбрав один из готовых шаблонов
  2. Указать путь к готовой сборке со стратегией и выбрать один из типов стратегий в этой сборке После добавления нового типа стратегии из кода откроется вкладка с редактором кода для этой стратегии:

Окно редактора кода состоит из двух частей: редактора кода и специального элемента для вывода ошибок компиляции стратегии. Компиляция стратегии выполняется с помощью соответствующей кнопки в панели инструментов над редактором кода. Если в коде стратегии были допущены какие-либо ошибки, то они будут показаны в окне Список ошибок, если компиляция прошла без ошибок, на панели инструментов будет выведена надпись "Компиляция выполнена!".

Компиляция стратегии допускается только если в текущий момент времени нет ни одной запущенной стратегии данного типа, иначе кнопка компиляции будет недоступна. После выполнения компиляции стратегии можно перейти к экземпляру стратегии в дереве стратегий и в окне свойств указать ее параметры (портфель, инструмент, объем и др.)

После того как были указаны все необходимые параметры стратегии ее можно запустить с помощью соответствующей кнопки на панели инструментов окна стратегий

Если все данные были указаны верно и есть активное подключение к торговому терминалу, то должен отобразиться стакан для выбранного инструмента и, если стратегия поддерживает работу с графиком, то график по соответствующему инструменту:

s1_1.jpg 10 KB (2029) s7.jpg 49 KB (2052) s8.jpg 20 KB (2069) s9.jpg 55 KB (2062) s12.jpg 20 KB (2189) s13.jpg 23 KB (2035) s14.jpg 1 KB (2102) s15.jpg 41 KB (2002) s16.jpg 423 KB (1946) s17.jpg 33 KB (2022) s18.jpg 50 KB (1712) s19.jpg 8 KB (1973) s10.jpg 29 KB (2009) s11.jpg 67 KB (2090) s1.jpg 548 KB (2080) s20.jpg 516 KB (1713) s21.jpg 56 KB (2042)

Tags:


Thanks: wkj


1 2 3  > >>
esper

Avatar
Date: 3/14/2013
Reply


Для открытия опционного деска в S# Studio при использовании подключения к Plaza2 необходимо:

  1. В настройках подключения добавить экспорт данных для потока Волатильности

  1. Выделить интересуемый инструмент в окне Инструменты (например, RIH3)

  1. Для выбранного инструмента открыть доску опционов с помощью соответствующей кнопки на панели инструментов

  1. После чего откроется дополнительная вкладка с доской опционов в центральной области главного окна

v1.jpg 192 KB (1188) v2.jpg 25 KB (1157) v3.jpg 4 KB (1182) v4.jpg 546 KB (1108)
Thanks:

akoz

Avatar
Date: 3/15/2013
Reply


Здорово, молодцы. Но как я понял, оптимизации в студии совсем нет?

Thanks:

esper

Avatar
Date: 3/15/2013
Reply


akoz: Но как я понял, оптимизации в студии совсем нет? Да, непосредственно модуля оптимизации нет, пользователь может сам добавить требуемое количество стратегий с различными параметрами и протестировать их все вместе.

Thanks:

Vladimir

Avatar
Date: 3/19/2013
Reply


Подключаю к Альфа-Директ: AlfaTrader OnConnect -не добавляет реальный портфель для торговли, доступен только портфель - FORTS test. -стакан не транслируется -график не отображается ("Стратегия не предоставляет интерактивный режим")

и главный вопрос - через S#.Studio - можно торговать на реальном счете?

Thanks:

esper

Avatar
Date: 3/19/2013
Reply


Vladimir: -стакан не транслируется Стакан должен транслироваться после запуска стратегии. Vladimir: -график не отображается ("Стратегия не предоставляет интерактивный режим") Какую стратегию вы используете? Если это скользящие средние, то в ней работа с графиком ведется из кода, скоро добавим другую стратегию, в которой можно будет управлять графиком, добавлять индикаторы и т.д. Vladimir: и главный вопрос - через S#.Studio - можно торговать на реальном счете? Да, можно торговать и на реале и выполнять тестирование на истории. Если вы запустите стратегию на скользящих средних и в ней сработает сигнал на покупку, заявка будет отправлена в терминал.

По портфелю баг подтверждаю, в ближайшее время будет обновление с фиксом.

Thanks:

Vladimir

Avatar
Date: 3/19/2013
Reply


  • Стакан должен транслироваться после запуска стратегии. Да, Нажимаю запуск стратегии, но стакан не транслируется. Да, использую стратегию скользящие средние, из примера в программе. (На учебном видео тоже ее использовали, но там все отображалось).

-работа с графиком ведется из кода Подскажите что нужно в код дописать, чтобы график отображался?

Подскажите где найти (загрузить) простые тестовые стратегии, чтобы попробовать работу программы?

Thanks:

esper

Avatar
Date: 3/19/2013
Reply


Vladimir:

  • Стакан должен транслироваться после запуска стратегии. Да, Нажимаю запуск стратегии, но стакан не транслируется. Да, использую стратегию скользящие средние, из примера в программе. (На учебном видео тоже ее использовали, но там все отображалось). Какой инструмент используется? По нему в альфе точно стакан есть? Что выводится в логах?

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

Vladimir: Подскажите где найти (загрузить) простые тестовые стратегии, чтобы попробовать работу программы? Сейчас есть только те примеры, которые указаны в шаблонах при создании стратегии. Можно создать стратегию по шаблону и просмотреть ее код. Скоро добавится "Аналитическая стратегия".

Thanks:

kahuna

Avatar
Date: 3/19/2013
Reply


Коннект к Quik есть. Портфелей не видно. Если без Studio в API коннектиться портфели нармально поступают. Не ту кнопку нажал наверное.[biggrin] Что сделать чтобы портфели появились?

Thanks:

Vladimir

Avatar
Date: 3/19/2013
Reply


Инструмент RIM3 - RTS 6.13 в альфе по нему точно стакан есть!

В лоогах много чего например в ветке S#.Stidio S#.Studio | 19.03.2013 22:59:10.824 | Ошибка | System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Abt.Controls.SciChart.RubberBandXyZoomModifier.caa1e079ee4b2473870761cdb1deb6b6d(Point c2fd6eaa47e6648ca5e229e24eb3dd951, Point c75e39920eb915b8663d277cc1de0e9f5) в Abt.Controls.SciChart.RubberBandXyZoomModifier.OnModifierMouseUp(ModifierMouseArgs e) в Abt.Controls.SciChart.ModifierGroup.c9fd5ab524d787e8439d8933aeb87fdc5(IChartModifier c6b1effd112e5355cd5f051dd91cd4f67, ModifierMouseArgs cbb39038dde40bfc3fdcfa70f4bbf8778) в (Object , IChartModifier , ModifierMouseArgs ) в A.cc520773788910821ba0d6331e9485563.c6dea473323fdce89c6d7460d087afc9c(Object c2e4dcf306e5d5e570ccc0d688db6e42c, IChartModifier c2e4dcf306e5d5e570ccc0d688db6e42c, ModifierMouseArgs c2e4dcf306e5d5e570ccc0d688db6e42c) в Abt.Controls.SciChart.ModifierGroup.c9e8960a6a8527c20ac9e46e162c72b22(Action2 c4bd4ab823835cf92d221476b6fb65a17, ModifierMouseArgs c4c23d80d4d060e409c3479ef17d6c65e) в Abt.Controls.SciChart.ModifierGroup.OnModifierMouseUp(ModifierMouseArgs e) в Abt.Controls.SciChart.Utility.Mouse.MouseManager.cad56cb88fe961ec17710025afdf79607(ModifierMouseArgs cbb39038dde40bfc3fdcfa70f4bbf8778, IReceiveMouseEvents c18509698be3f9366c690e7d2b107b62c, Boolean c3791a1b71c1577bde30b55c12b2a5583) в Abt.Controls.SciChart.Utility.Mouse.MouseManager.cf88844ca415efe316ebbc6460c4d5477.c05440e857244a1c94c553c8d10b1499b.cdc6dd0b1b34439c6e93339dd3929be9f(IReceiveMouseEvents c133657388cc0f6f6615e21e129ac4b3a) в A.c3631c672e3fc9e342ac08ff1a63d428e.cacf72b657252e3e73860afb89d70cb9f[c13c28af86f0b14202b9c7ef43b1bd11a](IEnumerable1 c40a30a1bb6416cd164565919fdef15a9, Action`1 c885aac61bc9832561b7ff07903c88d5e) в Abt.Controls.SciChart.Utility.Mouse.MouseManager.cf88844ca415efe316ebbc6460c4d5477.c3e034dbe6fa1da0fdb7d6c9ee0f4960b(Object cae49ecc8585f35e8dd5ce624f7fb7ab5, MouseButtonEventArgs c4c23d80d4d060e409c3479ef17d6c65e) в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e) в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) в System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) в System.Windows.Input.InputManager.ProcessStagingArea() в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

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

  • Ни сразу, ни потом не выводятся)
Thanks:

esper

Avatar
Date: 3/19/2013
Reply


kahuna: Коннект к Quik есть. Портфелей не видно. Если без Studio в API коннектится портфели нармально поступают. Не ту кнопку нажал наверное.[biggrin] Что сделать чтобы портфели появились?

В текущей версии перезапустить студию, как писал выше - скоро будет фикс.

Thanks:
1 2 3  > >>

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

loading
clippy