Краткая инструкция по 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 (1451) s7.jpg 49 KB (1481) s8.jpg 20 KB (1461) s9.jpg 55 KB (1470) s12.jpg 20 KB (1529) s13.jpg 23 KB (1453) s14.jpg 1 KB (1453) s15.jpg 41 KB (1441) s16.jpg 423 KB (1421) s17.jpg 33 KB (1441) s18.jpg 50 KB (1151) s19.jpg 8 KB (1443) s10.jpg 29 KB (1412) s11.jpg 67 KB (1484) s1.jpg 548 KB (1455) s20.jpg 516 KB (1175) s21.jpg 56 KB (1472)

Tags:


Thanks: wkj


<< < 2 3 4 5 6  > >>
esper

Avatar
Date: 3/26/2013
Reply


UsilaDobry
Активировал и получил лицензию на 180 дней. Но проблема осталась. При подключении выдает сообщение "Ошибка в соединении. Отказано в доступе".

Что пишется в логах (c:\Users\имя пользователя\Documents\StockSharp\Studio\Logs\)?
Thanks:

UsilaDobry

Avatar
Date: 3/26/2013
Reply


esper
UsilaDobry
Активировал и получил лицензию на 180 дней. Но проблема осталась. При подключении выдает сообщение "Ошибка в соединении. Отказано в доступе".

Что пишется в логах (c:\Users\имя пользователя\Documents\StockSharp\Studio\Logs\)?


Log файл от 26.03.2013

08:44:00.413|Error |QuikTrader|System.ComponentModel.Win32Exception (0x80004005): Отказано в доступе
в System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
в System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
в System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
в System.Diagnostics.Process.get_MainModule()
в Ecng.Interop.WinApi.GetFileName(Process process)
в StockSharp.Quik.QuikTerminal.#=qsPLxyreygt1NSZsDpcqx$aH5jRqHmo0e6VA8Ae6GM9o=(Process #=qqOqljU$aLnM181dH8tBimw==)
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
в StockSharp.Quik.QuikTerminal.#=qrqBOpYnqQJEOlUxrPCypSA==()
в StockSharp.Quik.QuikTrader.OnConnect()
в StockSharp.Algo.BaseTrader.Connect()
12:37:51.192|Error |QuikTrader|System.ComponentModel.Win32Exception (0x80004005): Отказано в доступе
в System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
в System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
в System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
в System.Diagnostics.Process.get_MainModule()
в Ecng.Interop.WinApi.GetFileName(Process process)
в StockSharp.Quik.QuikTerminal.#=qsPLxyreygt1NSZsDpcqx$aH5jRqHmo0e6VA8Ae6GM9o=(Process #=qqOqljU$aLnM181dH8tBimw==)
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
в StockSharp.Quik.QuikTerminal.#=qrqBOpYnqQJEOlUxrPCypSA==()
в StockSharp.Quik.QuikTrader.OnConnect()
в StockSharp.Algo.BaseTrader.Connect()
Thanks:

Mikhail Sukhov

Avatar
Date: 3/26/2013
Reply


UsilaDobry

08:44:00.413|Error |QuikTrader|System.ComponentModel.Win32Exception (0x80004005): Отказано в доступе
в System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
в System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
в System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
в System.Diagnostics.Process.get_MainModule()
в Ecng.Interop.WinApi.GetFileName(Process process)
в StockSharp.Quik.QuikTerminal.#=qsPLxyreygt1NSZsDpcqx$aH5jRqHmo0e6VA8Ae6GM9o=(Process #=qqOqljU$aLnM181dH8tBimw==)
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
в StockSharp.Quik.QuikTerminal.#=qrqBOpYnqQJEOlUxrPCypSA==()
в StockSharp.Quik.QuikTrader.OnConnect()
в StockSharp.Algo.BaseTrader.Connect()


Студию и Квик нужно из под одних привилегий запускать. Если Квик запускается из под админа, то и студию так же. Или все не под админом.
Thanks: UsilaDobry

UsilaDobry

Avatar
Date: 3/26/2013
Reply


Mikhail Sukhov

Студию и Квик нужно из под одних привилегий запускать. Если Квик запускается из под админа, то и студию так же. Или все не под админом.


Запустил все под админом, выбрал из хранилища RIM3, теперь выдает следующее:
14:12:26.073|Error |StudioTrader|System.ArgumentException: Окно с заголовком 'позиции по деривативам' не было найдено.
Имя параметра: caption
в StockSharp.Quik.QuikTerminal.#=qOa4h3ytbob2D_f4IyqFrnw==(String #=q7L7NL2wmQfGhvKG3CYty3g==, Boolean #=qORerfWgUVgZ$mEVWRb871Q==)
в StockSharp.Quik.QuikTerminal.#=qXXz7Z_ELbOhh7UmEmlspUQ==(String #=qTQtOk647PdDmNpEz48fPSA==)
в StockSharp.Quik.QuikTerminal.#=qPfUOKjnA3UGh7AEShv5YLQ==(IEnumerable`1 #=qkxdJWa43nmyMOEkv$Qx7yg==)
в StockSharp.Quik.QuikTrader.StopExport()
в StockSharp.Algo.BasketTrader.#=qJezPxycoBuPn5uCQk$MjajxEBjgno8aZcHSV_ZzdvU0=(ITrader #=qLdDZXqRAbea5g5R$jDkb2g==)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.BasketTrader.StopExport()
в StockSharp.Algo.BasketTrader.#=qJezPxycoBuPn5uCQk$MjajxEBjgno8aZcHSV_ZzdvU0=(ITrader #=qLdDZXqRAbea5g5R$jDkb2g==)
в Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
в StockSharp.Algo.BasketTrader.StopExport()
в StockSharp.Studio.StudioTrader.StopExport()
в StockSharp.Studio.MainWindow.ExecutedConnect(Object sender, ExecutedRoutedEventArgs e)
00:00:00.000| |EmulationTrader|Экспорт запущен.
00:00:00.000| |EmulationTrader|Экспорт остановлен.
Thanks:

esper

Avatar
Date: 3/26/2013
Reply


UsilaDobry
Запустил все под админом, выбрал из хранилища RIM3, теперь выдает следующее:
14:12:26.073|Error |StudioTrader|System.ArgumentException: Окно с заголовком 'позиции по деривативам' не было найдено.

Необходимо настроить таблицы В Quik или скачать S#.API, там будет готовый файл настроек для квика.
Thanks:

UsilaDobry

Avatar
Date: 3/26/2013
Reply


esper

Необходимо настроить таблицы В Quik или скачать S#.API, там будет готовый файл настроек для квика.


Я настроил все таблицы, начал вывод, как посыпалась одна и та же ошибка
16:21:25.981|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'инструменты' экспортировались в меньшем формате. Не было найдено значение для колонки 'Краткое название бумаги'. Количество колонок равно '6', индекс колонки '12'.
в #=q8EsfaC7HD5VDd4e$FdscBWI$Sbtn9I5WBY$5mFj8FPBaFXRZh9W7hIfdRMkHCgEh.#=q2QuyrxHRAzbI_7JSDAnc3g71FEj1sG6rJNIoCh0fE_Y=.#=qxru21NdododkRcIt8tGK8I0wUPtm3igM6raGJQnUrjk=(DdeTableColumn #=qaxTr0AVgaX3ZqI1YjJJBdA==)
в #=q8EsfaC7HD5VDd4e$FdscBWI$Sbtn9I5WBY$5mFj8FPBaFXRZh9W7hIfdRMkHCgEh.#=qYzNB6TqY6_aaggdALmQ7ag==[T](Func`2 #=qoEK$zwhmdGMghSUXvd0b8w==, DdeTableColumn #=qI7bTHw9KgahBXKPKsIXrGA==)
в StockSharp.Quik.QuikTrader.#=qm3DJIfKQjEOygviJVG8g1xgrJnUUUBPg6S_I_6Nv3v4=.#=qNKABkom_ANJcNpOkOQ2Mo_ycmrnczBzOLk$P357WhEg=.#=q0ovLWk_6N7gGo3LZtDRHYA==(Security #=qwmSy0CDMe2fmjBAk52QPpA==)
в StockSharp.Algo.BaseTrader.GetSecurity(String id, Func`2 createSecurity, Func`2 changeSecurity)
в StockSharp.Algo.BaseTrader.GetSecurity(String id, Func`2 changeSecurity)

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

esper

Avatar
Date: 3/26/2013
Reply


Вы вручную настраивали таблицы? Столбца "Краткое название бумаги" быть не должно, если вы не выбирали его вручную в настройках подключения к Quik.
Thanks:

UsilaDobry

Avatar
Date: 3/26/2013
Reply


esper
Вы вручную настраивали таблицы? Столбца "Краткое название бумаги" быть не должно, если вы не выбирали его вручную в настройках подключения к Quik.


Я настраивал вручную. В настройках колонки "краткое название бумаги" нет, а студия ругается, что таблица "инструменты" экспортировалась в меньшем объеме, отсутствуют данные в этой колонке. Я так понимаю, это студии они нужны, а в Квике их нет.
Thanks:

esper

Avatar
Date: 3/26/2013
Reply


Попробуйте готовый файл настроек.
info.zip 14 KB (310)
Thanks: UsilaDobry

UsilaDobry

Avatar
Date: 3/26/2013
Reply


esper
Попробуйте готовый файл настроек.


Студия вроде бы заработала, стакан есть, график есть, вот только прорисовка графика очень далека от реальности.
Thanks:
<< < 2 3 4 5 6  > >>

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

loading
clippy