Добрый день, Реализовал для себя, предлагаю реализовать в QUIK для все пользователей. ----------------- 1) Запуск произвольного количества скриптов, каждый в отдельном потоке. -------------------------- 2) Реализацию скриптов вне зависимости от версии Lua, а также на языках LuaJit,Terra, Julia. ----------------------- 3) Очереди к потокам ------------------------- 4) Передача данных между скриптами.
Кстати, я как-то заметил, что если Квику задать сформировать отчёт по всем сделкам клиента (а их немного), то, пока он их 10 сек. формирует (Квик в это время слегка заблуривает окно), наблюдается потеря в получении скриптом обезличенных сделок и изменений в стакане (тоже на 10 сек.)
Необработанные сделки можно было бы ставить в очередь, чтобы потом отдать их скрипту? Такое впечатление, что мой скрипт получения сделок и формирование отчёта Квиком не могут работать одновременно? Квик не может использовать больше 2-х потоков? (Один для терминала и коллбэков, а другой для функции main)?
----------------- 1) Запуск произвольного количества скриптов, каждый в отдельном потоке. --------------------------
Цитата
а также на языках LuaJit,Terra, Julia.
Цитата
Передача данных между скриптами.
Ваши пожелания по данным пунктам зарегистрированы. Мы постараемся рассмотреть их и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожеланий в будущих версиях ПО.
Цитата
Реализацию скриптов вне зависимости от версии Lua
К сожалению, регистрация пожелания с данной формулировкой невозможна. Уточните, возможно Вас интересует поддержка какой-то определённой версии языка?
Цитата
Очереди к потокам
Уточните, пожалуйста, что Вы подразумеваете под очередями к потокам?
К сожалению, регистрация пожелания с данной формулировкой невозможна. Уточните, возможно Вас интересует поддержка какой-то определённой версии языка?
Цитата
Очереди к потокам
Уточните, пожалуйста, что Вы подразумеваете под очередями к потокам?
Добрый день, относительно разных версий VMLua. Полагаю из примера будет понятно как я это делаю . Это тест для создания VMLua в отдельном потоке :
Код
local fdll_Terra="D:/terra/bin/terra.dll"
local fdll_Lua51="D:/terra/bin/Lua51.dll"
local fdll_Luajit="D:/Luajit210/libLuajit.dll"
local fdll_Lua53="D:/Lua53/Lua53.dll"
local fdll_Lua54="D:/Lua54/Lua54.dll"
local nev="event"
local ev=nkevent.Create(nev,1);
local ts={}; ts[0]=0;
local pD="D:/QUIK_SCRIPT/" -- каталог скрипта
local pf="testTH.lua" -- имя и расширение файла скрипта
local pfT="testTT.lua" -- имя и расширение файла скрипта
local pfJ="testTJ.jit" -- имя и расширение файла скрипта
local pfX="testTX.lua" -- имя и расширение файла скрипта
--local sL1=nkvm.cSX(fdll_Lua54,pD,pfX);
local sL1=nkvm.cSJ(fdll_Luajit,pD,pfJ);
local sL1=nkvm.cST(fdll_Lua51,pD,pfT);
local sL1=nkvm.cSL(pD,pf); --создать state
--os.exit()
Про очереди к потокам... У Вас в документации есть хороший пример (но по-моему его мало кто смотрит) как организовать очередь вызовов main из колбеков Но у Вас всего один поток main для скрипта. В моем варианте число потоков любое, причем это не дочки, как у Вас, а самостоятельные потоки. Проблема дочек в том, что у них мало ресурсов и они блокируют глобальный стек основного потока VM Lua колбеков. ------------------- Создание очередей требует определенного уровня знаний пользователя. А ваши пользователи в основном чайники в программировании. Вот я и предлагаю облегчить им жизнь и реализовать механизм очередей в библиотеке QLUA, А можно и сразу встроить в шаблон скрипта.
nikolz написал: относительно разных версий VMLua.Полагаю из примера будет понятно как я это делаю . Это тест для создания VMLua в отдельном потоке :
Версии Lua 5.3 и 5.4 уже поддерживаются QUIK. По остальным языкам уже были заведены пожелания.
Цитата
nikolz написал: Про очереди к потокам...У Вас в документации есть хороший пример (но по-моему его мало кто смотрит) как организовать очередь вызовов main из колбековНо у Вас всего один поток main для скрипта.В моем варианте число потоков любое, причем это не дочки, как у Вас, а самостоятельные потоки. Проблема дочек в том, что у них мало ресурсов и они блокируют глобальный стек основного потока VM Lua колбеков.
Пожелание на поддержку очередей к потокам в библиотеке QLUA было зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.