← Zurück

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (103)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

esper
esper Autor

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

  1. В настройках подключения добавить экспорт данных для потока Волатильности

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

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

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

akoz
akoz

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

esper
esper Autor

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

Vladimir
Vladimir

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

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

esper
esper Autor

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

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

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

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

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

esper
esper Autor

Vladimir:

  • Стакан должен транслироваться после запуска стратегии. Да, Нажимаю запуск стратегии, но стакан не транслируется. Да, использую стратегию скользящие средние, из примера в программе. (На учебном видео тоже ее использовали, но там все отображалось). Какой инструмент используется? По нему в альфе точно стакан есть? Что выводится в логах?

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

Vladimir: Подскажите где найти (загрузить) простые тестовые стратегии, чтобы попробовать работу программы? Сейчас есть только те примеры, которые указаны в шаблонах при создании стратегии. Можно создать стратегию по шаблону и просмотреть ее код. Скоро добавится "Аналитическая стратегия".

kahuna
kahuna

Коннект к Quik есть. Портфелей не видно. Если без Studio в API коннектиться портфели нармально поступают. Не ту кнопку нажал наверное.😀 Что сделать чтобы портфели появились?

esper
esper Autor

kahuna: Коннект к Quik есть. Портфелей не видно. Если без Studio в API коннектится портфели нармально поступают. Не ту кнопку нажал наверное.😀 Что сделать чтобы портфели появились?

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

AntonySS
AntonySS

esper:

kahuna: Коннект к Quik есть. Портфелей не видно. Если без Studio в API коннектится портфели нармально поступают. Не ту кнопку нажал наверное.😀 Что сделать чтобы портфели появились?

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

Добрый день!

Установил S# Studio v4.1.16.1, все настройки по инструкции, несколько раз проверил. Но непосредственно во время установки соединения с QUIK были отличия от инструкции - окно "Новое подключение" вообще не появлялось. Также в окне "Настройка подключений" не было меню "Эмулятор".

Итого данные из по инструментам S# Studio получает, но мои портфели не показывает.

В чем может быть проблема?

Спасибо!

Vladimir
Vladimir

Инструмент 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(Action2 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](IEnumerable1 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)

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

  • Ни сразу, ни потом не выводятся)
esper
esper Autor

Vladimir: Инструмент RIM3 - RTS 6.13 в альфе по нему точно стакан есть!

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

  • Ни сразу, ни потом не выводятся) Терминал Альфа-Директ у вас верно настроен?
Vladimir
Vladimir

Да, настроен верно, много раз перепроверял

esper
esper Autor

Vladimir: Да, настроен верно, много раз перепроверял Ранее с альфой работали? При использовании примеров такая же проблема? Я Альфа-Директ не использую, поэтому в его настройке пока помочь не могу, если не получится настроить, то как появится время посмотрю в чем может быть проблема.

kahuna
kahuna

А как второй инструмент в стратегию добавить? Или какая в принципе идея может быть использована для чего-то подобного арбитражу. Может две запущенные стратегии по каждому отдельному инструменту както взаимодействующие между собою?

Moadip
Moadip

А как второй инструмент в стратегию добавить? Добавить св-во в код стратегии. Например SecondSecurity.

kahuna chudokos dice
kahuna
kahuna

Оставил работать на ночь. Пока Quik отсоединился от сервера Studio закидала окошками с сообщением о потеряном соединении. Устал кнопку Ок топтать. 😳 Как от них избавиться, пусть в лог пишет если хочет или парочку сообщений даст и успокоится.😀

esper
esper Autor

kahuna: Оставил работать на ночь. Пока Quik отсоединился от сервера Studio закидала окошками с сообщением о потеряном соединении. Устал кнопку Ок топтать. 😳 Как от них избавиться, пусть в лог пишет если хочет или парочку сообщений даст и успокоится.😀 Хорошо, учтем в ближайших версиях.

kahuna
kahuna

С Quik в режиме эмуляции на инструменте RIM3 стакан показывает, графики рисует, выставляет заявки, но не совершает сделки на стратегии "Скользящие".

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

kahuna
kahuna

kahuna: С Quik в режиме эмуляции на инструменте RIM3 стакан показывает, графики рисует, выставляет заявки, но не совершает сделки на стратегии "Скользящие".

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

Ради чайников типа меня, придется самому себе ответить на 2 вопрос. Выставление заявки на FORTS по рынку можно например сделать например так:


OrderDirections _direction=new OrderDirections(); //добавлено к базовому коду
				
				if (prevShort < prevLong && currentShort.GetValue<decimal>() > currentLong.GetValue<decimal>() && Position <= 0)
				{
					this.AddInfoLog("Новый сигнал на лонг.");
					_direction=OrderDirections.Buy; //добавлено к базовому коду
					//убрано order = this.BuyAtMarket(Position == 0 ? Volume : Position.Abs() * 2);
				//добавлено к базовому коду
				    decimal _price = _direction == OrderDirections.Buy ?
                    this.Security.BestAsk.Price + this.Security.MinStepSize * 10 : this.Security.BestBid.Price - this.Security.MinStepSize *10;
                    order = this.CreateOrder(_direction, _price, Position == 0 ? Volume : Position.Abs() * 2);
				//end добавлено к базовому коду 
				}
				else if (prevShort > prevLong && currentShort.GetValue<decimal>() < currentLong.GetValue<decimal>() && Position >= 0)
				{
					this.AddInfoLog("Новый сигнал на шорт.");
					_direction=OrderDirections.Sell; //добавлено к базовому коду
					//убрано из базового кода order = this.SellAtMarket(Position == 0 ? Volume : Position.Abs() * 2);
				//добавлено к базовому коду
				    decimal _price = _direction == OrderDirections.Buy ?
                    this.Security.BestAsk.Price + this.Security.MinStepSize * 10 : this.Security.BestBid.Price - this.Security.MinStepSize *10;
                    order = this.CreateOrder(_direction, _price, Position == 0 ? Volume : Position.Abs() * 2);
				//end добавлено к базовому коду 
				}

				if (order != null)
					RegisterOrder(order);

Заменив соответсвующий фрагмент в методе private void Process(Candle candle)

А что с первым вопросом делать не понятно.

Код исправлен.

esper
esper Autor

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

kahuna
kahuna

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 Это реакция на прдложение запустить стандартную стратегию. Если стандартную стратегию на фьюче запущу получу то что выше, а колоночек таких в таблице "инструменты" у меня нет (само собой в списке для добавления).

UsilaDobry
UsilaDobry

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

Mikhail Sukhov
Mikhail Sukhov

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

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

UsilaDobry
UsilaDobry

Mikhail Sukhov:

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

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

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

esper
esper Autor

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

UsilaDobry
UsilaDobry

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
Mikhail Sukhov

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

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
esper Autor

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

UsilaDobry
UsilaDobry

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)

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

kahuna
kahuna

При работе стратегии скользящие средние на реале студия не видит Position соотвественно бесконечно на каждой новой свечке выставляет заявки удвоенного объема. Так и разорится можно учитывая что на эмуляторе не функционирует. Может можно выдавать какую-нибудь расширенную диагностику по подключению к Quik терминалу, а то основная головная боль по работе с библиотекой или со Studio представляется именно в этом. Народ хочет разобраться что к чему.😀

kahuna
kahuna

kahuna: При работе стратегии скользящие средние на реале студия не видит Position соотвественно бесконечно на каждой новой свечке выставляет заявки удвоенного объема. Так и разорится можно учитывая что на эмуляторе не функционирует. Может можно выдавать какую-нибудь расширенную диагностику по подключению к Quik терминалу, а то основная головная боль по работе с библиотекой или со Studio представляется именно в этом. Народ хочет разобраться что к чему.😀

Пардон проблема с Position снята. Стал на собственные грабли наступать. В коде приведенном в предыдущем посте ошибочка. Сейчас поправлю. Вопрос по расширенной диагностике коннектора Quik все-же остается.

Mikhail Sukhov
Mikhail Sukhov

kahuna: Пардон проблема с Position снята. Стал на собственные грабли наступать. В коде приведенном в предыдущем посте ошибочка. Сейчас поправлю. Вопрос по расширенной диагностике коннектора Quik все-же остается.

Диагностика чего именно в коннекторе?

kahuna
kahuna

Mikhail Sukhov:

kahuna: Пардон проблема с Position снята. Стал на собственные грабли наступать. В коде приведенном в предыдущем посте ошибочка. Сейчас поправлю. Вопрос по расширенной диагностике коннектора Quik все-же остается.

Диагностика чего именно в коннекторе?

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

Mikhail Sukhov
Mikhail Sukhov

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

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

kahuna
kahuna

Mikhail Sukhov:

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

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

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

kahuna
kahuna

Mikhail Sukhov:

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

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

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

esper
esper Autor

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

UsilaDobry
UsilaDobry

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

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

esper
esper Autor

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

UsilaDobry
UsilaDobry
UsilaDobry

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

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

UsilaDobry
UsilaDobry

Запустил стратегию. Через 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
esper Autor

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

kahuna
kahuna

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

esper
esper Autor

kahuna: А что надо сделать чтобы в стратегии Position показывала позицию. this.PositionManager.Position показывает все верно, а this.Position показывает 0. Соответсвенно стратегия простая скользящая не работает, а генерит сделки. Так как считает что позиция 0. Если заменить Position на this.PositionManager.Position то работает. Quik настраивал и вручную и с info.wnd от API. Результат одинаковый. Strategy.Position всегда меняется при изменении Strategy.PositionManager.Position. Вы используете стандартную стратегию или свою? Что выводится в лог стратегии? Что значит "не работает, а генерит сделки"? kahuna: Очень бы логирование коннектора помогло бы, полагаю. Не приставал бы с дурацкими вопросами.😑 Так Студия пишет логи как для коннектора, так и для всех стратегий, все должно быть в директории c:\Users\user\Documents\StockSharp\Studio\Logs\

kahuna
kahuna

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
kahuna

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
esper Autor

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
kahuna

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

Спасибо за подсказку moadip. После снятия галки с фильтра параметров все заработало. Не подозревал что такое в разделе Связь Quik-а есть.

Moadip
Moadip

Может Quik неправильный 6.5.2.1 Неплохо было бы изучить инструкцию к QUIK.

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

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

kahuna
kahuna
kahuna

Может Quik неправильный 6.5.2.1 Неплохо было бы изучить инструкцию к QUIK.

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

Точно стоял фильтр параметров. Только я его не ставил видимо от брокера так установлено. Спасибо. Надо учить матчасть.

kahuna
kahuna

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


17:56:22.618|       |MSS_RIM3@RTS_SPBFUT00775|Стратегия запущена. [0,-1]. Позиция при старте 0.
17:56:23.066|Error  |MSS_RIM3@RTS_SPBFUT00775|System.ServiceModel.ActionNotSupportedException: The message with Action 'http://stocksharp.com/hydraserver/IRemoteStorage/Login' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).

Server stack trace: 
   в System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   в System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   в StockSharp.Algo.History.Hydra.IRemoteStorage.Login(String login, String password)
   в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=q94$Zdf026Tv_BoyB6fVRN1sQU_2qjA71DaZ4Wb3Lep0=.#=qO33oSMmtStpq9tRXxRABqQ==(IRemoteStorage #=q2J1m1jcWt_MrLpam4$u9yw==)
   в Ecng.Net.ChannelHelper.Invoke[TChannel,TResult](ChannelFactory`1 factory, Func`2 handler)
   в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=q94$Zdf026Tv_BoyB6fVRN1sQU_2qjA71DaZ4Wb3Lep0=.#=qkcq6ZYdZXuRyOpi$IDDPLg==()
   в System.Lazy`1.CreateValue()

Exception rethrown at [1]: 
   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   в StockSharp.Algo.History.Hydra.IRemoteStorage.Login(String login, String password)
   в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=q94$Zdf026Tv_BoyB6fVRN1sQU_2qjA71DaZ4Wb3Lep0=.#=qO33oSMmtStpq9tRXxRABqQ==(IRemoteStorage #=q2J1m1jcWt_MrLpam4$u9yw==)
   в Ecng.Net.ChannelHelper.Invoke[TChannel,TResult](ChannelFactory`1 factory, Func`2 handler)
   в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=q94$Zdf026Tv_BoyB6fVRN1sQU_2qjA71DaZ4Wb3Lep0=.#=qkcq6ZYdZXuRyOpi$IDDPLg==()
   в System.Lazy`1.CreateValue()
   в System.Lazy`1.LazyInitValue()
   в System.Lazy`1.get_Value()
   в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=qU9o7wK1zk5gv_ShJ210rhg==.#=qCU4ViocBxqDzcjj1iKVCNfBHFKsHRukCUohSKHhqPFmcQkf_hBl1StbFbITlar9yuVUngmdi1nzZcJ9r0dMnvQ==()
   в StockSharp.Algo.Storages.RemoteMarketDataDrive.#=qenJ2ZvfalJOuYi4O8gyn_g==.#=qpB$jCcUJakZVKcUsNQDtqhwxJH98chXPeKJiR4BBUIyX9CsqW8iEZ70LYalF$x3ZIwNiyS1rOgb1ahTHvQsyGw==()
   в #=qqHUHJSfdV9tDbJhVEsUebZp2hfgRweaw7ULt7Yf3uvSqy04AOlTUU3zZqtc_euu0.#=qSO1bd4cwOcSTgdYjpnOIjdg9k6msMdu8y_rLTJMs62lmI4hy5uEgF_OLF_P8dpt_JyFbzoPsheoPwbE9VP8V2g==()
   в StockSharp.Algo.Storages.StorageHelper.#=q1GdONKm7vwp_hEfaGZy_lw==[TData](IMarketDataStorage`1 #=qecG8M36E1Imqk8DDDMiBkA==, Nullable`1 #=qqV_D9SuyEYHI_x8lLSULgg==, Nullable`1 #=q0ocbGRkmtAY6GiD8o8G6mw==)
   в StockSharp.Algo.Storages.StorageHelper.#=qWqwPoHVoCHh9ffdS0eaXYg==[TValue](IMarketDataStorage`1 #=q$os$1RJjZ8PjIe3KDiWK6w==)
   в StockSharp.Algo.Candles.Compression.StorageCandleBuilderSource`1.GetSupportedRanges(CandleSeries series)
   в StockSharp.Algo.Candles.Compression.CandleBuilder`1.#=q7lXzwnTOrGXsnUgwNrnivuVL17Nr8UOQqSoGUO_nYUI=.#=qKps0o1SoMH5_ecLwzKHqUJJK2P7djlg6FHM3pe9KI0U=(ICandleBuilderSource #=qzRkxywCVlmB6xNwA6dyUxA==)
   в System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
   в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   в System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
   в System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   в System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   в Ecng.ComponentModel.RangeHelper.JoinRanges[T](IEnumerable`1 ranges)
   в StockSharp.Algo.Candles.Compression.CandleBuilder`1.GetSupportedRanges(CandleSeries series)
   в StockSharp.Algo.Candles.Compression.TimeFrameCandleBuilder.GetSupportedRanges(CandleSeries series)
   в #=q1lG3cgmAyiZBA8Np6w7te7opi4qh47kdoxcr0C7M3Z8Y76hYt3PkPncw90kBpO4SZztV3VPYvr26wdfmxiPE2Q==..ctor(CandleSeries #=qwhoOxODy2K03RDuiNNRjpg==, DateTime #=qsoS0RO6OZQ8eCEnHSFvhig==, DateTime #=q8CIqNV_xd6flQ_uKXHoXzg==, IEnumerable`1 #=qpiY$IdI7dmRlMG2ee2qE2g==, Action`1 #=qL2nfNgnAeHrJYgP550iXvA==, Action #=qEhvZS6hhhbUuPEG1MZwqiQ==)
   в StockSharp.Algo.Candles.CandleManager.Start(CandleSeries series, DateTime from, DateTime to)
   в StockSharp.Studio.AlgoService.StrategyCandleManager.Start(CandleSeries series, DateTime from, DateTime to)
   в StockSharp.Algo.Candles.CandleHelper.Start(ICandleManager manager, CandleSeries series)
   в StockSharp.Studio.Strategies.MySmaStrategy.OnStarted()
   в StockSharp.Algo.Strategies.Strategy.#=q_6EgjMqoaHwnLsp1UrOzyKYEPAyyE_o9XSY7hzvMp78=(ProcessStates #=qelaEY6d4DBiE1bfxA5TsFQ==)
17:56:23.067|       |MSS_RIM3@RTS_SPBFUT00775|Стратегия останавливается. [0,-1]. Позиция при старте 0.
17:56:23.069|       |MSS_RIM3@RTS_SPBFUT00775|Ожидание снятия всех активных заявок.
17:56:23.075|       |MSS_RIM3@RTS_SPBFUT00775|Стратегия остановлена. [0,-1]. Позиция при старте 0.

Mikhail Sukhov
Mikhail Sukhov

kahuna: Почему то после выходных стратегия перестала функционировать пишет что то про Гидру.

Обновите Студию. Поменялся контракт клиент-серверного взаимодействия.

Vladimir
Vladimir

на Windows 7 (64) - установлены все последние обновления, при запуске #Studio - пишет что нужен NETFramework 4.0

Moadip
Moadip

Vladimir: на Windows 7 (64) - установлены все последние обновления, при запуске #Studio - пишет что нужен NETFramework 4.0

Обновления это не .NET Framework 4. Раз просит, скачайте и поставьте - .NET Framework 4.

esper
esper Autor

Vladimir: на Windows 7 (64) - установлены все последние обновления, при запуске #Studio - пишет что нужен NETFramework 4.0 Была проблема с установщиком, скачайте заново архив.

Vladimir
Vladimir

имел в виду установлен NETFramework 4.5 На другом компьютере установил NETFramework 4.0, как просит #Studio, теперь у меня каждый автоматическое обновление Windows предлагает установить NETFramework новый

esper
esper Autor

Vladimir: имел в виду установлен NETFramework 4.5 На другом компьютере установил NETFramework 4.0, как просит #Studio, теперь у меня каждый автоматическое обновление Windows предлагает установить NETFramework новый А какой .Net Framework 4.5 установлен Full или ClientProfile?

VassilSanych
VassilSanych

esper: А какой .Net Framework 4.5 установлен Full или ClientProfile? А разве 4.5 бывает ClientProfile? По-моему то, что раньше было ClientProfile, - теперь Full, а остальное идёт в составе SDK. Могу и ошибаться.

esper
esper Autor

VassilSanych: А разве 4.5 бывает ClientProfile? По-моему то, что раньше было ClientProfile, - теперь Full, а остальное идёт в составе SDK. Могу и ошибаться. Действительно, оказывается упразднили ClientProfile для 4.5.

VassilSanych
VassilSanych

4.5 - это 4.0 с плюшками. Если у вас есть 4.5, значит есть и 4.0.

Терпила
Терпила

VassilSanych: 4.5 - это 4.0 с плюшками. Если у вас есть 4.5, значит есть и 4.0. Другими словам, если на машине установлен 4.5, то Вам не суждено на такой машине воспроизвести проблемы тех, у кого только 4.0, т.к. плюшки в 4.5 к несколько другму 4.0

Если бы всё было так просто, то можно было бы устанавливать 4.5, т.е. плющки, на Виндовс ХР с .NET 4.0 Но нельзя в принципе, т.к. 4.0 из поколения 4.5 пользуется тем, что на чистых машинах 4.0 в принципе нет

PS Неужели Вы тот самый загадочный Василь Саныч - член той самой изумительной прокреативной четвёрки Стокшарповцев?

esper
esper Autor

Терпила: Другими словам, если на машине установлен 4.5, то Вам не суждено на такой машине воспроизвести проблемы тех, у кого только 4.0, т.к. плюшки в 4.5 к несколько другму 4.0

Если бы всё было так просто, то можно было бы устанавливать 4.5, т.е. плющки, на Виндовс ХР с .NET 4.0 Но нельзя в принципе, т.к. 4.0 из поколения 4.5 пользуется тем, что на чистых машинах 4.0 в принципе нет Не совсем понял, что вы хотели сказать, но S#.Studio собрана под 4.0 и не требует 4.5

Терпила
Терпила

esper: Не совсем понял, что вы хотели сказать, но S#.Studio собрана под 4.0 и не требует 4.5 Это не я сказал... Уже полтора года все говорят... Гуглем пользоваться умеете?

То, что Вы собираете под 4.0 на машине с .NET 4.5 имеет только теоретическую совместимость с 4.0-без-4.5 (особенно Виндовс ХР)

PS В частности, я так и не смог установить S#.Studio на Windows XP

Moadip
Moadip

Терпила: PS Неужели Вы тот самый загадочный Василь Саныч - член той самой изумительной прокреативной четвёрки Стокшарповцев? Геннадий, продолжайте жечь. Ваши посты доставляют.😂 Пишите чаще, а то вы куда то пропали.

Терпила
Терпила

Если Вам одной ссылки по поводу того, что из машины с .NET 4.5 нельзя создавать приложения на для 4.0 - недостаточно, могу ещё подкинуть

Moadip:

Терпила: PS Неужели Вы тот самый загадочный Василь Саныч - член той самой изумительной прокреативной четвёрки Стокшарповцев? Геннадий, продолжайте жечь. Ваши посты доставляют.😂 Пишите чаще, а то вы куда то пропали. Пока что жжёте Вы, отредактировав посты и профиль моего пользователя,:

Профессия: Лох Интересы? Лохотроны предварительно его забанив

Фу, как пахнет некрасиво. Стокшарп, одним словом всё сказано

esper
esper Autor

Терпила: Если Вам одной ссылки по поводу того, что из машины с .NET 4.5 нельзя создавать приложения на для 4.0 - недостаточно, могу ещё подкинуть Геннадий, сейчас специально нашел чистую виртуалку с Windows Server 2003 R2 x86. XP найти не удалось, но если не ошибаюсь, то поддержка 4.5 для win2k3 так же не заявлена. Скачал туда студию и она запустилась без каких-либо проблем. На виртуалке установлен только .Net Framework 4.0

Mikhail Sukhov
Mikhail Sukhov

Терпила: Пока что жжёте Вы, отредактировав посты и профиль моего пользователя,:

В профиле убрал ниже приведенные слова, а что с постами?

зы Текущий ник Терпила - наводит конечно на определенные мысли. Но я думаю вам и мне достаточно лет, чтобы не заниматься ерундой в интернете.

VassilSanych
VassilSanych

Терпила: Неужели Вы тот самый загадочный Василь Саныч - член той самой изумительной прокреативной четвёрки Стокшарповцев? Не в курсе. Всё может быть. И не такой уж я и загадочный. При желании этот аккаунт можно проследить вплоть до домашнего адреса. Или почитать досье/резюме в открытом доступе. Загадочный у меня совсем другой аккаунт ;)

VassilSanych
VassilSanych

Терпила: То, что Вы собираете под 4.0 на машине с .NET 4.5 имеет только теоретическую совместимость с 4.0-без-4.5 (особенно Виндовс ХР) Только потому, что 4.5 закрывает баги 4.0? Но так было всегда:

  • установщик 3.0 ставил сервиспак на 2.0
  • установщик 3.5 ставил патчи и на 2.0, и на 3.0. Что поменялось?

PS Хуже того: гадский 3.5 имелся в двух версиях - "новой" и "старой", которые значительно отличались по клиент-сервеному взаимодействию. Что немало доставляло разработчикам и службам поддержки.

Другое дело, что поддержки XP уже давно нет, и как оно у вас там будет копошиться - это только ваши личные проблемы. Могу только заверить, что под Windows 2000, windows 98, windows 95, windows nt и windows 3.1 софт, скомпиленный под .net 4.0 работать точно не будет.

Moadip
Moadip

Терпила: PS В частности, я так и не смог установить S#.Studio на Windows XP VassilSanych: Другое дело, что поддержки XP уже давно нет, и как оно у вас там будет копошиться - это только ваши личные проблемы. Могу только заверить, что под Windows 2000, windows 98, windows 95, windows nt и windows 3.1 софт, скомпиленный под .net 4.0 работать точно не будет.

Под Windows XP все прекрасно работает. Если не работает, то это локальные проблемы.

На самом деле проблема Геннадия уникальна. Раз уж Геннадий, программист со стажем(что подразумевает что он Advanced User PC) не может решить эту проблему, то скорее всего ему уже никто и ничто не сможет помочь.

Возможно это из за плохой кармы.😂

towace
towace

Доброго дня, чёт не получется у меня смартком подружить с вашими продуктами, студия не показыват портфели и стаканы пустые, выдаёт сообщение - Ошибка запуска экспорта Операция является недопустимой из-за текушего состояния обьекта.пробовал ваши стратегии которые идут в студии. W7, 64.

esper
esper Autor

towace: Доброго дня, чёт не получется у меня смартком подружить с вашими продуктами, студия не показыват портфели и стаканы пустые, выдаёт сообщение - Ошибка запуска экспорта Операция является недопустимой из-за текушего состояния обьекта.пробовал ваши стратегии которые идут в студии. W7, 64. S#.Studio сейчас собрана под Any cpu, поэтому на x64 системах есть проблемы со смарткомом и квиком. Скоро выйдет обновление, в котором добавится возможность запускать Студию в режиме x86.

towace
towace

esper:

towace: Доброго дня, чёт не получется у меня смартком подружить с вашими продуктами, студия не показыват портфели и стаканы пустые, выдаёт сообщение - Ошибка запуска экспорта Операция является недопустимой из-за текушего состояния обьекта.пробовал ваши стратегии которые идут в студии. W7, 64. S#.Studio сейчас собрана под Any cpu, поэтому на x64 системах есть проблемы со смарткомом и квиком. Скоро выйдет обновление, в котором добавится возможность запускать Студию в режиме x86.

Похоже дело не в Anu cpu , попробовал на ноутбуке запустить, точь так же не работает и выдаёт тоже сообщение, в ноуте стоит виста х32.

Ramil
Ramil

Пытаюсь протестировать стратегию в стокшарп студии, создал как на видео стратегию sma, в окне выбора инструментов появляются инструменты, причем какие-то одни и те же, хотя подключаюсь к plaza2 или к квику, их список не меняется, выбираю например RIM3, а стратегия про попытке запуска все равно выдает сообщения "стратегия 'sma' не имеет информации об инструменте". Подскажите что не так сделал?

esper
esper Autor

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

Ramil
Ramil

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

Одна стратегия, создаю ее как в примере на видео, хранилище локальное, скачал предварительно фьючерсы, при этом показывает что данные скачаны только по RIM3, остальные инструменты не показывает, тот список что по умолчанию не обновляется когда я меняю папку хранилища, там должны быть вообще другие инструменты http://screencast.com/t/UrLURzMFx

При попытке запуска выдает сообщения "стратегия 'sma' не имеет информации об инструменте

esper
esper Autor

Ramil: Одна стратегия, создаю ее как в примере на видео, хранилище локальное, скачал предварительно фьючерсы, при этом показывает что данные скачаны только по RIM3, остальные инструменты не показывает, тот список что по умолчанию не обновляется когда я меняю папку хранилища, там должны быть вообще другие инструменты http://screencast.com/t/UrLURzMFx

При попытке запуска выдает сообщения "стратегия 'sma' не имеет информации об инструменте

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

Из хранилища данных инструменты получить нельзя, если у вас в терминале сейчас нет нужных инструментов, то его можно создать руками, указав его Id и остальные поля.

По запуску стратегии, покажите скриншот настроек стратегии и как вы ее запускаете?

Vladimir
Vladimir

Снова вернулся к тестам вашей программы. Работаю с Альфа-директ (все настроено: стакан, заявки...) При запуске стратегий Скользящие, Аналитическая - ни стакан ни график не отображаются

esper
esper Autor

Vladimir: Снова вернулся к тестам вашей программы. Работаю с Альфа-директ (все настроено: стакан, заявки...) При запуске стратегий Скользящие, Аналитическая - ни стакан ни график не отображаются

Давайте начнем с логов, что лежат в Documents\StockSharp\Studio\Logs

Vladimir
Vladimir

esper:

Vladimir: Снова вернулся к тестам вашей программы. Работаю с Альфа-директ (все настроено: стакан, заявки...) При запуске стратегий Скользящие, Аналитическая - ни стакан ни график не отображаются

Давайте начнем с логов, что лежат в Documents\StockSharp\Studio\Logs

12:55:27.201| |SS_RIM3@RTS_XXXXX-000@FORTS|Стратегия запущена. [0,-1]. Позиция при старте 0. 12:55:43.887| |SS_RIM3@RTS_XXXXX-000@FORTS|Стратегия останавливается. [0,-1]. Позиция при старте 0. 12:55:43.887| |SS_RIM3@RTS_XXXXX-000@FORTS|Ожидание снятия всех активных заявок. 12:55:43.900| |SS_RIM3@RTS_XXXXX-000@FORTS|Стратегия остановлена. [0,-1]. Позиция при старте 0.

не нахожу как прикрепить файл, вставляю из StudioTrader

00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 00:00:00.000|Error |EmulationTrader|OrderLog не прошел валидацию лицензией, тестирование на OrderLog невозможно. 15:53:42.335| |AlfaTrader|OnConnect() 15:53:42.731| |AlfaTrader|Соединение с Альфа-Директ установлено 00:00:00.000| |EmulationTrader|Экспорт запущен. 15:53:42.739| |AlfaTrader|StartExport() 15:53:42.740| |AlfaTrader|Экспорт запущен. 15:53:42.874|Error |AlfaTrader|System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: board в StockSharp.Algo.SecurityIdGenerator.GenerateId(String secCode, String secClass, ExchangeBoard board) в StockSharp.AlfaDirect.AlfaTrader.#=qvBntNXwTyb8nDnqu1Xp9SueMAki0U8yuuqqZ3Jo2ZyI=.#=qFlA5keRKqrfIYFPsk8IjZQqiWEYGn48CRhCszCTFpm4=() в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler) 15:53:42.874|Error |AlfaTrader|System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: board в StockSharp.Algo.SecurityIdGenerator.GenerateId(String secCode, String secClass, ExchangeBoard board) в StockSharp.AlfaDirect.AlfaTrader.#=qvBntNXwTyb8nDnqu1Xp9SueMAki0U8yuuqqZ3Jo2ZyI=.#=qFlA5keRKqrfIYFPsk8IjZQqiWEYGn48CRhCszCTFpm4=() в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler) 15:53:42.874|Error |AlfaTrader|System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: board в StockSharp.Algo.SecurityIdGenerator.GenerateId(String secCode, String secClass, ExchangeBoard board) в StockSharp.AlfaDirect.AlfaTrader.#=qvBntNXwTyb8nDnqu1Xp9SueMAki0U8yuuqqZ3Jo2ZyI=.#=qFlA5keRKqrfIYFPsk8IjZQqiWEYGn48CRhCszCTFpm4=() в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler) 15:53:43.114| |AlfaTrader|create order: id = 114285430, tr. id = 2773781830 15:53:43.114| |AlfaTrader|Создание ордера из терминала, tr. id 2773781830 15:53:43.392| |AlfaTrader|update order: id = 114285430 15:53:43.394| |AlfaTrader|Order changed: 2773781830/114285430 Покупка Цена=129390 Объем=5 Сост=Done Бал=5 15:53:43.399| |AlfaTrader|New order: 2773781830/114285430 Покупка Цена=129390 Объем=5 Сост=Done Бал=5 15:53:43.407| |AlfaTrader|create order: id = 114294006, tr. id = 148851687 15:53:43.407| |AlfaTrader|Создание ордера из терминала, tr. id 148851687 15:53:43.650| |AlfaTrader|update order: id = 114294006

Лицензию получал (42815)

esper
esper Autor

Vladimir: 15:53:42.874|Error |AlfaTrader|System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: board в StockSharp.Algo.SecurityIdGenerator.GenerateId(String secCode, String secClass, ExchangeBoard board) в StockSharp.AlfaDirect.AlfaTrader.#=qvBntNXwTyb8nDnqu1Xp9SueMAki0U8yuuqqZ3Jo2ZyI=.#=qFlA5keRKqrfIYFPsk8IjZQqiWEYGn48CRhCszCTFpm4=() в StockSharp.Algo.BaseTrader.ProcessEvents(Action handler) В следующей версии будет фикс.

towace
towace

Приветствую, сегодня обновил студию и гидру, так и не подключается к смарткому, устал уже(, может подскажете всё же? студия выдает вот эту ошибку 00:41:05.832|Error |SmartTrader|System.Runtime.InteropServices.COMException (0x800706BA): Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA) в StClientLib.StServerClass.connect(String ip, Int16 port, String login, String password) в StockSharp.Smart.SmartComWrapper.#=q5dJH1y7MI3gwsZ8QzLKabg==() в Ecng.ComponentModel.EventDispatcher.<>c__DisplayClass1.<Add>b__0() мои приложения работают норм под смарткомом. W7,х64.

esper
esper Autor

towace: Приветствую, сегодня обновил студию и гидру, так и не подключается к смарткому, устал уже(, может подскажете всё же? студия выдает вот эту ошибку мои приложения работают норм под смарткомом. W7,х64. В каком режиме запускаете студию? Ваши приложения на S# написаны?

towace
towace

esper:

towace: Приветствую, сегодня обновил студию и гидру, так и не подключается к смарткому, устал уже(, может подскажете всё же? студия выдает вот эту ошибку мои приложения работают норм под смарткомом. W7,х64. В каком режиме запускаете студию? Ваши приложения на S# написаны?

Студию запускаю в режиме х86 от админа, мои приложения работают на прямую с комом , без стокшарпа, написаны на Visual Basic

esper
esper Autor

towace: Студию запускаю в режиме х86 от админа, мои приложения работают на прямую с комом , без стокшарпа, написаны на Visual Basic Вы их одновременно запускаете? Попробуйте закрыть все свои приложения, перезапустить службу смарткома и запустить студию.

towace
towace

esper:

towace: Студию запускаю в режиме х86 от админа, мои приложения работают на прямую с комом , без стокшарпа, написаны на Visual Basic Вы их одновременно запускаете? Попробуйте закрыть все свои приложения, перезапустить службу смарткома и запустить студию.

Всё это делал, закрывал свои приложения, перезапускал службу. и всё равно выбивает службу смартком. скачал последний ком, поставил всё по инструкции. да и стоял последний

esper
esper Autor

towace: Всё это делал, закрывал свои приложения, перезапускал службу. и всё равно выбивает службу смартком. скачал последний ком, поставил всё по инструкции. да и стоял последний Напишите мне в скайп в профиле.

Vladimir
Vladimir

А когда ждать следующую версию?

anothar
anothar

Добрый день. Скажите а как в студии сохранять свечи? Или для этого надо пользоваться S# Data. Если да то вопрос в том умеет ли сутдия мержить свечи: допусти у меня Гидра качает раз в день с утра. А все остальное приходит через квик. Студия сумеет это отобразить?

esper
esper Autor

anothar: Добрый день. Скажите а как в студии сохранять свечи? Или для этого надо пользоваться S# Data. Если да то вопрос в том умеет ли сутдия мержить свечи: допусти у меня Гидра качает раз в день с утра. А все остальное приходит через квик. Студия сумеет это отобразить? Сама Студия свечки не сохраняет, но может подгружать из хранилища. Далее, если из квика будут приходить тики, то свечки за текущую сессию будут строиться автоматически.

Vladimir
Vladimir

Помогаю дальше настраивать работу S#.Studio ))

esper
esper Autor

Vladimir: Помогаю дальше настраивать работу S#.Studio ))

  1. Сервер S# Data временно недоступен. Чтобы Студия не подключалась к удаленному хранилищу, в настройках хранилища данных необходимо указать локальное хранилище, если локально данные вы не закачиваете, то просто указать путь к какой-либо директории.
  2. Попробуйте удалить папку StockSharp\Studio в моих документах.
VoDA
VoDA

Добрый день.

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

Еще вопрос - в качестве хранилища нужно указывать папку, куда Гидра качает все данные (c:\data) или по конкретному источнику (c:\data\dataFinam)?

esper
esper Autor

VoDA: Как протестировать стратегию на скользящих средних по историческим данным? Данные скачаны и лежат в локальной папке. Настройки хранилища (3-я кнопка на панели инструментов), там надо выбрать локальное хранилище, далее все как в видеоинструкции.

VoDA: Еще вопрос - в качестве хранилища нужно указывать папку, куда Гидра качает все данные (c:\data) или по конкретному источнику (c:\data\dataFinam)? По конкретному источнику.

GigaMike
GigaMike

Такая проблема, При компиляции любой стратегии пишет: Не удалось найти файл метаданных "D:\Studio\StockSharp.Studio.Controls.Interfaces.dll". Соответственно ничего не работает.

Последняя версия студии. Тока установил, пытаюсь запустить.

esper
esper Autor

GigaMike: Такая проблема, При компиляции любой стратегии пишет: Не удалось найти файл метаданных "D:\Studio\StockSharp.Studio.Controls.Interfaces.dll". Соответственно ничего не работает.

Последняя версия студии. Тока установил, пытаюсь запустить.

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

KAX
KAX

Спасибо за отличный продукт!

Было бы здорово добавить кнопку "Обновить стратегию" Я пишу код стратегии в VS, затем компилирую. Добавляю стратегию в S#.studio. Если мне необходимо внести изменения, то мне необходимо вновь скомпилировать стратегию, закрыть S#.studio, и вновь ее открыть. Только тогда изменения вступят в силу. Собственно кнопочка "Обновить стратегию" просто заново бы "читала" сборку со стратегией, без закрытия S#.studio.

pft_man
pft_man

Здравствуйте. А как определить порядок отображения параметров стратегии в окне свойства? У меня выглядит как на рисунке, всё вперемешку. Хочется их расставить в определённом порядке, чтобы всё красиво было.

Weitere Kommentare laden