Краткая инструкция по 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 KB (52) s7.jpg 49 KB (54) s8.jpg 20 KB (54) s9.jpg 55 KB (54) s12.jpg 20 KB (54) s13.jpg 23 KB (55) s14.jpg 1 KB (54) s15.jpg 41 KB (54) s16.jpg 423 KB (52) s17.jpg 33 KB (52) s18.jpg 50 KB (53) s19.jpg 8 KB (52) s10.jpg 29 KB (54) s11.jpg 67 KB (54) s1.jpg 548 KB (51) s20.jpg 516 KB (53) s21.jpg 56 KB (54)

Теги:


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