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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если все данные были указаны верно и есть активное подключение к торговому терминалу, то должен отобразиться стакан для выбранного инструмента и, если стратегия поддерживает работу с графиком, то график по соответствующему инструменту:
s1_1.jpg 10 KB (1304) s7.jpg 49 KB (1322) s8.jpg 20 KB (1307) s9.jpg 55 KB (1312) s12.jpg 20 KB (1347) s13.jpg 23 KB (1283) s14.jpg 1 KB (1296) s15.jpg 41 KB (1286) s16.jpg 423 KB (1267) s17.jpg 33 KB (1291) s18.jpg 50 KB (996) s19.jpg 8 KB (1290) s10.jpg 29 KB (1255) s11.jpg 67 KB (1335) s1.jpg 548 KB (1302) s20.jpg 516 KB (1015) s21.jpg 56 KB (1307)

Tags:


Thanks: wkj


1 2 3  > >>
esper

Avatar
Date: 3/14/2013
Reply


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

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

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

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

v1.jpg 192 KB (670) v2.jpg 25 KB (627) v3.jpg 4 KB (681) v4.jpg 546 KB (583)
Thanks:

akoz

Avatar
Date: 3/15/2013
Reply


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

esper

Avatar
Date: 3/15/2013
Reply


akoz Go to
Но как я понял, оптимизации в студии совсем нет?

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

Vladimir

Avatar
Date: 3/19/2013
Reply


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

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

esper

Avatar
Date: 3/19/2013
Reply


Vladimir Go to
-стакан не транслируется

Стакан должен транслироваться после запуска стратегии.
Vladimir Go to
-график не отображается ("Стратегия не предоставляет интерактивный режим")

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

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

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

Vladimir

Avatar
Date: 3/19/2013
Reply


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

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

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

esper

Avatar
Date: 3/19/2013
Reply


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

Какой инструмент используется? По нему в альфе точно стакан есть? Что выводится в логах?

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

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

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

Сейчас есть только те примеры, которые указаны в шаблонах при создании стратегии. Можно создать стратегию по шаблону и просмотреть ее код. Скоро добавится "Аналитическая стратегия".
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(Action`2 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](IEnumerable`1 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 Go to
Коннект к Quik есть. Портфелей не видно.
Если без Studio в API коннектится портфели нармально поступают.
Не ту кнопку нажал наверное.[biggrin]
Что сделать чтобы портфели появились?


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

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

loading
clippy