Первый урок, с использованием S#.API 5.0 (VS 2019, NET 4.8)
Atom Ответить
19.04.2020


Пытаюсь воспроизвести первый урок, с использованием S#.API 5.0 (VS 2019, NET 4.8), при попытке выбора подключениявыдаёт ошибку:


System.Reflection.TargetInvocationException
HResult=0x80131604
Сообщение = Адресат вызова создал исключение.
Источник = mscorlib
Трассировка стека:
в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
в System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
в System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
в System.Activator.CreateInstance(Type type, Object[] args)
в Ecng.Common.TypeHelper.CreateInstance[T](Type type, Object[] args)
в StockSharp.Messages.Extensions.CreateAdapter(Type adapterType, IdGenerator idGenerator)
в StockSharp.Configuration.InMemoryMessageAdapterProvider.<>c__DisplayClass0_0.<.ctor>b__0(Type t)
в System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
в StockSharp.Configuration.InMemoryMessageAdapterProvider..ctor(IEnumerable`1 currentAdapters)
в StockSharp.Xaml.Extensions.#=zlN4YnUabrB4$(BasketMessageAdapter #=zdF$n2jM=)
в StockSharp.Xaml.Extensions.Configure(BasketMessageAdapter adapter, Window owner, Boolean& autoConnect, SettingsStorage& windowSettings)
в StockSharp.Xaml.Extensions.Configure(Connector connector, Window owner)
в ABStrategy_042020.MainWindow.Setting_Click(Object sender, RoutedEventArgs e) в D:\S#\МоиПроекты\ABStrategy_042020\MainWindow.xaml.cs:строка 45
в 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.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseLeftButtonUpThunk(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.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)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
в System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
в System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
в System.Windows.Application.RunDispatcher(Object ignore)
в System.Windows.Application.RunInternal(Window window)
в System.Windows.Application.Run(Window window)
в System.Windows.Application.Run()
в ABStrategy_042020.App.Main()

Внутреннее исключение 1:
FileNotFoundException: Не удалось загрузить файл или сборку "Interop.CQG, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл.

image3276.png 35 KB (8)



Спасибо:




20 Ответов
Support

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


Добрый день

Уроки по миграции 5.0 пока в процессе. На данный момент они недоступны.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 20.04.2020
Ответить


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

Support

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


В версии 4.4.17 поддерживается QUIK 8.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 20.04.2020
Ответить


Support Перейти
В версии 4.4.17 поддерживается QUIK 8.


Повторяю вопрос: как мне подключиться к Квик 8, используя 5.0? ДРУГИЕ ВЕРСИИ S# МНЕ НЕ ПОДХОДЯТ!!!
Автор топика
Спасибо:

Support

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


1) В вашем случае отсутствует файл Interop.CQG. По какой-то причине он не находится в директории exe программы. Вы можете скачать данный пакет еще раз и удостовериться, что файл там присутствует https://www.nuget.org/packages/StockSharp.Cqg.Com/
2) Вы можете удалить использование StockSharp.Configuration.Adapters и подключать только те коннекторы, которые используете. Тогда StockSharp.Cqg.Com не будет присутствовать на диске.
3) Мы обновили примеры до версии 5.0. Вы можете скачать их и протестировать.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 21.04.2020
Ответить


Support Перейти
1) В вашем случае отсутствует файл Interop.CQG. По какой-то причине он не находится в директории exe программы. Вы можете скачать данный пакет еще раз и удостовериться, что файл там присутствует https://www.nuget.org/packages/StockSharp.Cqg.Com/


Помогло удаление пакета StockSharp.Cqg.Com перезагрузка VS и заново установка пакета StockSharp.Cqg.Com. Файл появился, ошибка исчезла.


Support Перейти
3) Мы обновили примеры до версии 5.0. Вы можете скачать их и протестировать.


Откуда брать скрипт lua? В примерах его нет, при загрузке пакетов с NuGet он не загружается.
Автор топика
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 21.04.2020
Ответить


Оказывается скрипт Lua появляется в проекте (01_Connect_and_get_security) если дополнительно закачать пакет StockSharp.QuikLua. Потерял на этом много времени :(
Теперь новая проблема, при запуске скрипта в Quik 8.3.2.4:

" ...iklua\5.0.5\contentFiles\any\any\StockSharp.Quik.lua:79: module 'StockSharp' not found:
no field package.preload['StockSharp']
no file 'D:\S#\Обучение\Lessons_5.0\packages\stocksharp.quiklua\5.0.5\contentFiles\any\any\StockSharp.QuikLua.dll'"

Расположение скрипта в прикрепленном файле.
image7172.png 9 KB (15)
Автор топика
Спасибо:

Support

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


Вы не установили все файлы, от которых зависит QUIK плагин.

Рекомендуем воспользоваться нашей утилитой Installer инструкция по ссылке https://stocksharp.ru/ne...65/rukovodstvo-po-nuget/ (в конце).
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 22.04.2020
Ответить


Четвертый день безрезультатно пытаюсь воспроизвести первый урок с S# 5.0 и Quik 8. Это начинает уже раздражать, вроде все рекомендации тех. поддержки выполняю, а результат 0. Хотелось бы от поддержки более оперативных и подробных ответов, ведь многие здесь не большие знаток программирования и S#.
Итак, вводные: Windows 10 Pro, WS 2019, .NET 4.8 FW, архивы после скачивания разблокировал, программы запускаются от имени администратора.
1. Открыл Lessons_5.0 в VS, дождался закачки пакетов с Nuget, запускаю 01_Connect_and_get_security все ОК. Скрипта lua в Lessons_5.0 НЕТ, пакета StockSharp.QuikLua тоже НЕТ. Закрываю VS.
2. По рекомендации Support воспользовался NugetInstaller. Сразу при запуске сразу выдаёт ошибку: «… Не удалось найти часть пути …» (см. прикрепленные файлы). Вставляю свой токен, указываю папку Quik, запускаю, происходит копирование и выскакивают два предупреждения (см. файл). Изменяю в NugetInstaller тип установки (Patch app…) и меня Выходную папку на папку с уроком Lessons_5.0, запускаю, ошибок нет. Скрипта lua в Lessons_5.0 НЕТ, пакета StockSharp.QuikLua тоже НЕТ.
3. Открыл Lessons_5.0 в VS, через Nuget установил в 01_Connect_and_get_security пакет StockSharp.QuikLua. Появились два предупреждения: «несоответствие между архитектурой процессора проекта "MSIL", сборка которого выполняется, и архитектурой процессора ссылки "D:\S#\Lessons_5.0\packages\stocksharp.quiklua\5.0.5\lib\netcoreapp3.1\StockSharp.QuikLua.dll", "AMD64"…» (см. файл). Скрипт lua в Lessons_5.0 есть.
4. Запускаю скрипт lua в Quik, ошибка: «...iklua\5.0.5\contentFiles\any\any\StockSharp.Quik.lua:79: module 'StockSharp' not found: no field package.preload['StockSharp'] no file 'D:\S#\Lessons_5.0\packages\stocksharp.quiklua\5.0.5\contentFiles\any\any\StockSharp.QuikLua.dll»
5. При попытке запустить 01_Connect_and_get_security вылезает куча ошибок. (см. файл)

Что я делаю не так?

Автор топика
Спасибо:

Support

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


Скачайте обновленный NugetInstaller, пожалуйста. Так же исправлен NuGet пакет и вы можете удалить пакет StockSharp.QuikLua и добавить новый. После этого ошибка с компиляцией исчезнет.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Support Перейти
Скачайте обновленный NugetInstaller, пожалуйста. Так же исправлен NuGet пакет и вы можете удалить пакет StockSharp.QuikLua и добавить новый. После этого ошибка с компиляцией исчезнет.


Скачал заново Lessons_5.0
Закачал новый NugetInstaller при запуске ОШИБКА.
Установил файлы для Quik ПРЕДУПРЕЖДЕНИЕ.
Установил файлы в папку Lessons_5.0.
Открыл Lessons_5.0 в VS, через Nuget установил в 01_Connect_and_get_security последний пакет StockSharp.QuikLua. Появились два ПРЕДУПРЕЖДЕНИЯ.
При запуске скрипта в Quik ОШИБКА.
Обновил все пакеты в Lessons_5.0 предупреждения осталось.

Это уже РАЗДРАЖАЕТ! Angry
Автор топика
Спасибо:

Support

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


Алексей,

Вы делаете не то, о чем вам пишут. Скачайте NugetInstaller и установите коннектор в папку. Программа у вас выдает ошибку, что не видит директории, где сохранен логин-пароль. У вас эта директория есть на диске? Или программа не имеет доступа к данной директории?

Сегодня несколько пользователей установили наш коннектор согласно нашей инструкции и нашей программы.
Спасибо:

Support

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


Предупреждения не являются ошибками. Установка через проект в VS у вас прошла, вам нужно только скомпилировать проект и в bin\Debug\net48 появятся все необходимые файлы.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Support Перейти
и установите коннектор в папку.


Можно подробней, какой коннектор в какую папку?
Автор топика
Спасибо:

Support

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


https://stocksharp.ru/ne...65/rukovodstvo-po-nuget/ В конце есть инструкция пользования программой с картинками. Сделайте все эти шаги по картинкам. В результат в папке появятся все необходимые файлы, включая lua скрипт, которые в последствии нужно запустить в терминале QUIK.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Support Перейти
https://stocksharp.ru/news/265/rukovodstvo-po-nuget/ В конце есть инструкция пользования программой с картинками. Сделайте все эти шаги по картинкам. В результат в папке появятся все необходимые файлы, включая lua скрипт, которые в последствии нужно запустить в терминале QUIK.


Так я и стараюсь делать в соответствии с инструкцией.
По первому пункту создал папку "StockSharp" в папке с Quik.
По второму пункту "Для этого нужно выбрать папку с программой", выбрал папку с уроками "Lessons_5.0". (В инструкции на картинке указана корневая папка C:\Hidra)
В чем тут ошибка?

Автор топика
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Support Перейти

Программа у вас выдает ошибку, что не видит директории, где сохранен логин-пароль. У вас эта директория есть на диске? Или программа не имеет доступа к данной директории?


Нет у меня нет этой директории, а где написано что её надо создать? И какой там должен быть пароль?
Автор топика
Спасибо:

Support

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


Все настройки S# хранятся в Documents\UserName\StockSharp\ Если у вас отличается структура или настройки OS, то наши программы работать не будут.
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Получилось


Автор топика
Спасибо:

Алексей

Фотография
Благотворитель
Дата: 23.04.2020
Ответить


Support Перейти
Все настройки S# хранятся в Documents\UserName\StockSharp\ Если у вас отличается структура или настройки OS, то наши программы работать не будут.

Можно узнать, где это сказано в видеокурсах или написано в инструкции?

Уважаемые Support, Михаил и другие сотрудники StockSharp, я очень ценю ваш труд и благодарен вам за проект StockSharp. Я торгую на бирже с конца прошлого века, вашими услугами пользуюсь с 2014 года, в биржевой торговле разбираюсь лучше, чем в программировании. Но я пытаюсь разбираться, читаю документацию и чат, слушаю курсы, покупаю техподдержку. За время сотрудничества с вами, понял, что слабое звено у вас, это документация, данный вопрос неоднократно поднимался в чате, но это не решается (возможно умышлено). Она часто устаревшая, неполная или написанная скорее для себя чем для тех кто недостаточно знаком с вашими продуктами (текущая ветка тому пример). Большая просьба, пишите пожалуйста более подробную документацию и инструкции, сбережете нервы и время пользователям и себе.
Спасибо, что дочитали.

Автор топика
Спасибо:


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

loading
clippy