Программирование скриптов

Страницы: 1
RSS
Программирование скриптов
 
Добрый день,
Реализовал для себя,
предлагаю реализовать в QUIK для все пользователей.
-----------------
1) Запуск  произвольного количества скриптов, каждый  в отдельном потоке.  
--------------------------
2)  Реализацию скриптов вне зависимости от версии Lua,
а также  на языках LuaJit,Terra, Julia.
-----------------------
3) Очереди к  потокам
-------------------------
4) Передача данных между скриптами.
 
 
Кстати, я как-то заметил, что если Квику задать сформировать отчёт по всем сделкам клиента (а их немного), то, пока он их 10 сек. формирует (Квик в это время слегка заблуривает окно), наблюдается потеря в получении скриптом обезличенных сделок и изменений в стакане (тоже на 10 сек.)

Необработанные сделки можно было бы ставить в очередь, чтобы потом отдать их скрипту?
Такое впечатление, что мой скрипт получения сделок и формирование отчёта Квиком не могут работать одновременно?
Квик не может использовать больше 2-х потоков? (Один для терминала и коллбэков, а другой для функции main)?
 
nikolz, здравствуйте!

Цитата
-----------------
1) Запуск  произвольного количества скриптов, каждый  в отдельном потоке.  
--------------------------
Цитата
а также  на языках LuaJit,Terra, Julia.
Цитата
Передача данных между скриптами.
Ваши пожелания по данным пунктам зарегистрированы. Мы постараемся рассмотреть их и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожеланий в будущих версиях ПО.

Цитата
Реализацию скриптов вне зависимости от версии Lua
К сожалению, регистрация пожелания с данной формулировкой невозможна. Уточните, возможно Вас интересует поддержка какой-то определённой версии языка?

Цитата
Очереди к  потокам
Уточните, пожалуйста, что Вы подразумеваете под очередями к потокам?
 
Цитата
Nikita Kalashnikov написал:
nikolz, здравствуйте!
Цитата
Реализацию скриптов вне зависимости от версии 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, здравствуйте!

Цитата
nikolz написал:
относительно разных версий VMLua.Полагаю из примера будет понятно как я это делаю . Это тест для создания VMLua в отдельном потоке :
Версии Lua 5.3 и 5.4 уже поддерживаются QUIK. По остальным языкам уже были заведены пожелания.

Цитата
nikolz написал:
Про очереди к потокам...У Вас в документации есть хороший пример (но по-моему его мало кто смотрит) как организовать очередь вызовов main из колбековНо у Вас всего один поток main для скрипта.В моем варианте число потоков любое, причем это не дочки, как у Вас, а самостоятельные потоки. Проблема дочек в том, что у них мало ресурсов и они блокируют глобальный стек основного потока VM Lua колбеков.
Пожелание на поддержку очередей к потокам в библиотеке QLUA было зарегистрировано.
Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Страницы: 1
Читают тему
Наверх