Boris (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Предварительная проверка наличия в базе Quik инструмента (опциона), Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik
 
Цитата
nikolz написал:
Кроме того, зависание возможно по причине некорректной обработки пустых строк в вашем приложении  DDE
так и есть, но с DDE в сервере там всё непросто - не пойми как сделано на базе библиотеки сторонней.
Экспорт такой таблицы по DDE  просто даёт сбой сервера - сам квик не виснет.
Проблема не в этом - хотя было бы логично автоматически исключать из таблиц quik исчезнувшие опционы.

Виснет Квик когда я для обхода этой проблемы - запускаю lua скрипт фильтрующий таблицу для передачи по DDE, ну и плюс всяких полезностей на lua добавил.
Работает всё это стабильно днями и сутками без тормозов, но в тот момент когда на сервере quik "дохнут" опционы (около 10 штук сразу обычно), то виснет сам Quik.
Возможно какое то сочетание множественности запросов:
Subscribe_Level_II_Quotes, getParamEx, getQuoteLevel2и момент обновление базы Quik с сервера - с исчезнувшими опционами.
Предварительная проверка наличия в базе Quik инструмента (опциона), Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik
 
Цитата
nikolz написал:
Т е читайте любой из указанных параметров и проверяйте его на вшивость.
я это пробовал задолго до того как тут на форуме вопрос задать.

Проверял и на пустую строку и то что в значении число и что оно не nul
Но всё равно Quik намертво виснет.

Вероятно он виснет не на этапе getParamEx, а ещё ранее и где именно - абсолютно непонятно.
Но происходит это точно в тот момент когда в Quik обновляются данные и появляются сдохнувшие опционы.
Памяти скрипт ест - 8-15мб - не более.

Может какой то кэллбэк есть "инструмент исключён из базы" ??
Предварительная проверка наличия в базе Quik инструмента (опциона), Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik
 
Периодически сервера Quik перестают транслировать данные по некоторым опционам.
Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.
В какой то момент некоторые дальние опционы "дохнут" (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.

Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:
Спрос    Предл.    Цена послед.    Волатильность    Теор. цена

Вместо нулевых значений начинает отображаться пустое значение.

Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.

В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы

В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)

Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.
Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?

Код
function Quotes(code)
local ther_price_hz = getParamEx(class_code, code, "THEORPRICE")
   if(ther_price_hz.result == "1") then
   local ther_price = tonumber(ther_price_hz.param_value)
   
-- ....
end
end
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Цитата
Даниил написал:
Lua-скрипт - продукт стороннего разработчика, его взаимодействие с ресурсами Рабочего места QUIK может быть неоптимальным, поэтому необходимо остановить выполнение таких скриптов, чтобы подтвердить или опровергнуть их возможное влияние на возникновение описанной ошибки.
каждый lua скрипт работает в изолированной виртуальной среде lua интерпритатора, который в свою очередь работает внутри quik.

В случае ошибки в lua - интерпритатор должен был бы показывать ошибку с номером строки и уж точно это не должно вешать намертво сам quik.
В случае зависания самого lua интерпритатора: Quik - обязан показывать ошибку - что зависла среда выполнения.

В данном же случае виснет сам Quik и никаких ошибок не выдаёт.

Что же касается подтвердить\опровергнуть.
В который раз повторяю: Этим должны заниматься разработчики Quik, а не люди которые ТОРГУЮТ ВСЁ ВРЕМЯ пока работает биржа !!!

Вы представляете какого размера может быть убыток на срочке?
Пока клиент дебагом и разбором глюков занимается - вместо того чтобы следить за рынком ?
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Цитата
Даниил написал:
Выполнение сторонних Lua-скриптов может оказывать влияние на работоспособность терминала QUIK, кроме того, могли быть повреждены файлы .log и .dat и файл настроек .wnd,
с lua скриптами всё в порядке, нагрузка на процессор от них небольшая, памяти в сумме едят менее 15 MB.

log dat wnd - чистились уже и заново перенастраивались по минимуму - относительно дефолтных настроек, задолго - до того как была опубликована эта тема.

Цитата
Даниил написал:
Исходя из доступной информации, ошибка с описанием AppHangB1 может проявляться в ОС Windows 7 при работе с различными приложениями из-за проблем с драйвером видеоадаптера. Уточните, пожалуйста, проявляется ли данная проблема при работе с другими программами?
Проявляется исключительно с Quik и не постоянно. Ни с каким иным приложением никогда подобной ошибки не видел.

Quik может трое суток без перезапуска работать на 100% стабильно и потом начинаются серийные зависания.
1 - 2 серии зависаний в неделю, (по 3 - 5 зависаний) - в сумме за торговых пять дней.
При чём виснет в не самые активные периоды на рынке - обычная торговля без какой либо высокой волатильности и пиковых нагрузок.
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Цитата
Юрий написал:
А виснет, потому что оперативная память съедается? Брокер ВТБ?
Нет. Брокер финам.

Процесс Quik занимает в диапазоне 450 - 780 MB памяти.
В системе ещё свободно более 10GB оперативки
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Цитата
Даниил написал:
2. Запустить терминал QUIK без файла настроек (убрать использующийся *.wnd файл
Цитата
Даниил написал:
1. Закрыть программу QUIK, если она при этом открыта. Далее в директории с программой удалить все файлы с расширением «*.log» и «*.dat»

Цитата
Даниил написал:
Рекомендуем Вам остановить выполнение указанных Lua-скриптов
Цитата
Даниил написал:
По выполнению данных рекомендаций, просим Вас сообщить результат.
Вы издеваетесь ?? Вы бы ещё посоветовали 333 раза компьютер перезагрузить!

Кому тогда вообще нужна такая программа как Quik ? Тем кто решил на добровольной основе заняться не торговлей на бирже, а бесконечным дебагом софта ?

Всем этим заниматься и выкладывать стабильно работающий софт - обязаны разработчики софта, а не клиенты - его использующие!

Проблема явно не в настройках и не в запущенных lua скриптах тк - 90% времени софт стабилен. Настроек относительно дефолтных произведено - самый минимум.

Но в некоторые периоды - когда от серверов quik поступают неизвестно какие данные - клиента Quik начинает глючить, плющить и таращить ...
И если по ошибке которую выдаёт win из за зависания quik - нельзя даже предположить что случилось с софтом.
То разработчикам явно дебаг этих процессов - абсолютно не интересен!
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
При чём зависает не постоянно, а некими периодами.
То есть может трое суток подряд проработать и ни разу не зависнуть, а потом в течении пары часов раз пять - после каждого повторного запуска.
В Quik при этом постоянно запущена пара lua скриптов и выводится одна стандартная таблица во внешнее приложение по DDE.
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Зависает сразу намертво и не отвисает даже если подождать.

Тема в Quik - Тёмная.
Часто зависает Quik 9.7.1.10, Имя события проблемы: AppHangB1
 
Код
Описание:
  Ошибка привела к остановке взаимодействия программы с Windows.

Сигнатура проблемы:
  Имя события проблемы:   AppHangB1
  Имя приложения:   info.exe
  Версия приложения:   9.7.1.10
  Отметка времени приложения:   62c82dbf
  Сигнатура зависания:   7f9c
  Тип зависания:   513
  Версия ОС:   6.1.7601.2.1.0.256.1
  Код языка:   1049
  Доп. сигнатура зависания 1:   7f9c358e16d8bea0a345fe7ace628f66
  Доп. сигнатура зависания 2:   c46f
  Доп. сигнатура зависания 3:   c46f8629be4eab077f2275e1380c451e
  Доп. сигнатура зависания 4:   7f9c
  Доп. сигнатура зависания 5:   7f9c358e16d8bea0a345fe7ace628f66
  Доп. сигнатура зависания 6:   c46f
  Доп. сигнатура зависания 7:   c46f8629be4eab077f2275e1380c451e

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
  C:\Windows\system32\ru-RU\erofflps.txt

Описание:
  Ошибка привела к остановке взаимодействия программы с Windows.

Сигнатура проблемы:
  Имя события проблемы:   AppHangB1
  Имя приложения:   info.exe
  Версия приложения:   9.7.1.10
  Отметка времени приложения:   62c82dbf
  Сигнатура зависания:   819e
  Тип зависания:   513
  Версия ОС:   6.1.7601.2.1.0.256.1
  Код языка:   1049
  Доп. сигнатура зависания 1:   819e2ecf4320ec4964c21dcacd147022
  Доп. сигнатура зависания 2:   8531
  Доп. сигнатура зависания 3:   853129fdc48d6e465a378e89ed35b486
  Доп. сигнатура зависания 4:   819e
  Доп. сигнатура зависания 5:   819e2ecf4320ec4964c21dcacd147022
  Доп. сигнатура зависания 6:   8531
  Доп. сигнатура зависания 7:   853129fdc48d6e465a378e89ed35b486

Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
swerg написал:
Вы о чем спрашиваете? Хорошо бы уточнять всегда, когда вы применяете термин "таблица" в рамках QLua / QUIK.Иначе, как  видно по теме, "всё смешалось", каждый понял своё.
Конечно о таблице визуального интерфейса.
И я об этом несколько раз в теме написал, но до кой кого - так и не дошло ))

Цитата
swerg написал:
В Lua и в QUIK есть два разных понятия, определяемых одним термином "таблица".
по этому поводу у меня - ни одного цензурного слова нет ...  :smile:  
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Nikolay написал:
В чем проблема - пишите свою анонимную функцию и сортируете.
вы так ничего и не поняли ...

НЕ УМЕЕТ lua в принципе адекватно работать с массивами со СТРОКОВЫМИ ключами!
Отсортировать он их на прямую - тоже НЕ МОЖЕТ
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Nikolay написал:
Что-то я не понял про "привыкшего к стройному Си-синтаксису". Lua для сравнения строк использует С функцию strcoll. Ничего не выдумывая
отсортируте массив массивов со СТРОКОВЫМИ ключами в lua - по значению одному из столбцов вложенных массивов.
вот может тогда поймёте в чём вывих мозга lua


И повторяю с программерской точки зрения - у меня нет никаких проблем с сортировкой массивов в lua ( не смотря на то что делать это придётся не самым удобным образом)

У меня есть большой массив данных, который выводится в ВИЗУАЛЬНУЮ таблицу и мог бы быть интерактивно и удобно для пользователя отсортирован в этой таблице - вообще без обращения к функциям lua - чисто уже имеющимся функционалом quik

Но разработчики Quik - видимо решили "забить, или положить ..."
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
nikolz написал:
Реализация таблиц (они же массивы, объекты или хеш-таблицы).
не запутывайте людей с C# программерским мозгом.
Таблицы - это те окна с табличной информацией, которые видно пользователю и которые он может "пощупать" указателем мыша, отсортировать колонки, настроить фильтр в колонке - для вывода только того что нужно.
Ветка - о сортировке с учётом типа данных в столбцах именно в таких таблицах!

А то что касается массивов.
Есть объекты и массивы.
Массивы могут быть с положительными целочисленными ключами (и тогда у lua проблем нет) или со строковыми ключами (включая отрицательные числа) и тогда в lua у любого программера привыкшего к стройному Си-синтаксису и функционалу - начинаются дебаг-разборки, которые заставляют его матюкаться и проклинать тот момент когда он "сел за баранку этого чёртового lua пылесоса..." ))
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
И всё таки ...
Разработчики Quik как нибудь отреагируют на пожелания клиентов: довести до ума lua таблицы?
Для того чтобы на них адекватно работали уже имеющиеся в Quik встроенные функции сортировки и фильтрации - с учётом типа значений в столбце (число, строка, время, дата)
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
Boris, Кстати, массивы - это на самом деле файлы, и весьма заметную или даже основную часть времени отжирают именно файловые операции.
O_o

Вы хотите сказать что в Quik lua любая переменная типа массив используемая в скрипте - порождает отдельный файловый дескриптор с потоком чтения/записи данных на диске ?
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Если перевести массив на численные ключи то проблем отсортировать массив нет.
Но есть проблемы интерактивно для пользователя - выводить всё это.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
Boris, Ну, если со стаканов, то там и будут тормоза. Да и 5000 столбца, но каждая строка - это отдельный тикер. Примерно на 1000-2000 тикеров появляются тормоза, а при 10000-20000 тикерах они становятся раздражающе заметными. Но в астрал ничего не уходит даже в этом случае. Что до сортировки - я почти ежедневно сортирую массивы в миллионы, а иногда даже в миллиарды элементов - вот там могут быть некоторые проблемы, а здесь-то откуда?
массивы то ясное дело - с ними проблем нет...
а вот постоянно обновляемые динамические таблицы - с которыми взимодействует человек - с отрисовкой обязательно тормозить интерфейс будет.

Поэтому в идеале - выведение в асинхронный слой вывода и там сортировка уже итоговых данных - без ожидания lua обработки
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Отзывчивость интерфейса - важнее.
Можно и без сортировки и фильтров прожить, но хочется чтобы было красиво и удобно ...
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
Nikolay, А подключать как будете "свою функцию сортировки"? ::

Boris, Подумаешь, "сотни изменений в минуту". Во-первых, это ничтожно мало, во-вторых, тормоза при таких объёмах данных, если и будут, то никак не на сортировке, а на прорисовке. Да и то вряд ли.
таблица - ~5000 строк с 10ю столбцами? заполняется данными со стаканов маркета.


В период высокой волатильности на рынке сборщик заполняющий таблицу - иногда уходит секунд 50 в астрал разгребать свои задачи.
А вы предлагаете в том же потоке всё это ещё и сортировать на лету ??
Это очень плохая идея...
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
Boris, Да не идёт сортировка даже по string, не говоря уже про остальные типы. Она игнорирует знак, так что будет выдавать примерно такое:
Впрочем, что я - вот фрагмент сегодняшнего скрина, сортировка выполнена именно по этому столбцу:
Очевидный ляп разрабов - всем глаза мозолящий и не могут до адекватного состояния до сих пор довести такую мелочь (даже в 9й реинкарнации Quik).

И это при том что нас при создании столбцов таблицы заставляют указывать им тип.
Становится только жутковато, от того что вообще непонятно, а зачем вообще в AddColumn указывается тип ?
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Nikolay написал:
Напишите свою функции сортировки строк. В чем проблема.
в том что таблица очень "живая" - с ней постоянно работает lua сборщик статистики (сотни изменений в минуту)
Если её постоянно ещё и пересортировывать - то нагрузка будет дикая - приводящая к тормозам всего интерфейса.
Подобные вещи должны делаться - в отдельном слое.

Ну и
1. не умеет по сути lua адекватно работать с ассоциированными массивами со строковыми ключами
2. невозможно назначить тому же столбцу событие - чтобы при клике мышкой на лету происходило переключение направления сортировки и происходила сортировка

Если же захочется применить к таблице фильтр - так даже полей для ввода данных не предусмотрено
В общем сплошные неудобства
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
nikolz написал:
а в чем разница число это или дата или string?VMLua сравнивает строки как числа , используя для этого хеш.
нет, сортировка по типу стринг идёт только по байтовому коду символов (по ansi)

разница очень большая

например


В таблице (не сортированной) столбец с числами
2
1
3
11
33

Сортировка по string даст
1
11
2
3
33

Сортировка по типу число должна выдавать
1
2
3
11
33

То что разница есть и она огромна - это очевидно.
Но в не зависимости от того какой тип данных прописывается столбцу в lua таблице - сортировка таблиц в столбце идёт только по string.

Не ужели в принципе нельзя использовать на lua таблицах встроенную в quik таблицы сортировку ?
Неужели подобная банальность до сих пор не реализована ?
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Здравствуйте.
Не нашёл в документации как необходимо организовать создание таблицы средствами lua - для того чтобы можно было использовать встроенные в quik функции сортировки и фильтров по столбцу ?
Где об этом можно прочитать ?

По ощущениям - всегда учитывается только формат string.
Ни дату, время ни числа в созданной lua таблице не отсортировать ?
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Цитата
abdula amin написал:
Просто я нигде не могу найти луа сокет под 5.4.1 пожалуйста если не сложно скиньте ссылку где скачать
https://github.com/alain-riedinger/luasocket/releases
https://disk.yandex.ru/d/wJ8I71eZ0vFT3w

скомпиллены по разному и под разный набор софта на ПК
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Цитата
nikolz написал:
поставьте sleep хотя бы на 100 ms
было - ставил
разницы не заметил тк в вызываемых из main функциях организована проверка на уже запущеный процесс
те повторно тот же процесс не запускается - до тех пор пока не завершится первый


на ситуацию с зависанием после server:accept() - не влияет
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Цитата
nikolz написал:
Какая у вас версия КВИК
9.3.3.3 lua 5.4.1
до этого пробовал и lua 5.3.5 - с другой dll luasocket
думал что возможно dll глючная.
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Цитата
nikolz написал:
У вас сервер запускает когда main завершает работу.Т е если main работает то сервер не запускаетсяВы должны его вставить в цикл main
в main есть вызов ServerRun().

Функция вызывается - доходит до строки client  =  server:accept() и вешает весь остальной код.
Сервер при этом работает - по любому запросу моментально отвечает клиенту.

Но проблема что до тех пока клиент не придёт и не запросит данные никакие другие функции lua - включая сборщика статы table.load (var,  1000 ) не исполняются.

Если вы о том что необходимо сделать так


Код
function   main ()
    while  is_run  do 
 
    table.load (var,  1000 )
 end 

while  is_run  do 
  client  =  server:accept()
  client:settimeout( 2 )
     local  line, err  =  client:receive()
     local  result  =  evalString(line)
     if   not  err  then  client:send(result .. "\n")  end 
   client:close()
 end 

 end 
Или даже вот так:
Код
function   main ()
    while  is_run  do 
 
    table.load (var,  1000 )

  client  =  server:accept()
  client:settimeout( 2 )
     local  line, err  =  client:receive()
     local  result  =  evalString(line)
     if   not  err  then  client:send(result .. "\n")  end 
   client:close()

 end 
 end 

То в результате нет абсолютно никакой разницы - как только выполняется строка server:accept() - работает только сервер и ничто другое.
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
код не исполняется далее строки  client = server:accept()
Даже строка client:settimeout(2) - не выполняется.
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Код
 client = server:accept()
  client:settimeout(2)

(2) - по логике server:accept() должна ожидать коннекта клиента 2 сек и при не поступлении запроса от клиента завершиться сама собой.
Но она этого не делает - продолжает ждать останавливая весь код.
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Цитата
nikolz написал:
Цитата
Boris написал:
uasocket
см док:
Используйте метод  settimeout  или accept может блокироваться

Так в коде мною приведенном посмотрите - settimeout там есть, те мною используется.
И применял я его в разных режимах b t
Не помогает это !

Или вы о каком то то другом использовании settimeout Тогда поясните пожалуйста...
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Как правильно сделать ожидание коннекта функцией server:accept() - чтоб она прерывалась при отсутствии подключённого клиента ?
Или как в принципе в quik lua запускать асинхронно функции ?Асинхронный запуск функций вообще возможен ?
Luasocket сервер - останавливает выполнение кода, Возможен ли асинхронный запуск нескольких функций в Quik lua ?
 
Есть исправно работающий обработчик стаканов.
Хочется прикрутить вывод информации из Quik в сторонние приложения по средством организации передачи данных через socket сервер.
Постоянно запускающаяся зацикленная  функция вызываемая из main производит обработку и складирование данных в массив.
Socket сервер - должен периодически выдавать эту информацию по запросу подключившегося клиента.

Для запуска в Quik сервера используется библиотека luasocket (под lua 5.4.1).
Запуск ожидания коннекта ServerRun() - так же запускается из main.
При этом после выполнения server:accept() - выполнение какого либо кода прекращается.
Прекращается до тех пор пока на сервер не поступит запрос - он не выдаст ответ и только тогда функция table.load(var, 1000) будет запущена повторно.
И тоже застопорится до поступления следующего запроса от socket клиента.
client:settimeout(2) - должен вроде как прерывать ожидание коннекта и закрывать коннект - что поспособствовало бы продолжению выполнения иного кода, но этого не происходит.
Пробовал многое - но ничего не помогло. Где бы в коде не запускалась server:accept() - она останавливает выполнение любых других функций.
Как организовать запуск table.load(var, 1000) и ServerRun() - в раздельных потоках - так чтобы выполнение одной функции не останавливалось на период работы другой ?
Код для примера (сильно сокращён)

Код
socket = require("socket")

IPAddr = "127.0.0.1" --IP Адрес
IPPort = 3585       --IP Port    
client = nil

function main()
   while is_run do
 
   table.load(var, 1000)
end
ServerRun()
end


function ServerRun()
while is_run do
  client = server:accept()
  client:settimeout(2)
    local line, err = client:receive()
    local result = evalString(line)
    if not err then client:send(result.."\n") end
   client:close()
end
end

function OnInit(quik_path)
server = assert(socket.bind("127.0.0.1", IPPort))
end
Массовый Subscribe_Level_II_Quotes + getQuoteLevel2 и вывод результатов на DDE сервер. Возможно ?, Осилит ли quik 5000 Subscribe_Level_II_Quotes ?
 
Здравствуйте.
Есть необходимость мониторить стаканы ~5тыс. инструментов (опционы).
Обрабатывать информацию и выводить результаты из lua на DDE сервер или в csv файл.

1. Подписка на 5тыс. Subscribe_Level_II_Quotes, получение getQuoteLevel2 и потом мониторинг изменения 5тыс. стаканов - это в принципе возможно в quik ?

Не умрёт ли quik при попытке осуществить задуманное - в силу архитектурных ограничений ?
Получится ли обрабатывать все 5000 стаканов - хотя бы раз в 5 минут ?

2. И вопрос по выводу данных на DDE сервер.
Из lua напрямую вывести данные на DDE сервер судя по документации - нельзя ?

А можно ли создать с помощью lua таблицу quik - которую можно было бы вывести на DDE как стандартные окна quik ?
Шаблоны стакана и графика цены и объёма, Не сохраняются некоторые важные параметры в шаблон
 
В идеале должно сохраняться и применяться вот в таком шаблоне: жёлтый график - теоретическая цена
Шаблоны стакана и графика цены и объёма, Не сохраняются некоторые важные параметры в шаблон
 
Цитата
Daniil Pozdnyakov написал:
Данные параметры действительно не добавляются в шаблон, можем зарегистрировать пожелание от Вас, чтобы данные пункты добавлялись в шаблон, регистрируем ?
да, регистрируем.

Цитата
Daniil Pozdnyakov написал:
В окне "Работа с шаблонами графиков" (См. скриншот 1), которое появляется если в контекстном меню выбрать пункты "Шаблон диаграммы" (или  "Шаблон")->"Сделать шаблоном...", Вы можете выбрать нужный Вам шаблон и нажать кнопку "Брать по умолчанию". После нажатия выбранный шаблон будет браться при создании новых диаграмм и стаканов.
естественно это пробовалось изначально, но после такого применённого шаблона - дополнительный параметр на графике - не отображается.
Вот
1й График - из него сохранен шаблон и сделан дефолтным.
2й График - вызванный новый график другого опциона.

Отсутствует график Теоретической цены, хотя в сохранённом шаблоне он должен быть. Не стал помещать их в одно поле - в идеале графики цены и теоретической должны накладываться друг на друга.
Шаблоны стакана и графика цены и объёма, Не сохраняются некоторые важные параметры в шаблон
 
Quik 8.12.0.41 и более новые версии.
При сохранении шаблона стакана и графика - не сохраняются параметры окна "Поверх всех окон/Закрепить окно" и положение окна на экране.
При добавлении на график цены и объёма ещё одного параметра - "Теоретическая цена", они не сохраняются в шаблон. (речь про опционы)
При изменении размера окна графика - параметры не сохраняются в шаблон.
При применении ранее сохраненного шаблона с перечисленными назначенными параметрами - новые окна по умолчанию создаются с какими то дефолтными настройками.

Когда таких стаканов и графиков необходимо открыть десяток, каждому назначить Поверх всех окон+Уменьшить размер окна+Поместить в нужное место на экране+Закрепить окно, при этом если место где по умолчанию появляются новые стаканы и графики уже занято, то надо выковырять их из под уже закрепленных окон.
(и тд и тп) - это превращается в рутину от которой хочется закрыть quik и больше никогда не запускать ...
Опционный модуль стратегии Quik - подключение счёта., Настройка опционного модуля Quik
 
Здравствуйте.

При создании стратегии в опционном модуле нет возможности выбрать параметры "Фирма" и "Торговый счёт" - в выпадающих списках пусто.
Если загрузить шаблон любой стратегии - выпадающие списки этих опций становятся неактивными.

В настройках Quik: Торговля==>Настройка счетов - в выбранных счетах отображается счёт SPBFUTxxxxx.

Что необходимо настроить для того чтобы модуль создания стратегии подключался к счёту и загружал текущие открытые позиции ?

Брокер Банк ВТБ - модуль стратегий шёл вместе с дистрибутивом Quik.
Страницы: 1
Наверх