← Назад

Новый коннектор к Quik

Мы сделали новый коннектор к Quik. Доступен начиная с версии 4.2.4.0

Коннектор обраладет следующими преимуществами:

  1. Быстрее скорость транспортировки данных.
  2. Значительно упрощена настройка таблиц в Quik (все колонки по умолчанию, нужно просто открыть таблицы в терминале, без дополнительных каких-либо настроек).
  3. Возможность подключаться удаленно к Quik.
  4. Робот может быть скомпилирован под 64 бита.

Подробнее, о настроках и миграции.

Коннектор сделан с использование протокола FIX 4.4. Поэтому появилась новая возможность - подключение к Quik не из StockSharp программ. Если у вас есть код или готовая программа, использующая FIX, то вы можете попробовать подключиться к Quik терминалу через FIX протокол.

Давайте попробуем данный тип подключения, и отпишемся здесь о своих замечаниях. А к осени воздадим почет DDE+Trans2Quik как самой старой технологии, и первому коннектору в S#. И отправим на заслуженный покой.

Комментарии (163)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

poison
poison

Скачал StockSharp_4.2.4_Sources, распаковал, добавляю скрипт StockSharp.QuikLua.lua в Quik и запускаю. Ошибка: Ошибка при запуске lua скрипта

esper
esper

Этот файл есть по указанному пути? Может его разблокировать надо?

poison
poison

Да, есть. По указанному пути в папке все файлы, которые в папке References в архиве для скачивания. Попробовал скопировать папку в C:\References - та же самая ошибка.

Mikhail Sukhov
Mikhail Sukhov Автор

На папку перед распаковкой делали Unblock?

poison
poison

Распаковывал в совершенно новую папку. На всякий случай проверил Unlocker'ом. Нет там блокировок никаких. Может библиотек каких не хватает в папке?

esper
esper

Версия Quik какая?

poison: Распаковывал в совершенно новую папку. На всякий случай проверил Unlocker'ом. Не надо ничего Unlocker'ом проверять, в свойствах архива есть кнопка разблокировать?

poison
poison

Кнопка была. Нажал разблокировать, разархивировал. Ошибка осталась. Квик 6.12.4.11

esper
esper

У меня не воспроизводится ни на 6.12.4.11, ни на более поздних версиях, специально качал архив с box.net для проверки. Необходимо искать кто у вас не дает загрузить файл. В свойствах dll файла есть такая кнопка?

poison
poison

Кнопки нет такой. Свойства файла

UPD: Попробовал запустить скрипт на виртуальном сервере - та же ошибка. Наверное дело в квике

UPD2: Скачал с БКС заново квик - не помогло

esper
esper

Тогда пробуем установить Visual C++ redistributable

poison
poison

esper: Тогда пробуем установить Visual C++ redistributable

Заработало

devruss
devruss

вопрос в тему: Гидра умеет с помощью этого коннектора к Квику подключаться, и если да, то как ее надо настраивать?

esper
esper

В ближайших версиях, смотрите по changelog-у.

poison
poison

Теперь если есть возможность подключаться удаленно, проддерживается ли подключение двух роботов к одному квику одновременно?

Mikhail Sukhov
Mikhail Sukhov Автор

poison: Теперь если есть возможность подключаться удаленно,

Да.

poison: проддерживается ли подключение двух роботов к одному квику одновременно?

Решение на базе FIX Server появилось в рамках продукта S#.Broker. Данный продукт доступен только для корпоративных клиентов.

В коннекторе Quik используется сокращенная по функционалу версию, которая позволяет подключение только 1 клиенту. Возможно, после окончания тестирования, расширим для эту опцию до нескольких клиентов. Но она будет доступна только для учеников или по брокерской лицензии.

devruss
devruss

poison: проддерживается ли подключение двух роботов к одному квику одновременно? А зачем это нужно?

Можно же всегда сделать одного робота с кучей стратегий. Так и риски регулировать удобнее, и за общей позицией следить и т.д.

Mikhail Sukhov
Mikhail Sukhov Автор

devruss: А зачем это нужно?

С одним терминалом могут работать:

  1. Гидра, непрерывно пишущая историю.
  2. Боевые стратегии.
  3. Тестирование новой стратегии из студии на реальном подключении.
devruss
devruss

Михаил Сухов:

devruss: А зачем это нужно?

С одним терминалом могут работать:

  1. Гидра, непрерывно пишущая историю.
  2. Боевые стратегии.
  3. Тестирование новой стратегии из студии на реальном подключении.

Hydra + боевые роботы это вещь... надеюсь, хотя бы такое ограничение можно сделать для пользователей. Иметь 2 источника: 1 для данных, 1 для execution неудобно

poison
poison
QuikTrader 10.07.2014 18:15:42 Error System.InvalidOperationException: Лицензия N56018 не поддерживает 'FixTrader'.
Лицензия N56018 не поддерживает 'FixTrader'.

Новый коннектор не бесплатен?

Mikhail Sukhov
Mikhail Sukhov Автор

poison: Новый коннектор не бесплатен?

Бесплатен. А что вы сделали, что сейчас ошибка вылезла?

poison
poison

Михаил Сухов:

poison: Новый коннектор не бесплатен?

Бесплатен. А что вы сделали, что сейчас ошибка вылезла?

Просто запустил робота в первый раз. До этого я только с импортом скрипта возился.

С DDE работает нормально.

aPlakhotnuk
aPlakhotnuk

С базовой лицензией не работает. Лицензию перегенерировал. «Лицензия №56157 не поддерживает “FixTrader”» При переключении на соединение через DDE ошибка сохраняется.

Mikhail Sukhov
Mikhail Sukhov Автор

aPlakhotnuk: Лицензию перегенерировал.

Это как именно?

Mikhail Sukhov
Mikhail Sukhov Автор

Лицензию нужно видимо обновить в личном кабинете.

poison
poison

Михаил Сухов: Лицензию нужно видимо обновить в личном кабинете.

Удалил лицензию в личном кабинете и сгенерировал заново. Все равно ошибка, номер лицензии при этом уже другой

QuikTrader 10.07.2014 20:00:11 Error System.InvalidOperationException: Лицензия N66454 не поддерживает 'FixTrader'.

aPlakhotnuk
aPlakhotnuk

Михаил Сухов:

aPlakhotnuk: Лицензию перегенерировал.

Это как именно? Имелось ввиду обновил в Личном кабинете. Повторно обновил лицензию. Ошибка сохранилась.

aPlakhotnuk
aPlakhotnuk

С DDE работает. Ошибка у меня (.

vsnoopy83
vsnoopy83
  1. Стакана в Sample не открываются
  2. Не понятно, если у меня в текущей таблице параметров 2 инструмента, зачем мне грузить в инструменты все 4000 и тратить на это несколько минут.
  3. Не смог в своем роботе получить новые сделки из таблицы всех сделок.

Для примера создал лейбл на главном экране Sample, событие не вызывается, сделки не приходят. Понимаю, что там коллекция, разбирать времени не было, но событие не приходит. Trader.NewTrades += tr => this.GuiAsync(() => ); 4. При попытке отправить из Sample заявку в терминал выскочила ошибка(в приложении), не поддерживается лицензия. Позже обновил лицензию через LicensTool, но не помогло, выскакивает такая же ошибка.

  1. Файл WND написан для версии квика, позже реальной боевой например в Сбербанке-киб (6,12,4,11), при попытке загрузить эти настройки терминал пишет, что версия настроек позже текущей, если все равно грузить настройки квик вываливается с критической ошибкой.
  • ошибки квика при запуске перезапуске экспорта роботов, подробности по мере появления свободного времени, очень хочется уйти от дде, простым обновлением библиотек и настроек к сож. не получилось.
esper
esper

vsnoopy83:

  1. Стакана в Sample не открываются Что значит не открываются? Окно не открывается, открывается но нет данных, стакан в Quik не открывается автоматически?

vsnoopy83: 2. Не понятно, если у меня в текущей таблице параметров 2 инструмента, зачем мне грузить в инструменты все 4000 и тратить на это несколько минут. Это особенность луа, получение данных независимо от того, что выбрал пользователь в интерфейсе.

vsnoopy83: 3. Не смог в своем роботе получить новые сделки из таблицы всех сделок. RegisterTrades вызывали?

vsnoopy83: 5. Файл WND написан для версии квика, позже реальной боевой например в Сбербанке-киб (6,12,4,11), при попытке загрузить эти настройки терминал пишет, что версия настроек позже текущей, если все равно грузить настройки квик вываливается с критической ошибкой. Файл настроек приведен как пример, можно использовать старый файл настроек.

vsnoopy83:

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

esper:

vsnoopy83:

  1. Стакана в Sample не открываются Что значит не открываются? Окно не открывается, открывается но нет данных, стакан в Quik не открывается автоматически?

Стакан в Quik не открывается автоматически.

vsnoopy83: 2. Не понятно, если у меня в текущей таблице параметров 2 инструмента, зачем мне грузить в инструменты все 4000 и тратить на это несколько минут. Это особенность луа, получение данных независимо от того, что выбрал пользователь в интерфейсе.

С этим можно жить, это не проблема)

vsnoopy83: 3. Не смог в своем роботе получить новые сделки из таблицы всех сделок. RegisterTrades вызывали?

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

vsnoopy83: 5. Файл WND написан для версии квика, позже реальной боевой например в Сбербанке-киб (6,12,4,11), при попытке загрузить эти настройки терминал пишет, что версия настроек позже текущей, если все равно грузить настройки квик вываливается с критической ошибкой. Файл настроек приведен как пример, можно использовать старый файл настроек.

Понял, спасибо

vsnoopy83:

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

Подскажите, что с лицензией то делать? Ошибка была в приложении к сообщению в картинке.

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

Спасибо за ответы!

esper
esper

Будет фикс, постараемся сегодня выложить.

vsnoopy83
vsnoopy83
vsnoopy83

esper: Будет фикс, постараемся сегодня выложить.

_trader.NewTrades += trades

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

Если к нужному инструменту сделать RegisterTrades(инструмент), начинают приходить, но только новые сделки, а как же получить историю с начала дня.

Хочу обратить внимание, что при DDE соединении при подписке на событие trades сделки из таблицы всех сделок приходят по умолчанию, даже без RegisterTrades(инструмент). Если здесь механизм другой, прошу подсказать как им пользоваться, как получить все сделки с начала дня.

vsnoopy83
vsnoopy83

esper: Будет фикс, постараемся сегодня выложить.

В Sample, открываю таблицу всех сделок, сделок нет. При этом все остальные таблицы заполняются.

Интересно также, что после того, как нажимаешь в Sample кнопку отключится фактически отключения не происходит, продолжают приходить данные.

esper
esper

vsnoopy83: В Sample, открываю таблицу всех сделок, сделок нет. При этом все остальные таблицы заполняются. В сэмпле есть кнопка Level1, там выполняется подписка на тики и изменения.

vsnoopy83: События так и не приходят, и стаканы так и не открываются. Стаканы то бог с ним, можно вручную открыть, данные начинают приходить, а вот со сделками беда. Приходят какие-то ошибки? Что в логах? Как таблица инструментов настроена?

vsnoopy83: Если к нужному инструменту сделать RegisterTrades(инструмент), начинают приходить, но только новые сделки, а как же получить историю с начала дня. Что в логах Lua коннектора? Желательно включить Debug логи в скрипте.

vsnoopy83: Хочу обратить внимание, что при DDE соединении при подписке на событие trades сделки из таблицы всех сделок приходят по умолчанию, даже без RegisterTrades(инструмент). Если здесь механизм другой, прошу подсказать как им пользоваться, как получить все сделки с начала дня. Если так было раньше, то это не значит, что было правильно. Вся подписка на данные выполняется через соответствующие методы коннектора.

vsnoopy83
vsnoopy83

esper:

vsnoopy83: В Sample, открываю таблицу всех сделок, сделок нет. При этом все остальные таблицы заполняются. В сэмпле есть кнопка Level1, там выполняется подписка на тики и изменения.

vsnoopy83: События так и не приходят, и стаканы так и не открываются. Стаканы то бог с ним, можно вручную открыть, данные начинают приходить, а вот со сделками беда. Приходят какие-то ошибки? Что в логах? Как таблица инструментов настроена?

vsnoopy83: Если к нужному инструменту сделать RegisterTrades(инструмент), начинают приходить, но только новые сделки, а как же получить историю с начала дня. Что в логах Lua коннектора? Желательно включить Debug логи в скрипте.

vsnoopy83: Хочу обратить внимание, что при DDE соединении при подписке на событие trades сделки из таблицы всех сделок приходят по умолчанию, даже без RegisterTrades(инструмент). Если здесь механизм другой, прошу подсказать как им пользоваться, как получить все сделки с начала дня. Если так было раньше, то это не значит, что было правильно. Вся подписка на данные выполняется через соответствующие методы коннектора.

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

vsnoopy83
vsnoopy83

После применения Level1 таблица всех сделок заработала, значит и к роботам прикрутим, но вот стаканы автоматически не открываются. т.е. выбираешь бумагу нажимаешь кнопку стакан, Sample стакан открывается, а в квике нет, при этом если вручную в квике открыть стакан, то в стакан sample начинают приходить данные. Ошибок никаких не вижу.

esper
esper

vsnoopy83: После применения Level1 таблица всех сделок заработала, значит и к роботам прикрутим, но вот стаканы автоматически не открываются. т.е. выбираешь бумагу нажимаешь кнопку стакан, Sample стакан открывается, а в квике нет, при этом если вручную в квике открыть стакан, то в стакан sample начинают приходить данные. Ошибок никаких не вижу.

Для текущей версии читаем документацию и далее смотрим на скрин.

esper: Для поддержки автоматического открытия стакана должна присутствовать открытая таблица текущих параметров с названием Инструменты, и содержать следующие первые три колонки: Краткое название бумаги, Код бумаги, Код класса. Порядок и тип остальных столбцов таблицы может быть любым.

vsnoopy83
vsnoopy83

esper:

vsnoopy83: После применения Level1 таблица всех сделок заработала, значит и к роботам прикрутим, но вот стаканы автоматически не открываются. т.е. выбираешь бумагу нажимаешь кнопку стакан, Sample стакан открывается, а в квике нет, при этом если вручную в квике открыть стакан, то в стакан sample начинают приходить данные. Ошибок никаких не вижу.

Для текущей версии читаем документацию и далее смотрим на скрин.

esper: Для поддержки автоматического открытия стакана должна присутствовать открытая таблица текущих параметров с названием Инструменты, и содержать следующие первые три колонки: Краткое название бумаги, Код бумаги, Код класса. Порядок и тип остальных столбцов таблицы может быть любым.

Все по инструкции, (см. скрин), есть таблица текущих параметров с названием Инструменты, есть первые 3 колонки правильные, но стакан не открывается, да это и мелочь на самом деле, не сложно его открыть руками, но вот сегодня опять не пришла история сделок с начала дня при подписке по Level1.

Также для избежания постоянной путаницы может быть есть смысл в стандартном файле настроек info_lua.wnd изменить название таблицы параметров на Инструменты. Т.к. я вот был уверен, что в этих настройках все так, как должно быть для корректной работы.

esper
esper

Попробуйте на 4.2.6

vsnoopy83
vsnoopy83
vsnoopy83

esper: Попробуйте на 4.2.6

Сделки с начала дня пришли, стаканы открылись, все работает, проверяем функционал дальше. Спасибо!!

vsnoopy83
vsnoopy83

esper: Попробуйте на 4.2.6

Осталась последняя проблема, не отображается корректно максимальная и минимальная цена на фортсе. Показывает 2147483647 и 1 соответственно, подскажите как получить эти данные, очень нужны для фортса и рыночных заявок.

esper
esper

На изменения по инструменту подписаны?

vsnoopy83
vsnoopy83

esper: На изменения по инструменту подписаны?

да, нажимаю сначала Level1, дожидаюсь пока придут все данные в таблице инструментов и потом только смотрю максимальную и минимальную цену.

Раньше в dde нужно было дополнительно эту информацию получать. Может здесь тоже что то подобное?

Mikhail Sukhov
Mikhail Sukhov Автор

vsnoopy83:

esper: На изменения по инструменту подписаны?

да, нажимаю сначала Level1, дожидаюсь пока придут все данные в таблице инструментов и потом только смотрю максимальную и минимальную цену.

Раньше в dde нужно было дополнительно эту информацию получать. Может здесь тоже что то подобное?

Так Level1 нужно нажимать после появления нужного инструмента.

vsnoopy83
vsnoopy83

Михаил Сухов:

vsnoopy83:

esper: На изменения по инструменту подписаны?

да, нажимаю сначала Level1, дожидаюсь пока придут все данные в таблице инструментов и потом только смотрю максимальную и минимальную цену.

Раньше в dde нужно было дополнительно эту информацию получать. Может здесь тоже что то подобное?

Так Level1 нужно нажимать после появления нужного инструмента.

Да естественно, Level1 активен только при выборе инструмента, когда он уже загружен в Sample

longtrades
longtrades

Здравствуйте , версия 4.2.6.0 при попытке запустить скрипт Луа в Квик выскакивает ошибка : error loading module 'StockSharp' from file 'C:\References\StockSharp.QuikLua.dll': The specified module could not be found. Подскажите пожалуйста в чем проблема.

Mikhail Sukhov
Mikhail Sukhov Автор

longtrades:

Было.

longtrades
longtrades

Да , но это : "Тогда пробуем установить Visual C++ redistributable" в моем случае никак не помогает , ошибка та же.

vsnoopy83
vsnoopy83

longtrades: Да , но это : "Тогда пробуем установить Visual C++ redistributable" в моем случае никак не помогает , ошибка та же.

Возможно у вас 64 разрядная система и вы установили redistributable именно для неё, тогда ошибка останется, надо ставить x86.

longtrades
longtrades

vsnoopy83: Возможно у вас 64 разрядная система и вы установили redistributable именно для неё, тогда ошибка останется, надо ставить x86.

Да, так и было. Спасибо.

Mikhail Sukhov
Mikhail Sukhov Автор

vsnoopy83:

longtrades: Да , но это : "Тогда пробуем установить Visual C++ redistributable" в моем случае никак не помогает , ошибка та же.

Возможно у вас 64 разрядная система и вы установили redistributable именно для неё, тогда ошибка останется, надо ставить x86.

Добавил в доку.

vsnoopy83
vsnoopy83

Подскажите есть ли новости по поводу получения максимальной и минимальной возможной цены?

esper
esper

vsnoopy83: Подскажите есть ли новости по поводу получения максимальной и минимальной возможной цены? Будет фикс в следующей версии. Если надо очень срочно, то можно взять библиотеки из последней Гидры.

vsnoopy83
vsnoopy83

esper:

vsnoopy83: Подскажите есть ли новости по поводу получения максимальной и минимальной возможной цены? Будет фикс в следующей версии. Если надо очень срочно, то можно взять библиотеки из последней Гидры.

Вроде все заработало, один вопрос: при перерегистрации заявок раньше по dde в окне сообщения об этом не сообщалось, теперь сообщается:

"Перестановка заявок завершена успешно. New Order1 ID: 2396988446, new Order2 ID: 0"

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

И кстати непонятно почему ID Order2 0.

esper
esper

vsnoopy83: Вроде все заработало, один вопрос: при перерегистрации заявок раньше по dde в окне сообщения об этом не сообщалось, теперь сообщается:

"Перестановка заявок завершена успешно. New Order1 ID: 2396988446, new Order2 ID: 0"

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

vsnoopy83: И кстати непонятно почему ID Order2 0. Переставлялась только одна заявка, поэтому второй номер 0.

vsnoopy83
vsnoopy83

esper:

vsnoopy83: Вроде все заработало, один вопрос: при перерегистрации заявок раньше по dde в окне сообщения об этом не сообщалось, теперь сообщается:

"Перестановка заявок завершена успешно. New Order1 ID: 2396988446, new Order2 ID: 0"

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

vsnoopy83: И кстати непонятно почему ID Order2 0. Переставлялась только одна заявка, поэтому второй номер 0.

Спасибо!

longtrades
longtrades

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

Думаю это неправильно , должно быть так:

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

Вот самое главное что разработчики пропустили в новом коннекторе .

esper
esper

longtrades: В новом коннектроре на Луа есть одна большая проблема: до того пока не произойдет обнвление того или инного поля оно остается пустым, я уже упоминал об этом на примере стакана: на стакан подписался , но стакана еще нет и пока стакан не изменится в коннекторе он таки будет пустым. То же самое например с полями инструментов , например поля теор цены и волатильность опционов так и будут пустыми пока не произойдет событие в котором придет их обновление. В процессе подписки на данные автоматически запрашивается текущее состояние. Если это стакан, то его срез, если Level1, то текущие данные, если тики, то вся история до текущего момента.

longtrades: Думаю это неправильно , должно быть так:

Получил новый инструмент подписался на него и автоматом должны перечитаться из квика и заполнится все поля инструмента. Также со стаканом , как только я подписываюсь на стакан , коннектор должен принудительно взять стакан из квика, а не ждать пока произойдет обновление стакана. Именно так оно и работает. Откройте стакан на неликвидном инструменте и подпишитесь на него, стакан придет еще до изменения его в квике.

Еще раз, процесс подписки и получения данных асинхронный. Если по каким-то причинам для каких-то коннекторов сразу после вызова метода RegisterMarketDepth (не дожидаясь события изменения стакана), можно получить заполненный стакан, это не значит, что это правильный подход в использовании S# и он будет работать всегда и для всех коннекторов.

longtrades
longtrades

esper: В процессе подписки на данные автоматически запрашивается текущее состояние. Если это стакан, то его срез, если Level1, то текущие данные, если тики, то вся история до текущего момента.

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

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

Может стоит отключить автоматическую подписку на все инструменты ? пусть каждый подписывается только на те инструменты которые ему нужны.

Интересно, а как с таблицей всех сделок, он хоть учитывает подписку на эти данные или тоже грузит все подряд?

esper
esper

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

longtrades: Может стоит отключить автоматическую подписку на все инструменты ? пусть каждый подписывается только на те инструменты которые ему нужны. На данные подписываетесь вы сами, поэтому подписывайтесь только на те инструменты, которые вам нужны. Но список инструментов приходит весь, чтобы можно было подписаться на все, что необходимо.

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

longtrades
longtrades

Я и подписываюсь только на то что мне нужно . Вы уверены что коннектор не делает автоматом: connector.RegisterSecurity(sec) при получении ногого инструмента ?

Почему же такие тормоза ? Почему через ДДЕ все приходит намного быстрее ? По идее через Луа наоборот должно быть пошустрее.

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

Andrii
Andrii

есть информация с какой версии квика будет работать корректно, а то есть брокеры с довольно старыми?

esper
esper

Давайте подойдем с другой стороны, у вас что-то не работает?

Andrii
Andrii

esper: Давайте подойдем с другой стороны, у вас что-то не работает? да, по порядку:

  • настройки для квика info_lua.wnd, нельзя применить для старых версий квика.
  • если брать старые настройки, info.wnd из сорса, которые используются при DDE, то получаем ошибку при верификации: Ошибка верификации

мне бы настроить версию 6.5.2.11

esper
esper

Нет необходимости загружать именно этот файл настроек, все необходимые настройки описаны здесь.

Andrii
Andrii

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

Axell
Axell

При запуске Samples (S# 4.2.20, QUIK 6.14.0.12), через LUA, выскакивает ошибка "Операция является недоступной из-за текущего состояния объекта" http://gyazo.com/9167c69e6a43796ee40866289782da7b , в StockSharp.QuikLua ошибки нет. Что не так?

esper
esper

Скопируйте ошибку текстом.

Axell
Axell

Error System.InvalidOperationException: Операция является недопустимой из-за текущего состояния объекта. в #=qlzAhmNJcRJj7yRqMy$HGIbaJ9VOJwEcYz4f_WwOTVNE=.#=qDgLWy14y870wz4tzTCEUQg==(Stream #=q0z4clprxecT1NtlVhkbsfQ==) в StockSharp.Fix.FixReader.ReadNextTag() в StockSharp.Fix.FixMessageAdapter.#=qacR_9DBjtFT9tmjFdlb977Xn632wOgT$bDM2ysPPVHA=()

esper
esper

Хорошо бы еще дебаг логи для QuikTrader-а увидеть.

Axell
Axell

В StockSharp.QuikLua только: "2014/08/29 22:52:01.685| |FixServer |FixServer started." (LogLevel=2)

Пробовал подключиться через другого брокера (Quik 6.13.0.104), результат аналогичный🤨

Mikhail Sukhov
Mikhail Sukhov Автор

Логи нужны не LUA, а робота. В частности QuikTrader в режиме Debug

Axell
Axell

0001/01/01 00:00:00.000| |QuikTrader|Connect 2014/09/01 17:00:56.454|Debug |FIX |Sending to 80.249.134.243:15101: 8=FIX.4.49=10135=A34=149=*****52=20140901-13:00:56.44056=StockSharpTS98=0108=60141=Y553=*****554=********10=172 0001/01/01 00:00:00.000|Debug |QuikTrader|BP:Connect,T=2014.09.01 17:00:56.523,Error=Операция является недопустимой из-за текущего состояния объекта. 2014/09/01 17:00:56.523|Error |QuikTrader|System.InvalidOperationException: Операция является недопустимой из-за текущего состояния объекта. в #=qlzAhmNJcRJj7yRqMy$HGIbaJ9VOJwEcYz4f_WwOTVNE=.#=qDgLWy14y870wz4tzTCEUQg==(Stream #=q0z4clprxecT1NtlVhkbsfQ==) в StockSharp.Fix.FixReader.ReadNextTag() в StockSharp.Fix.FixMessageAdapter.#=qacR_9DBjtFT9tmjFdlb977Xn632wOgT$bDM2ysPPVHA=() 2014/09/01 17:00:56.523| |QuikTrader|Disconnect 2014/09/01 17:00:56.523|Warning|QuikTrader|Невозможно выполнить отключение, так как соединение находится в состоянии Failed.

Mikhail Sukhov
Mikhail Sukhov Автор

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

Axell
Axell

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

Попробовал подключится через другого брокера, антивирусы/фаерволы отключил, порты и адреса проверил. После запуска Квика лог Lua:

2014/09/01 22:20:24.074| |FixServer |FixServer started. 2014/09/01 22:20:24.074|Debug |None |OnInit done 2014/09/01 22:20:24.075|Debug |None |Main 2014/09/01 22:21:06.545|Debug |None |OnParam 2014/09/01 22:21:06.555|Debug |Quik |Out. Level1Change,T=2014.09.01 22:21:06.558,Sec=S#:RU000A0JPZ35@EQOB, Native:,Type:,Changes=[PriceStep, 0,01] 2014/09/01 22:21:06.564|Debug |None |OnParam done ... 2014/09/01 22:21:07.729|Debug |None |OnDepoLimit 2014/09/01 22:21:07.729|Debug |Quik |Out. PortfolioChange,T=2014.09.01 22:21:07.729,P=139892,Changes=[DepoName, L01-00000F00] 2014/09/01 22:21:07.729|Debug |Quik |Out. Position,T=2014.09.01 22:21:07.730,Sec=S#:RU000A0GN9B5@, Native:,Type:Stock,P=139892 2014/09/01 22:21:07.730|Debug |Quik |Out. PositionChange,T=2014.09.01 22:21:07.730,Sec=S#:RU000A0GN9B5@, Native:,Type:Stock,P=139892,Changes=[BeginValue, 12],[CurrentValue, 12] 2014/09/01 22:21:07.730|Debug |None |OnDepoLimit done

как я понимаю информация по бумагам и позициям идёт. Когда запускаю стратегию, в логе Lua новых записей не появляется, а QuikTrader выдаёт новую ошибку:

0001/01/01 00:00:00.000| |QuikTrader|Connect 2014/09/01 22:23:29.541|Debug |FIX |Sending to 195.226.204.208:15300: 8=FIX.4.49=10235=A34=149=*****52=20140901-18:23:29.53056=StockSharpTS98=0108=60141=Y553=*****554=***10=183 0001/01/01 00:00:00.000|Debug |QuikTrader|BP:Connect,T=2014.09.01 22:23:29.560,Error=Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение. 2014/09/01 22:23:29.560|Error |QuikTrader|System.IO.IOException: Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение. ---> System.Net.Sockets.SocketException: Удаленный хост принудительно разорвал существующее подключение в System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) --- Конец трассировки внутреннего стека исключений --- в System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) в System.IO.Stream.ReadByte() в #=qlzAhmNJcRJj7yRqMy$HGIbaJ9VOJwEcYz4f_WwOTVNE=.#=qDgLWy14y870wz4tzTCEUQg==(Stream #=q0z4clprxecT1NtlVhkbsfQ==) в StockSharp.Fix.FixReader.ReadNextTag() в StockSharp.Fix.FixMessageAdapter.#=qacR_9DBjtFT9tmjFdlb977Xn632wOgT$bDM2ysPPVHA=()

Mikhail Sukhov
Mikhail Sukhov Автор

195.226.204.208:15300 - это что за адрес?

Axell
Axell

Михаил Сухов: 195.226.204.208:15300 - это что за адрес?

Михаил, я понял свою ошибку! Это адрес соединения брокера😂. Спасибо!

Axell
Axell

Добрый день. Как при Lua подключении получить значение "Входящие средства" (Размер позиции на начало торговой сессии) из таблицы "Портфель по бумагам"? portfolio.BeginValue выводит неправильные данные.

Mikhail Sukhov
Mikhail Sukhov Автор

Подробнее

Axell
Axell

Михаил Сухов: Подробнее

При соединении через DDE в Quke настраивается таблица "Портфель по бумагам", с колонками: Код клиента ВходСредства ТекСредства Тек.плечо

Данные из колонки "ВходСредства" выводятся с помощью portfolio.BeginValue. При соединении через Lua, portfolio.BeginValue выводит совершенно другие данные, не соответствующие данным в колонке "ВходСредства"🤨 (похоже на данные из колонки "Вход.активы", но это не то что надо) Как при соединении через Lua достать данные из колонки "ВходСредства"?

Roman08120
Roman08120

Добрый вечер!

Подскажите пож-та, запускаю скрипт, выдаёт ошибку! Visual C++ redistributable установлен, настройки Quik загрузил из Sample.

Mikhail Sukhov
Mikhail Sukhov Автор
rtDen
rtDen

Приветствую всех. У меня вопрос про получение BestBid и BestAsk. Для этого обязательно запускать экспорт стаканов? В хелпе в описании метода RegisterSecurity указанно "Начать получать новую информацию (например, LastTrade или BestBid) по инструменту", но даже после его вызова BestBid и BestAsk у инструмента остаются равны null. В Sample также, при нажатии кнопки Level1 колонки bestbid и bestask остаются пустыми, при запуске стакана - заполняются. Verifier пишет, что все настроено правильно. Это баг или я что-то делаю/понимаю не так?

quik: 6.14.0.12 S#: 4.2.22 OS: Windows 7 x64

rtDen
rtDen

В режиме блиц-опроса повторю свой вопрос. Для проверки скачал только что 4.2.26 и запустил Sample, при нажатии Level1 bid'ов и ask'ов в таблице как не было, так и нет. Появляются только при запуске стакана.

rtDen: Приветствую всех. У меня вопрос про получение BestBid и BestAsk. Для этого обязательно запускать экспорт стаканов? В хелпе в описании метода RegisterSecurity указанно "Начать получать новую информацию (например, LastTrade или BestBid) по инструменту", но даже после его вызова BestBid и BestAsk у инструмента остаются равны null. В Sample также, при нажатии кнопки Level1 колонки bestbid и bestask остаются пустыми, при запуске стакана - заполняются. Verifier пишет, что все настроено правильно. Это баг или я что-то делаю/понимаю не так?

quik: 6.14.0.12 S#: 4.2.22 OS: Windows 7 x64

Roman08120
Roman08120

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

RomSunZ
RomSunZ

Roman08120: Добрый день, подскажите пож-та, можно ли осуществить в коннекторе так, чтобы в список инструментов загружался только один определённый инструмент, а не весь список фьючей, акций, опционов и т.д.? Затрудняет поиск

Наверное настроить списки в квике...

Roman08120
Roman08120

RomSunZ:

Roman08120: Добрый день, подскажите пож-та, можно ли осуществить в коннекторе так, чтобы в список инструментов загружался только один определённый инструмент, а не весь список фьючей, акций, опционов и т.д.? Затрудняет поиск

Наверное настроить списки в квике...

Настраивал, оставлял один инструмент, но всё равно подгружаются куча других

Mikhail Sukhov
Mikhail Sukhov Автор

В режиме блиц-опроса.

Какие то сейчас наблюдаются проблемы с новым коннектором через LUA или все были успешно устранены?

Пишите тут о своих проблемах, если они еще присутствуют.

Andrii
Andrii

Михаил Сухов: В режиме блиц-опроса.

Какие то сейчас наблюдаются проблемы с новым коннектором через LUA или все были успешно устранены?

Пишите тут о своих проблемах, если они еще присутствуют. У меня типы плохо загружаются, фьючерс\опцион работают, акции нет в

Zabik
Zabik

Roman08120:

RomSunZ:

Roman08120: Добрый день, подскажите пож-та, можно ли осуществить в коннекторе так, чтобы в список инструментов загружался только один определённый инструмент, а не весь список фьючей, акций, опционов и т.д.? Затрудняет поиск

Наверное настроить списки в квике...

Настраивал, оставлял один инструмент, но всё равно подгружаются куча других

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

Написал следующий код:

 _trader.NewSecurities += securities => this.GuiAsync(() =>
                {
                    var lkoh = securities.FirstOrDefault(s => s.Code == "LKOH");
                    var vtbr = securities.FirstOrDefault(s => s.Code == "VTBR");
                    Listbox1.Items.Add(lkoh);
                    Listbox1.Items.Add(vtbr);                    
                });

Listbox можно так же поменять на Combobox, кому как удобнее. После соединения проходит приличное время пока все подгрузится, но зато не приходится искать в списке из тысяч инструментов те, которыми постоянно пользуешься.

rtDen
rtDen

Я как-то не так вопрос задал (может в не ту ветку или этот вопрос из разряда моего непонимания и ответ доступен только пользователям платной поддержки)? В моем понимании Level1 - это Bid price, Bid size, Ask price, Ask size, Last price, Last size. А стаканы это уже Level2. Тем более судя по документации (см. мое предыдущее сообщение) после вызова RegisterSecurity биды и аски должны быть доступны у security. Вызов SubscribeMarketData(sec, StockSharp.Messages.MarketDataTypes.Level1) также нчиего не дает. Мне в программе нужна информация по множеству инструментов (опционы разных страйков и дат, пока для одного БА, в перспективе для нескольких) и как-то совсем не хочется открывать миллион стаканов.

Mikhail Sukhov
Mikhail Sukhov Автор

Кто то еще может подтвердить данное поведение?

RomSunZ
RomSunZ

Да, действительно это так и есть.

И действительно не работает фильтр по настроенным спискам, выдает все инструменты. Сделайте фильтр, чтобы данные по LUA (по инструментам и сделкам) передавались только те, что настроены по списку в Квике.

Mikhail Sukhov rtDen
esper
esper

RomSunZ: И действительно не работает фильтр по настроенным спискам, выдает все инструменты. Сделайте фильтр, чтобы данные по LUA (по инструментам и сделкам) передавались только те, что настроены по списку в Квике. Это вопрос скорее к разработчикам Quik, почему у них фильтры не работают.

Andrii
Andrii

esper:

RomSunZ: И действительно не работает фильтр по настроенным спискам, выдает все инструменты. Сделайте фильтр, чтобы данные по LUA (по инструментам и сделкам) передавались только те, что настроены по списку в Квике. Это вопрос скорее к разработчикам Quik, почему у них фильтры не работают.

Это скрин с окна из примеров Samples\Quik\Sample и открыты инструменты...

  • в квике с версии 6.15 не отрабатывает Verifier, "Таблица стоп-заявки. Окно не найдено." но те же настройки в 6.14 отрабатывают хорошо загрузка настроек из info_lua.wnd тоже не отрабатывает.
Mikhail Sukhov
Mikhail Sukhov Автор

Andrii: Это скрин с окна из примеров Samples\Quik\Sample и открыты инструменты...

  • в квике с версии 6.15 не отрабатывает Verifier, "Таблица стоп-заявки. Окно не найдено." но те же настройки в 6.14 отрабатывают хорошо загрузка настроек из info_lua.wnd тоже не отрабатывает.

Вы не понимаете что такое луа. Читайте все сообщения посвященные новому коннектору, и только после этого используйте его.

Andrii
Andrii

Михаил Сухов:

Andrii: Это скрин с окна из примеров Samples\Quik\Sample и открыты инструменты...

  • в квике с версии 6.15 не отрабатывает Verifier, "Таблица стоп-заявки. Окно не найдено." но те же настройки в 6.14 отрабатывают хорошо загрузка настроек из info_lua.wnd тоже не отрабатывает.

Вы не понимаете что такое луа. Читайте все сообщения посвященные новому коннектору, и только после этого используйте его. к чему это сказано? и не в том то ли прелесть абстракции?

в 6.14 QUIK версии все работает, в 6.15 уже не работает...

если нужны какие-то преднастройки, то было бы хорошо иметь описание или *.wnd

Mikhail Sukhov
Mikhail Sukhov Автор

Andrii: к чему это сказано?

К тому, что Lua не опирается на разметку таблиц (wnd)

esper
esper

Andrii: в 6.14 QUIK версии все работает, в 6.15 уже не работает... 15-я версия, судя по всему, не совсем рабочая, читайте форум квика.

Andrii
Andrii

Михаил Сухов:

Andrii: к чему это сказано?

К тому, что Lua не опирается на разметку таблиц (wnd) стоп, это понятно, но так же было сказано, что все таблицы должны быть открыты, верно? в целом и делал переход на луа из-за простоты настроек, верификацию проходит, все ок но сегодня выполнил обновление quik до 6.15.0.122 и все, верификация не работает... хорошо, что копия была старой 6.14 версии, копируем - работает, обновляем - нет. Вот такой нежданчик сегодня получил, хорошо, что не было открытых позиций, а то было бы вообще жуть.

так как твитера нет - решил просто поделился здесь

Mikhail Sukhov
Mikhail Sukhov Автор

Andrii: но сегодня выполнил обновление quik до 6.15.0.122 и все, верификация не работает... хорошо, что копия была старой 6.14 версии, копируем - работает, обновляем - нет. Вот такой нежданчик сегодня получил, хорошо, что не было открытых позиций, а то было бы вообще жуть.

http://quik.ru/forum/lua/121572/121572/ я не сотрудник Арки. Пишите им претензии. Я то что могу сделать?

RomSunZ
RomSunZ

А подскажите, почему трейдер LUA не возвращает статус заявки (null)?


Order order = connector.Orders.FirstOrDefault(o => o.Id == oid);

Результат такой:

esper
esper

RomSunZ: А подскажите, почему трейдер LUA не возвращает статус заявки (null)?

Order order = connector.Orders.FirstOrDefault(o => o.Id == oid);

Как воспроизвести?
RomSunZ
RomSunZ

esper:

RomSunZ: А подскажите, почему трейдер LUA не возвращает статус заявки (null)?

Order order = connector.Orders.FirstOrDefault(o => o.Id == oid);

> Как воспроизвести?

Вот так:

```csharp

public void bla-bla-bla(string id, IConnector connector)
{
 Order order = connector.Orders.FirstOrDefault(o => o.Id == id);
//после этого order.status=null, на вход подается quiktrader с подключение через LUA
}
//В стратегии:
protected override void OnStarted()
{
            this.OrderRegistered += order =>
                {
//тут тоже order.Status == null
                };
}

esper
esper

RomSunZ: Вот так:

public void bla-bla-bla(string id, IConnector connector) { Order order = connector.Orders.FirstOrDefault(o => o.Id == id); //после этого order.status=null, на вход подается quiktrader с подключение через LUA } //В стратегии: protected override void OnStarted() { this.OrderRegistered += order => { //тут тоже order.Status == null }; }

В Lua коннекторе поле Status не транслируется, используется только State. Для чего оно необходимо?
RomSunZ
RomSunZ

esper:

RomSunZ: Вот так:

public void bla-bla-bla(string id, IConnector connector) { Order order = connector.Orders.FirstOrDefault(o => o.Id == id); //после этого order.status=null, на вход подается quiktrader с подключение через LUA } //В стратегии: protected override void OnStarted() { this.OrderRegistered += order => { //тут тоже order.Status == null }; }

> В Lua коннекторе поле Status не транслируется, используется только State. Для чего оно необходимо?

У меня используется для восстановления состояния стратегии (подгружать только исполненные или активные заявки, подключать котирование к активным и т.п.). А т.к. в Квике state=Done для все заявок, независимо от того, отменена она или исполнена, то по-другому проверить состояние заявки не получается, и в этом случае логичнее транслировать не state, а status.
Enfernuz
Enfernuz

Добрый день!

Я тут новичок, поэтому прошу сильно тапками не бить :)

Поясните, пожалуйста, по утверждению "Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками и получение истории изменений."

Если со стоп-заявками понятно, то на что влияет история изменений? Ну, то есть, чего я без неё не могу делать/видеть? И да, когда планируется наладить работу со стоп-заявками?

P.S. Спасибо за то, что вы делаете. Мне, как программисту, ваш проект понравился, в отличие от TS Lab и TradeMatic -- в плане возможностей, поддержки, документации :)

Mikhail Sukhov
Mikhail Sukhov Автор

Enfernuz: "Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками"

Уже поддерживаем. Вот было бы интересно их проверить, так как внесени недавно.

Enfernuz
Enfernuz

Михаил Сухов:

Enfernuz: "Текущая версия Quik Lua коннектора не поддерживает работу со стоп-заявками"

Уже поддерживаем. Вот было бы интересно их проверить, так как внесени недавно.

Это хорошо.

А что насчёт исторических данных? Я так понял, это значит, что через коннектор алгоритм не может запрашивать у QUIK данные (свечки) по предыдущим торговым сессиям, и, тем самым, при запуске алгоритма в боевом режиме [пока] нет возможности рассчитать какие-то параметры по прошлым данным (к примеру, суммарный объём сделок за конкретный период до начала работы алгоритма)?

Mikhail Sukhov
Mikhail Sukhov Автор

Enfernuz:

Сначала стопы, затем история.

RomSunZ
RomSunZ

А еще было-бы здорово, если в свойствах инструмента тоже добавили его текущий статус (колонка "Статус" в таблице "Инструменты"), чтобы не заморачиваться со свойством Security.Board.WorkingTime и последующими приведениями временных зон, проверками попадает ли текущее время в торгуемое и т.п. Там-то сразу указано торгуется этот инструмент или нет.

longtrades
longtrades

У меня вот такая проблема с коннектором Луа, подключаюсь к квику , регистрирую стакан фьюча, все ок, начинаю регистрировать стаканы опционов ( около 20 инструментов), квик зависает на глухо. квик 6.15.1.17 , стокшарп 4.2.31

По логу такое впечатление что после регистрации стакана идет перезагрузка всех трейдов полностью.

RomSunZ
RomSunZ

В 4.2.30 Security.LastTrade.Time = Security.LastChangeTime, хотя первое должно считаться по последней сделке, а второе по последней сделке или последнему изменению стакана, сейчас оба значения меняются по изменению стакана

longtrades
longtrades

Скажите, пожалуйста, нормальной ли является такай ситуация :

Открыл два квика , с темже аккаунтом для торговли, к одному подключился по ДДЕ и совершаю там сделки , к другому подключился по Луа , в другом вижу сделки что совершаю в первом через ДДе , но вот робот который подключен через Луа этих сделок не видит ? почему ? что нужно изменить в коде что-бы видел ?

trader.SupportManualOrders = true; включено.

longtrades
longtrades

Оказывается через Луа я вообще не видел никаких сделок из квика , после откытия таблицы всех сделок сделки в программе подключенной через луа пошли . Закрываю таблицу всех сделок , в Луа сделки перестают идти :(

Вопрос : неужели чтобы коннектор луа видел сделки нужно открывать таблицу всех сделок ?

Своих сделок я так и не увидел..

RomSunZ
RomSunZ

Версия 4.2.35 ошибка при котировании:

17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532105 (0x2D61DCD) не была отменена по причине System.InvalidOperationException: Ошибка снятия заявки 703072745. Текст ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'.. 17:08:51.865|Debug |S_SBER@TQBR_10097|Правило 'Ошибка снятия заявки 61532105/703072745 (0x3EE6409)'. Активация. 17:08:51.865|Error |PS_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'. 17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'. 17:08:51.865|Debug |S_SBER@TQBR_10097|Правило 'Ошибка регистрации заявки 61532110/ (0x3231231)'. Активация. 17:08:51.865|Error |S_SBER@TQBR_10097|Заявка 61532110 (0x152F52F) не была зарегистрирована по причине ' ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".'. 17:08:51.865| |S_SBER@TQBR_10097|Текущее кол-во ошибок 1. Максимальное 100.

LUA:

2014/11/09 17:08:51.452|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.452,(Tick),Sec=S#:VTBR@TQBR, Native:,Type:,Ord=0/0/0,Fail=,TId=419465230,Pf=,TPrice=0.041,UId=,OPrice=0,Volume=645 2014/11/09 17:08:51.452|Debug |None |OnAllTrade done 2014/11/09 17:08:51.455|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18035=G34=11249=quik52=20141109-11:08:51.87056=StockSharpTS1=1009711=6153211037=70307274538=040=241=6153210544=76.7255=SBER60=20141109-17:08:51.862167=CS207=TQBR461=E10=225 2014/11/09 17:08:51.456| |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest 2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18035=G34=11349=quik52=20141109-11:08:51.87156=StockSharpTS1=1009711=6153211137=70307274638=040=241=6153210744=76.7255=SBER60=20141109-17:08:51.863167=CS207=TQBR461=E10=232 2014/11/09 17:08:51.456| |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest 2014/11/09 17:08:51.456|Debug |Quik |In. OrderReplace,T(L)=2014.11.09 17:08:51.456,Sec=S#:SBER@TQBR, Native:,Type:Stock,TransId=635511382840369034,Price=76.72,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:SBER@TQBR, Native:,Type:Stock,OldTransId=635511382840369031,OldOrdId=703072745,NewTransId=635511382840369034 2014/11/09 17:08:51.456|Debug |Quik |In. OrderReplace,T(L)=2014.11.09 17:08:51.456,Sec=S#:SBER@TQBR, Native:,Type:Stock,TransId=635511382840369035,Price=76.72,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:SBER@TQBR, Native:,Type:Stock,OldTransId=635511382840369033,OldOrdId=703072746,NewTransId=635511382840369035 2014/11/09 17:08:51.456| |None |SendTransaction: t = t["ACTION"] = "MOVE_ORDERS" t["CLASSCODE"] = "TQBR" t["SECCODE"] = "SBER" t["MODE"] = "0" t["FIRST_ORDER_NUMBER"] = "703072745" t["FIRST_ORDER_NEW_PRICE"] = "76.72" t["FIRST_ORDER_NEW_QUANTITY"] = "0" t["TRANS_ID"] = "61532110" return sendTransaction(t)

2014/11/09 17:08:51.456| |None |Result: Указанная транзакция по указанному классу не найдена: "TQBR". 2014/11/09 17:08:51.456|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.456,(Order),Sec=S#:@, Native:,Type:,Ord=0/0/635511382840369034,Fail=System.Exception: Указанная транзакция по указанному классу не найдена: "TQBR".,TId=0,Pf=,TPrice=0,UId=61532110,Price=0,Volume=0 2014/11/09 17:08:51.456| |None |SendTransaction: t = t["ACTION"] = "MOVE_ORDERS" t["CLASSCODE"] = "TQBR" t["SECCODE"] = "SBER" t["MODE"] = "0" t["FIRST_ORDER_NUMBER"] = "703072746" t["FIRST_ORDER_NEW_PRICE"] = "76.72" t["FIRST_ORDER_NEW_QUANTITY"] = "0" t["TRANS_ID"] = "61532111" return sendTransaction(t)

2014/11/09 17:08:51.456| |None |Result: Указанная транзакция по указанному классу не найдена: "TQBR". 2014/11/09 17:08:51.456|Debug |Quik |Out. Execution,T(L)=2014.11.09 17:08:51.456,(Order),Sec=S#:@, Native:,Type:,Ord=0/0/635511382840369035,Fail=System.Exception: Указанная транзакция по указанному классу не найдена: "TQBR".,TId=0,Pf=,TPrice=0,UId=61532111,Price=0,Volume=0 2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=19835=934=25649=quik52=20141109-11:08:51.87256=StockSharpTS37=70307274539=841=6153211058= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".60=00010101-00:00:00.000102=99434=110=053 2014/11/09 17:08:51.456|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=23635=834=25749=quik52=20141109-11:08:51.87256=StockSharpTS1=11=014=037=038=039=840=241=6153211044=054=155=58= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".59=160=00010101-00:00:00.000150=8151=0207=10=024 2014/11/09 17:08:51.457|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=19835=934=25849=quik52=20141109-11:08:51.87256=StockSharpTS37=70307274639=841=6153211158= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".60=00010101-00:00:00.000102=99434=110=057 2014/11/09 17:08:51.457|Debug |#=qaBez6xggl2OPiHwxjqwmKg==|Sending to 127.0.0.1:10924: 8=FIX.4.49=23635=834=25949=quik52=20141109-11:08:51.87256=StockSharpTS1=11=014=037=038=039=840=241=6153211144=054=155=58= ukazannaya tranzaktsiya po ukazannomu klassu ne naidena: "tqbr".59=160=00010101-00:00:00.000150=8151=0207=10=027 2014/11/09 17:08:52.422|Debug |None |OnParam 2014/11/09 17:08:52.423|Debug |Quik |Out. Level1Change,T(L)=2014.11.09 17:08:52.423,T(S)=0001.01.01 00:00:00.000,Sec=S#:GAZP@TQBR, Native:,Type:,Changes=[PriceStep, 0.01],[BestBidPrice, 152.16],[BestAskPrice, 152.26],[ClosePrice, 150],[LastTradePrice, 152.25] 2014/11/09 17:08:52.423|Debug |None |OnParam done

esper
esper

RomSunZ: Версия 4.2.35 ошибка при котировании: Как временное решение можно сделать ExchangeBoard.MicexTqbr.IsSupportAtomicReRegister = false

sazon
sazon

Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.

esper
esper

sazon: Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.

Что-то ничего не понял, ни по описанию, ни по логам.

sazon
sazon

esper:

sazon: Здравствуйте. Решил воспользоваться новым коннектором для скачивания свечных данных и столкнулся с проблемой. Во-первых, происходит дублирование свечей в сериях, которые приходят в "CandleManager.Processing". Во-вторых, свечи на один и тот же временной отрезок в каждой серии отличаются как минимум объемом, и с каждой новой серией эта величина увеличивается, и ,в конце концов, после нескольких повторений объем принимает свое окончательное верное значение. Мне кажется это поведение некорректным. Можно ведь сразу все свечи, которые уже прошли, выдавать в конечном виде и не повторять их каждый раз.

Что-то ничего не понял, ни по описанию, ни по логам. Вот, что я получаю в обработчике свечного менеджера:

11/10/2014 10:00:00;101000;101000;101000;101000;0 11/10/2014 10:00:00;101000;101000;101000;101000;2 11/10/2014 10:00:00;101000;101000;101000;101000;4 11/10/2014 10:00:00;101000;101000;101000;101000;5 11/10/2014 10:00:00;101000;101000;101000;101000;6 11/10/2014 10:00:00;101000;101000;101000;101000;10 11/10/2014 10:00:00;101000;101000;101000;101000;11 11/10/2014 10:00:00;101000;101000;101000;101000;12 11/10/2014 10:00:00;101000;101000;101000;101000;13 11/10/2014 10:00:00;101000;101000;101000;101000;14 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101000;101000;101000;0 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101000;101000;101000;1 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101000;101000;101000;2 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101000;101000;101000;3 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101010;101000;101010;4 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101010;101000;101010;5 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101010;101000;101010;7 11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;101020;101000;101020;8

Как мы видим, у нас происходит постоянное наращивание объема свечи , например, с временем "11/10/2014 10:00:00". В какой-то момент, после очередного срабатывание обработчика я получаю значение окончательное "11/10/2014 10:00:00;101000;101000;101000;101000;15".

( ... 11/10/2014 10:00:00;101000;101000;101000;101000;11 11/10/2014 10:00:00;101000;101000;101000;101000;12 11/10/2014 10:00:00;101000;101000;101000;101000;13 11/10/2014 10:00:00;101000;101000;101000;101000;14 11/10/2014 10:00:00;101000;101000;101000;101000;15 ... )

Затем начинается аналогичный процесс для следующей свечи с временем 11/10/2014 10:00:01...Почему сразу нельзя выдать всю серию так:

11/10/2014 10:00:00;101000;101000;101000;101000;15 11/10/2014 10:01:00;101000;102000;100800;102000;1343 11/10/2014 10:02:00;101770;102020;101760;101910;567 ... ,без дублирования. Или это такая задумка? Черт с ним, с дублированием, зачем выдавать свечи с каким-то промежуточным значением объема. Конечно, это все можно обойти, но разве это логично. Могу Скинуть код.

esper
esper

Нет никакого дублирования, свечка меняется и вы получаете каждое изменение. Здесь.

sazon
sazon
sazon

esper: Нет никакого дублирования, свечка меняется и вы получаете каждое изменение. Здесь. Тогда понятно. Спасибо.

RomSunZ
RomSunZ

Вот еще проблема более серьезная: В примере sample добавляем для открытия орддера котированием


            var quoting = new MarketQuotingStrategy(Sides.Buy, 1)
            {
                Security = SecurityPicker.SelectedSecurity,
                Portfolio = pf,
                WaitAllTrades = true,
                Connector = MainWindow.Instance.Trader,
                Volume = 1,
                PriceType = MarketPriceTypes.Following,//.Opposite,//.Middle,//
                LogLevel = LogLevels.Debug,
                PriceOffset = 1,
                BestPriceOffset = 3,
            };
            quoting.Start();

В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом:


20:17:02.352|       |QuikTrader|Инструмент GZZ4@FORTS зарегистрирован на получение рыночных данных для MarketDepth.
20:17:02.403|       |QuikTrader|RegisterOrder: 0/ Покупка Цена=14595 Объем=1 Сост=None Бал=0 
20:17:02.403|       |QuikTrader|New order: 72980119/ Покупка Цена=14595 Объем=1 Сост=Pending Бал=1 
20:17:02.808|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Active Бал=1 
20:17:02.809|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Active Бал=1 
20:17:34.654|       |QuikTrader|New order: 72980122/ Покупка Цена=14599 Объем=0 Сост=Pending Бал=0 
20:17:35.001|       |QuikTrader|Order changed: 72980119/2500263988 Покупка Цена=14595 Объем=1 Сост=Done Бал=1 
20:17:35.001|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Active Бал=1 
20:17:35.002|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Active Бал=1 
20:17:36.301|       |QuikTrader|New order: 72980123/ Покупка Цена=14607 Объем=0 Сост=Pending Бал=0 
20:17:36.587|       |QuikTrader|Order changed: 72980122/2500265916 Покупка Цена=14599 Объем=1 Сост=Done Бал=1 
20:17:36.588|       |QuikTrader|Order changed: 72980123/2500266028 Покупка Цена=14607 Объем=1 Сост=Done Бал=0 

В приложении лог MQS и LUA.

esper
esper

RomSunZ: В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом: Не вижу здесь ни одной ошибки.

RomSunZ
RomSunZ

esper:

RomSunZ: В результате работы в систему выставляются "неэффективные" ордера с нулевым объемом: Не вижу здесь ни одной ошибки.

А это:


Лог трейдера:
20:17:36.301|       |QuikTrader|New order: 72980123/ Покупка Цена=14607 Объем=0 Сост=Pending Бал=0 

лог ЛУА:
2014/11/10 20:17:36.026|Debug  |#=qaBez6xggl2OPiHwxjqwmKg==|From client 8=FIX.4.49=18735=G34=749=quik52=20141110-14:17:36.30556=StockSharpTS1=SPBFUT0009711=7298012337=250026591638=040=241=7298012244=1460755=GZZ460=20141110-20:17:36.302167=FUT207=FORTS461=F10=053
2014/11/10 20:17:36.026|       |#=qaBez6xggl2OPiHwxjqwmKg==|From client quik: OrderCancelReplaceRequest
2014/11/10 20:17:36.026|Debug  |Quik      |In. OrderReplace,T(L)=2014.11.10 20:17:36.026,Sec=S#:GZZ4@FORTS, Native:,Type:Future,TransId=635512397476400279,Price=14607,Side=Buy,OrdType=Limit,Vol=0,Sec=S#:GZZ4@FORTS, Native:,Type:Future,OldTransId=635512397476400278,OldOrdId=2500265916,NewTransId=635512397476400279
2014/11/10 20:17:36.026|       |None      |SendTransaction: t = {}
t["ACTION"] = "MOVE_ORDERS"
t["CLASSCODE"] = "SPBFUT"
t["SECCODE"] = "GZZ4"
t["MODE"] = "0"
t["FIRST_ORDER_NUMBER"] = "2500265916"
t["FIRST_ORDER_NEW_PRICE"] = "14607"
t["FIRST_ORDER_NEW_QUANTITY"] = "0"
t["TRANS_ID"] = "72980123"
return sendTransaction(t)

зачем в систему выставляется заявка с нулевым объемом или это нормально?

longtrades
longtrades

Здравствуйте,

скачал последнюю версию дистрибутива, пример Quik Sample, подключаюсь через Lua -- нету ни одной сделки. Level1 и стаканы идут, только сделки не транслируются. Открываю таблицу всех сделок в квик -- сделки начинають транслироватся . Теперь в Sample --> MainWindow исправляю: Trader.NewSecurities += securities => { foreach (var sec in securities) Trader.RegisterTrades(sec); _securitiesWindow.SecurityPicker.Securities.AddRange(securities); };

Тоесть хочу получать все сделки по всем инструментам, причем и в заказе всех сделок и в таблице всех сделок выбираю только фьюч и опционы на индекс РТС. Стартую сампле --> Quik тупо зависает...

Прошу проверить.

Спасибо.

RomSunZ
RomSunZ

Подскажите, почему Security.State всегда равно SecurityStates.Trading не зависимо от того, что показывается в таблице инструментов в Квике? (например на клиринге в квике состояние пишет "приостановлено", а транслируется как Trading) Исправьте пожалуйста.

longtrades
longtrades

Здравствуйте ,

когда можно ожидать что вы посмотрите в сторону проблеммы описаной здесь: http://stocksharp.com/posts/m/32257/

Спсибо.

Slepoy
Slepoy

Приветствую всех участников форума. Хотелось бы услышать пояснение об экспорте через ЛУА. Я конечно новичок и только учусь (смотрю 1 видеоурок), но сразу понятно, что ЛУА как-то избирательно передаёт информацию. Как я понял, раньше через ДДЕ, подключение робота проходило в 2 этапа:

  1. Подключение к потоку
  2. Экспорт таблиц через ДДЕ

То есть, до старта экспорта по ДДЕ никакие данные в робота априори поступать не могли. С ЛУА же другая ситуация, если не использовать "экспорт" (закомментировать метод StartExport), то список инструментов экспортироваться действительно не будет, но будут экспортироваться - портфели. То есть, ЛУА передаёт часть информации вообще сам по себе, без использования специальных методов/событий. Как-то неправильно это всё и нелогично. Нужно либо включить передачу "портфелей" в экспорт, либо вообще "экспорт" выкинуть, ведь он исходно был задуман для ДДЕ и импорта конкретных таблиц. Тут же ЛУА, тут нечего экспортировать. Текущая ситуация выглядит аллогично, и со стороны смотрится как утечка потока "портфели". ЛУА протекает ))). И у меня логичный вопрос: это специально так задумано или это баг в ЛУА-коннекторе? http://s015.radikal.ru/i333/1501/b7/20de1adc06dc.jpg http://s008.radikal.ru/i304/1501/bb/ef4cf78d1aef.jpg

longtrades
longtrades

Скажите, пожалуйста , это нормально что у всех сделок OrderDirection = null ?

И еще один вопрос , проэкт СтокШарп еще живой ? а то смотрю уж очень редко на форуме в последнее время отвечают на вопросы пользователей.

Mikhail Sukhov
Mikhail Sukhov Автор

longtrades: а то смотрю уж очень редко на форуме в последнее время отвечают на вопросы пользователей.

Заплатите деньги и вам в тех поддержке будут отвечать быстро.

longtrades
longtrades

Михаил Сухов: Заплатите деньги и вам в тех поддержке будут отвечать быстро.

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

Из всех ваших наработок исполюзую только коннектор к квику, который как вы сами заявляете не является платным.

Какая на даный момент актуальная версия стокШарп АПИ ? у вас на сайте 4.2.43 , на гитхабе упоминается о 4.2.64 .

Спасибо.

Виктор
Виктор

Здравствуйте,

подскажите, что может быть, если подключение по Lua нормально идет на Quik v.6.16.0.42, а на Quik-Junior 6.16.1.15 с теми же самыми DLL, скриптом и wnd ни в какую. Выдает ошибку 'Unknown error. Possible unhandled exception'. Junior последний с Quik'а. Уже не знаю даже в какой последовательно что менять чтобы заработало, все перепробовал практически. На боевом Quik много не поэкспериментируешь. Может другой какой Junior нужно скачать.

Mikhail Sukhov
Mikhail Sukhov Автор

А версия самого стокшарп?

Виктор
Виктор

Папку StockSharp_4.2.43_Sources (свежескачанная, перекачивал раза три с разблокировкой) положил на диск С:. На Quik v.6.16.0.42 скрипт заработал, а на Quik-Junior 6.16.1.15 (также свежескачанная) выдает ошибку. Только что на диске создал С:\StockSharp_4.2.43_Sourcesnew и бросил туда DLL скомпилированные с Githab. История повторилась.

Mikhail Sukhov
Mikhail Sukhov Автор

В лог что-то пишет?

Я проверял на 6.16.1.15 - работало нормально. Проверял на том, что в Гите. Видимо есть какая-то особенность.

Виктор
Виктор

На Quik v.6.16.0.42 лог пишет:

2015/03/03 00:08:28.869| |LuaServer |OnInit 2015/03/03 00:08:28.882| |FixServer |FixServer started. 2015/03/03 00:08:28.882| |LuaServer |OnInit done 2015/03/03 00:08:28.886| |LuaServer |Main

Quik-Junior 6.16.1.15 вообще не оставляет лога при любом уровне логирования.

Установил от Finam Quik-Junior 6.12.4.11 все тоже работает хорошо.

Да уж половину выходных на тот нерабочий 6.16.1.15 убил, хотя обновлял с сервера и переустанавливал его 2 раза.

VolkSib
VolkSib

Такая же ошибка при подключении Lua скрипта 'Unknown error. Possible unhandled exception'. Quik v.6.16.2.20, Quik v.6.16.1.15 Лога нет. S# 4.2.64.

Mikhail Sukhov
Mikhail Sukhov Автор

VolkSib, Скачал последний дистрибутив 68-ой версии. Скачал Квик 6.16.1.15. Запустил. Выбрал скрипт прямо в папке дистрибутива. Запустил. Запустилось.

Может привилегий нет, может файлы заблокированы, может антивирус - не знаю причину.

techno1d
techno1d

Не подскажите что бы это значило? Вылетает при вызове QuikTrader.Connect() Quik Junior: с сайта quik.ru и от Finam'a. Ошибку выдает на обеих версиях.

причем лог самого в Dubug-mode пишет, что сервер включен и данные отдает. В логе сервера никакой информации об ошибке не нашел

Окно ошибки

Update: Проблема решена. Сгенерировал новую лицензию. Может кому поможет...

dim_shu
dim_shu

Скачал версию 6.16.1.15 Запустил скрипт(всё без ошибок). Далее загрузил исходники с Github. Скомпилировал. Запускаю Sample Quik и вот что получаю:

  • Первый файл StockSharp.QuikLua.FatalError в нём:

[06.03.2015 15:05:48] StockSharp.Licensing, Version=4.2.68.0, Culture=neutral, PublicKeyToken=null: System.IO.FileNotFoundException: Не удается найти указанный файл. (Exception from HRESULT: 0x80070002) at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence) at System.Reflection.Assembly.LoadFile(String path) at CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args) [06.03.2015 15:05:48] StockSharp.Licensing, Version=4.2.68.0, Culture=neutral, PublicKeyToken=null: System.IO.FileNotFoundException: Не удается найти указанный файл. (Exception from HRESULT: 0x80070002) at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence) at System.Reflection.Assembly.LoadFile(String path) at CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args)

Какую лицензию он просит? Лицензия же отключена как вы писали в релизе № 4.2.68.0

  • Второй файл
Mikhail Sukhov
Mikhail Sukhov Автор

dim_shu: Какую лицензию он просит? Лицензия же отключена как вы писали в релизе № 4.2.68.0

Думаю, прежде чем качать что либо с Гита, вам стоит немного изучить .NET и C#

dim_shu
dim_shu

Михаил Сухов:

dim_shu: Какую лицензию он просит? Лицензия же отключена как вы писали в релизе № 4.2.68.0

Думаю, прежде чем качать что либо с Гита, вам стоит немного изучить .NET и C#

Спасибо, с прошлыми исходниками вроде как разобрался :)

Но всё же, зачем подключаться к Вашему on-line сервису лицензирования по адресу (stocksharp.com/services/licenseservice.svc), если вы говорите что лицензия в релизе № 4.2.68.0. ОТКЛЮЧЕНА ???

Mikhail Sukhov
Mikhail Sukhov Автор

dim_shu: зачем подключаться к Вашему on-line сервису лицензирования

Можете не подключаться.

techno1d
techno1d

Михаил Сухов:

dim_shu: зачем подключаться к Вашему on-line сервису лицензирования

Можете не подключаться.

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

Mikhail Sukhov
Mikhail Sukhov Автор

Приходите на обучение http://stocksharp.com/edu/ Там расскажут, как отключить лицензию.

dim_shu
dim_shu

techno1d:

Михаил Сухов:

dim_shu: зачем подключаться к Вашему on-line сервису лицензирования

Можете не подключаться.

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

Михаил, мягко намекает, что нужно самому забираться в исходники вычищать всё это. И нет никакой гарантии, что остальные скомпилированные части dll-ок не заработают нормально. А если не хватает квалификации, то за деньги это всё сделают на обучении. Так что пока, ЧЕСТНОЙ независимости от лицензии не вижу...

Mikhail Sukhov
Mikhail Sukhov Автор

dim_shu: Михаил, мягко намекает, что нужно самому забираться в исходники вычищать всё это.

Я не мягко намекаю, а прямо говорю - идите в ближайший книжный магазин и купите книгу по .NET. Ваши вопросы и проблемы идут от незнания .NET и C#, а не из-за лицензии.

dim_shu
dim_shu

Михаил Сухов:

dim_shu: Михаил, мягко намекает, что нужно самому забираться в исходники вычищать всё это.

Я не мягко намекаю, а прямо говорю - идите в ближайший книжный магазин и купите книгу по .NET. Ваши вопросы и проблемы идут от незнания .NET и C#, а не из-за лицензии.

Успокойтесь, Михаил. Все всё поняли...

Виктор
Виктор

Если что, то учебный Quik 6.16.1.15 со свежей версией с Githab'а нормально подключился по Lua.

VolkSib
VolkSib

Попробовал во всех комбинациях версии библиотеки с Гитхаба: последнюю и с тегом 68; и квики 6.16.1.15, 6.16.2.20. В отличие от 64 версии, теперь сообщения об ошибке нет, просто вылетает квик. Логи LUA не генерируются. Попробовал на 3 разных машинах, результат одинаковый. Запускалось все под администратором и при отключенных антивирусе и брандмауэре. Как искать причину? Есть ли у кого-то еще такая же проблема?

Николай_Флёров
Mikhail Sukhov
Mikhail Sukhov Автор

Архив был разблокирован?

VolkSib
VolkSib

Да.

Николай_Флёров
Виктор
Виктор

VolkSib, а ты собирал все Dll в одину папку References? а в Quik делал ссылку на скрипт Lua именно в этой папке References?

VolkSib Николай_Флёров
VolkSib
VolkSib

Спасибо, это помогло.

Николай_Флёров
Mikhail Sukhov
Mikhail Sukhov Автор

VolkSib: Спасибо, это помогло.

Не собирате самостоятельно с Гита, если у вас недостаточно знаний. Это путь к багам, который приведет к потере денег на реальных торгах.

risty
risty

Доброго времени суток! Нужна помощь коллективного разума. Чувствую что что-то простое, но лыжи почему то не едут. Запускаю скрипт прям из папки References. Квик при попытке запуска все время падает с ошибкой. Что только не пробовал: И разные версии(качаю zip архив) библиотеки 4.3.10, 4.3.9, 4.2.75 Разные операционки Win7 x86 и x64. Разные Квики 6.12.4.11 и 6.17.3.6 И vcredist_x64 и vcredist_x86 .Net4.6 и 4.5.2

Варианты закончились( Ощущение, что я не сдала что то простое.

Николай_Флёров
risty
risty

risty: Доброго времени суток! Нужна помощь коллективного разума. Чувствую что что-то простое, но лыжи почему то не едут. Запускаю скрипт прям из папки References. Квик при попытке запуска все время падает с ошибкой. Что только не пробовал: И разные версии(качаю zip архив) библиотеки 4.3.10, 4.3.9, 4.2.75 Разные операционки Win7 x86 и x64. Разные Квики 6.12.4.11 и 6.17.3.6 И vcredist_x64 и vcredist_x86 .Net4.6 и 4.5.2

Варианты закончились( Ощущение, что я не сдала что то простое.

Только щас допер, что дело было в не разблокированном архиве )))

maxchist
maxchist

Может кому пригодится. Столкнулся с фичей. Quik учебный 6.16.1.15 запущен на виртуалке win7 x64 под Hyper-V.

Скрипт Lua по умолчанию запускает fix-сервер на порту 5002 и поэтому коннект не устанавливается.

Необходимо в скрипте раскомментировать строчку с портом сервера, принудительно поставить 5001. Тогда все начинает работать.

Koal
Koal

Здравствуйте, подскажите в NewOrders попадают только алго заявки из квика. Установка SupportManualOrders дела не меняет. В Lua коннекторе это не реализовано еще? Если нет, то как таки получить мануальные заявки? (использую последнюю версию)

Спасибо

Mikhail Sukhov
Mikhail Sukhov Автор

Koal: Здравствуйте, подскажите в NewOrders попадают только алго заявки из квика. Установка SupportManualOrders дела не меняет. В Lua коннекторе это не реализовано еще? Если нет, то как таки получить мануальные заявки? (использую последнюю версию)

Спасибо

Ручные заявки через Квик не поддерживаем начиная с версии 7.x.

asmatic
asmatic

Видимо поторопился и создал топик не в том разделе, но сути не меняет: исправления для QuikTerminal.cs из коннектора Quik

sher_70
sher_70

Добрый день! Есть большое желание научится создавать роботов при помощи ваше проги, но она у Вас сугубо для программистов и техподдержка как правила не оказывается должным образом, есть ли возможность заказать у вас робота? собственно на живом примере легче учится. А пока у Вас даже конект не установить с квиком sher_70@mail.ru