Boris (Автор тем)

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

Страницы: 1
Предварительная проверка наличия в базе 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
 
Код
Описание:
  Ошибка привела к остановке взаимодействия программы с 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 таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Здравствуйте.
Не нашёл в документации как необходимо организовать создание таблицы средствами lua - для того чтобы можно было использовать встроенные в quik функции сортировки и фильтров по столбцу ?
Где об этом можно прочитать ?

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

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

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

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

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

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