Краткая инструкция по S# Studio
Atom Ответить
14.03.2013


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если все данные были указаны верно и есть активное подключение к торговому терминалу, то должен отобразиться стакан для выбранного инструмента и, если стратегия поддерживает работу с графиком, то график по соответствующему инструменту:
s20.jpg
s1_1.jpg 10,3KB (46) s7.jpg 49,7KB (48) s8.jpg 20,2KB (48) s9.jpg 55,1KB (48) s12.jpg 20,4KB (48) s13.jpg 23,8KB (49) s14.jpg 1,8KB (48) s15.jpg 41,2KB (48) s16.jpg 423,8KB (47) s17.jpg 33,8KB (47) s18.jpg 50,9KB (47) s19.jpg 8,4KB (47) s10.jpg 29,3KB (48) s11.jpg 67,8KB (48) s1.jpg 548,9KB (46) s20.jpg 516,8KB (47) s21.jpg 56,8KB (48)

Теги:


Спасибо: wkj




103 Ответов
< 1 2 3 4  > >>
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.03.2013
Ответить


kahuna Перейти
Ну например куда-нибудь лог скинуть в стиле
таблица Quik такая-то;
Колонка номер такая-то;
послано то;
получено это.


Из-за таблицы тиков и стаканов такие логи быстренько скушают весь диск. И будут нечитаемы из-за большого объема.
Спасибо:

kahuna

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


Mikhail Sukhov Перейти
kahuna Перейти
Ну например куда-нибудь лог скинуть в стиле
таблица Quik такая-то;
Колонка номер такая-то;
послано то;
получено это.


Из-за таблицы тиков и стаканов такие логи быстренько скушают весь диск. И будут нечитаемы из-за большого объема.


Это понятно. Такую возможность хочется иметь только для включения на очень короткий период отладки. Чтобы выяснить проблему подключения. При таком использовании диск не съест.
Спасибо:

kahuna

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


Mikhail Sukhov Перейти
kahuna Перейти
Ну например куда-нибудь лог скинуть в стиле
таблица Quik такая-то;
Колонка номер такая-то;
послано то;
получено это.


Из-за таблицы тиков и стаканов такие логи быстренько скушают весь диск. И будут нечитаемы из-за большого объема.


Еще лучше вариант логирование обмена с каким-либо образом выбранной таблицей.
Спасибо:

esper

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


kahuna Перейти
Запустил для пробы ту же стратегию без эмуляции.
При попытке выставить Buy стратегия сообщила:
OrderFailed:59380905/0 Покупка Цена=2147483647 Объем=1 Сост=Failed Бал=1
StockSharp.Quik.Api.Exception: Код ошибки Failed Сообщение Ошибка создания заявки.
[FORTS][39] "Цена не кратна минимальному шагу цены".

Чтобы подобной ошибки не возникало, необходимо в таблицу Инструменты в Quik-е добавить Минимально возможная цена и Максимально возможная цена. Далее в Studio, в настройках подключения Quik, есть выпадающий список с доп. столбцами, в нем так же необходимо выбрать эти два столбца, в том порядке, в котором они были добавлены в Quik.
Автор топика
Спасибо: kahuna

UsilaDobry

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


Mikhail Sukhov Перейти
UsilaDobry Перейти
Добрый день!
Настроил подключение к Quik. При подключении сообщает "Ошибка в соединении. Отказано в доступе". Лицензия действительна до 22.04.2013. О каком доступе речь?
Настроил подключение к Альфе, почему то запускается мастер установки Альфа-Директ на мой компьютер, он у меня уже стоит и работает.


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


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

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](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()
Спасибо:

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](IEnumerable`1 source, Func`2 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==(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|Экспорт остановлен.
Спасибо:

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==[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)

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

esper

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


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

UsilaDobry

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


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


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

esper

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


Попробуйте готовый файл настроек.
info.zip 14,6KB (0)
Автор топика
Спасибо: UsilaDobry

UsilaDobry

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


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


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

UsilaDobry

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


Запустил стратегию. Через 5 минут всё зависло.

17:59:58.761| |SS_RIM3@RTS_FORTS_test|Стратегия запущена. [0,-1]. Позиция при старте 0.
18:04:04.058| |SS_RIM3@RTS_FORTS_test|Новый сигнал на шорт.
18:04:04.081| |SS_RIM3@RTS_FORTS_test|Регистрация новой Limit (0x201C39D) заявки на Sell с ценой 1 и объемом 1.
18:04:04.134|Error |SS_RIM3@RTS_FORTS_test|System.InvalidOperationException: Шлюз для портфеля FORTS_test не найден.
18:04:04.134| |SS_RIM3@RTS_FORTS_test|Стратегия останавливается. [0,-1]. Позиция при старте 0.
18:04:04.134| |SS_RIM3@RTS_FORTS_test|Ожидание снятия всех активных заявок.

При этом в лог файле QuikTrader и StudioTrader опять посыпалась ошибка

18:09:13.732|Error |QuikTrader|System.InvalidOperationException: Данные для таблицы 'инструменты' экспортировались в меньшем формате. Не было найдено значение для колонки 'Краткое название бумаги'. Количество колонок равно '6', индекс колонки '12'.
Спасибо:

esper

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


Портфель FORTS_test предназначен для тестирования на истории, для торговли на реале надо выбрать портфель, который есть в терминале.
Автор топика
Спасибо:

kahuna

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


А что надо сделать чтобы в стратегии Position показывала позицию.
this.PositionManager.Position показывает все верно, а this.Position показывает 0.
Соответсвенно стратегия простая скользящая не работает, а генерит сделки.
Так как считает что позиция 0. Если заменить Position на this.PositionManager.Position то работает.
Quik настраивал и вручную и с info.wnd от API. Результат одинаковый.
Очень бы логирование коннектора помогло бы, полагаю. Не приставал бы с дурацкими вопросами.Bored
Спасибо:

esper

Фотография
Программист
Дата: 27.03.2013
Ответить


kahuna Перейти
А что надо сделать чтобы в стратегии Position показывала позицию.
this.PositionManager.Position показывает все верно, а this.Position показывает 0.
Соответсвенно стратегия простая скользящая не работает, а генерит сделки.
Так как считает что позиция 0. Если заменить Position на this.PositionManager.Position то работает.
Quik настраивал и вручную и с info.wnd от API. Результат одинаковый.

Strategy.Position всегда меняется при изменении Strategy.PositionManager.Position. Вы используете стандартную стратегию или свою? Что выводится в лог стратегии? Что значит "не работает, а генерит сделки"?
kahuna Перейти
Очень бы логирование коннектора помогло бы, полагаю. Не приставал бы с дурацкими вопросами.Bored

Так Студия пишет логи как для коннектора, так и для всех стратегий, все должно быть в директории c:\Users\user\Documents\StockSharp\Studio\Logs\
Автор топика
Спасибо:

kahuna

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


esper Перейти
Вы используете стандартную стратегию или свою?

Стандартную.
esper Перейти
Что выводится в лог стратегии?

Ничего необычного не выводится.
Новый сигнал на лонг...
Регистрация заявки...
Новый сигнал на лонг...
Регистрация заявки...

esper Перейти
Что значит "не работает, а генерит сделки"?

Это значит что так как например в условии стратегии
if (prevShort < prevLong && currentShort.GetValue<decimal>() > currentLong.GetValue<decimal>() && Position <= 0)
используется Position<=0 и после выставления первой сделки реальная позиция не равна 0 а в стратегии Position всегда оказывается = 0 то стратегия на каждую свечу выставляет новые сделки того же направления. До тех пор пока скользящие средние не пересекутся в обратном порядке. Если же вместо Position написать this.PositionManager.Position то стратегия работает как должна.
esper Перейти
Так Студия пишет логи как для коннектора, так и для всех стратегий, все должно быть в директории c:\Users\user\Documents\StockSharp\Studio\Logs\
Я имею в виду расширенное логирование обмена с Quik. Например в виде заказанного по конкретной таблице Quik подробного получения данных в виде таблица=XXX, колонка=KKK, Значение(получено/отправлено)=ZZZ. Лично мне бы очень помогло. Так как что API не работает, что Studio. Предполагаю что особенность настройки Quik моего брокера.
Спасибо:

kahuna

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


esper Перейти
Так Студия пишет логи как для коннектора, так и для всех стратегий, все должно быть в директории c:\Users\user\Documents\StockSharp\Studio\Logs\
kahuna
Я имею в виду расширенное логирование обмена с Quik. Например в виде заказанного по конкретной таблице Quik подробного получения данных в виде таблица=XXX, колонка=KKK, Значение(получено/отправлено)=ZZZ. Лично мне бы очень помогло. Так как что API не работает, что Studio. Предполагаю что особенность настройки Quik моего брокера.

В общем не надо оказалось это логирование творить, есть готовая утилита DDESpy.EXE в принципе все показывает что надо. Если кому еще для отладки интересно есть например здесь http://www.codeauthority.com/ddespy.zip
Спасибо:

esper

Фотография
Программист
Дата: 28.03.2013
Ответить


kahuna Перейти
Это значит что так как например в условии стратегии
if (prevShort < prevLong && currentShort.GetValue<decimal>() > currentLong.GetValue<decimal>() && Position <= 0)
используется Position<=0 и после выставления первой сделки реальная позиция не равна 0 а в стратегии Position всегда оказывается = 0 то стратегия на каждую свечу выставляет новые сделки того же направления. До тех пор пока скользящие средние не пересекутся в обратном порядке. Если же вместо Position написать this.PositionManager.Position то стратегия работает как должна.

Проверил сейчас стратегию скользящих на сбере на тестовом квике, все настройки по-умолчанию:
Цитата:
08:46:21.631| |SS_SBER@QJSIM_57575|Стратегия запущена. [0,-1]. Позиция при старте 0.
09:15:04.775| |SS_SBER@QJSIM_57575|Новый сигнал на лонг.
09:15:07.391| |SS_SBER@QJSIM_57575|Регистрация новой Market (0x1CE9EDA) заявки на Buy с ценой 0 и объемом 1.
09:15:08.106| |SS_SBER@QJSIM_57575|Новая позиция: 57575-SBER@QJSIM=1.
09:15:08.109| |SS_SBER@QJSIM_57575|Заявка 42102758 больше не активна.
09:15:08.116| |SS_SBER@QJSIM_57575|Новая Buy сделка 1298571019 по цене 96,28 на 1 заявки 42102758.
09:20:02.052| |SS_SBER@QJSIM_57575|Новый сигнал на шорт.
09:20:02.052| |SS_SBER@QJSIM_57575|Регистрация новой Market (0x17ACC5C) заявки на Sell с ценой 0 и объемом 2.
09:20:02.938| |SS_SBER@QJSIM_57575|Новая позиция: 57575-SBER@QJSIM=-1.
09:20:02.938| |SS_SBER@QJSIM_57575|Заявка 42102759 больше не активна.
09:20:02.938| |SS_SBER@QJSIM_57575|Новая Sell сделка 1298572214 по цене 96,19 на 2 заявки 42102759.

После исполнения заявки позиция меняется сразу. Вообще Position никак не может отличаться от PositionManager.Position, т.к. он как раз и возвращает это значение (можно посмотреть в исходниках S# на кодеплексе).

Чтобы разобраться в проблеме приводите лог работы стратегии и ее параметры.
Автор топика
Спасибо:

kahuna

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


esper Перейти
kahuna Перейти
Запустил для пробы ту же стратегию без эмуляции.
При попытке выставить Buy стратегия сообщила:
OrderFailed:59380905/0 Покупка Цена=2147483647 Объем=1 Сост=Failed Бал=1
StockSharp.Quik.Api.Exception: Код ошибки Failed Сообщение Ошибка создания заявки.
[FORTS][39] "Цена не кратна минимальному шагу цены".

Чтобы подобной ошибки не возникало, необходимо в таблицу Инструменты в Quik-е добавить Минимально возможная цена и Максимально возможная цена. Далее в Studio, в настройках подключения Quik, есть выпадающий список с доп. столбцами, в нем так же необходимо выбрать эти два столбца, в том порядке, в котором они были добавлены в Quik.

Да вроде как нет там таких столбцов. И "короткие названия" галочку ставил, не увидел.
Может не про таблицу "Инструменты" речь или с ней что-то еще надо слделать чтобы увидеть?
Может Quik неправильный 6.5.2.1
Это реакция на прдложение запустить стандартную стратегию.
Если стандартную стратегию на фьюче запущу получу то что выше, а колоночек таких в таблице "инструменты" у меня нет (само собой в списке для добавления).
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 28.03.2013
Ответить


Цитата:
Может Quik неправильный 6.5.2.1

Неплохо было бы изучить инструкцию к QUIK.

Цитата:
Да вроде как нет там таких столбцов. И "короткие названия" галочку ставил, не увидел.
Может не про таблицу "Инструменты" речь или с ней что-то еще надо слделать чтобы увидеть?

QUIK 6.5.1.19



Если нет каких то столбцов, надо проверить не стоит ли фильтр.
Или если стоит, то выбраны нужные столбцы в Связь -> Списки -> Фильтр параметров.

Спасибо: kahuna

kahuna

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


Moadip Перейти
Цитата:
Может Quik неправильный 6.5.2.1

Неплохо было бы изучить инструкцию к QUIK.

Если нет каких то столбцов, надо проверить не стоит ли фильтр.
Или если стоит, то выбраны нужные столбцы в Связь -> Списки -> Фильтр параметров.



Точно стоял фильтр параметров. Только я его не ставил видимо от брокера так установлено. Спасибо. Надо учить матчасть.
Спасибо:
< 1 2 3 4  > >>

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

loading
clippy