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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

s1_1.jpg 10 KB (2077) s7.jpg 49 KB (2071) s8.jpg 20 KB (2119) s9.jpg 55 KB (2110) s12.jpg 20 KB (2236) s13.jpg 23 KB (2085) s14.jpg 1 KB (2149) s15.jpg 41 KB (2047) s16.jpg 423 KB (1996) s17.jpg 33 KB (2068) s18.jpg 50 KB (1759) s19.jpg 8 KB (2018) s10.jpg 29 KB (2054) s11.jpg 67 KB (2135) s1.jpg 548 KB (2130) s20.jpg 516 KB (1727) s21.jpg 56 KB (2088)

Теги:


Спасибо: wkj


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

Фотография
Дата: 26.03.2013
Ответить


UsilaDobry: Активировал и получил лицензию на 180 дней. Но проблема осталась. При подключении выдает сообщение "Ошибка в соединении. Отказано в доступе". Что пишется в логах (c:\Users\имя пользователя\Documents\StockSharp\Studio\Logs)?

Спасибо:

UsilaDobry

Фотография
Дата: 26.03.2013
Ответить


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](IEnumerable1 source, Func2 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](IEnumerable1 source, Func2 predicate) в StockSharp.Quik.QuikTerminal.#=qrqBOpYnqQJEOlUxrPCypSA==() в StockSharp.Quik.QuikTrader.OnConnect() в StockSharp.Algo.BaseTrader.Connect()

Спасибо:

Mikhail Sukhov

Фотография
Дата: 26.03.2013
Ответить


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](IEnumerable1 source, Func2 predicate) в StockSharp.Quik.QuikTerminal.#=qrqBOpYnqQJEOlUxrPCypSA==() в StockSharp.Quik.QuikTrader.OnConnect() в StockSharp.Algo.BaseTrader.Connect()

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

Спасибо: UsilaDobry

UsilaDobry

Фотография
Дата: 26.03.2013
Ответить


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==(IEnumerable1 #=qkxdJWa43nmyMOEkv$Qx7yg==) в StockSharp.Quik.QuikTrader.StopExport() в StockSharp.Algo.BasketTrader.#=qJezPxycoBuPn5uCQk$MjajxEBjgno8aZcHSV_ZzdvU0=(ITrader #=qLdDZXqRAbea5g5R$jDkb2g==) в Ecng.Collections.CollectionHelper.ForEach(IEnumerable1 source, Action1 action) в StockSharp.Algo.BasketTrader.StopExport() в StockSharp.Algo.BasketTrader.#=qJezPxycoBuPn5uCQk$MjajxEBjgno8aZcHSV_ZzdvU0=(ITrader #=qLdDZXqRAbea5g5R$jDkb2g==) в Ecng.Collections.CollectionHelper.ForEach(IEnumerable1 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|Экспорт остановлен.

Спасибо:

esper

Фотография
Дата: 26.03.2013
Ответить


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

Спасибо:

UsilaDobry

Фотография
Дата: 26.03.2013
Ответить


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==(Func2 #=qoEK$zwhmdGMghSUXvd0b8w==, DdeTableColumn #=qI7bTHw9KgahBXKPKsIXrGA==) в StockSharp.Quik.QuikTrader.#=qm3DJIfKQjEOygviJVG8g1xgrJnUUUBPg6S_I_6Nv3v4=.#=qNKABkom_ANJcNpOkOQ2Mo_ycmrnczBzOLk$P357WhEg=.#=q0ovLWk_6N7gGo3LZtDRHYA==(Security #=qwmSy0CDMe2fmjBAk52QPpA==) в StockSharp.Algo.BaseTrader.GetSecurity(String id, Func2 createSecurity, Func2 changeSecurity) в StockSharp.Algo.BaseTrader.GetSecurity(String id, Func2 changeSecurity)

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

Спасибо:

esper

Фотография
Дата: 26.03.2013
Ответить


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

Спасибо:

UsilaDobry

Фотография
Дата: 26.03.2013
Ответить


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

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

Спасибо:

esper

Фотография
Дата: 26.03.2013
Ответить


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

info.zip 14 KB (549)
Спасибо: UsilaDobry

UsilaDobry

Фотография
Дата: 26.03.2013
Ответить


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

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

Спасибо:
<< < 2 3 4 5 6  > >>

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy