<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Разрастается info.wnd от подписок в lua скрипте]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Разрастается info.wnd от подписок в lua скрипте форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 29 Apr 2026 04:22:39 +0300</pubDate>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39022/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я не специально. Сори <br />
			<i>23.07.2019 10:22:23, Женя Логинов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39022/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39022/topic4578/</guid>
			<pubDate>Tue, 23 Jul 2019 10:22:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39017/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_X3c9x6gZ" href="/user/1390/" bx-tooltip-user-id="1390">Женя Логинов</a>, <br />Просьба не дублировать одни и те же вопросы в разных ветках, от этого все равно никакого бонуса не будет. <br />
			<i>23.07.2019 05:53:12, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39017/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39017/topic4578/</guid>
			<pubDate>Tue, 23 Jul 2019 05:53:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39010/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://forum.quik.ru/messages/forum10/message38995/topic4649/#message38995" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message38995/topic4649/#message38995</a></noindex> <br />
			<i>22.07.2019 20:15:08, Женя Логинов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39010/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39010/topic4578/</guid>
			<pubDate>Mon, 22 Jul 2019 20:15:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39005/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br /><br />Евгений, можете выложить свой скрипт, мы проверим. <br />
			<i>22.07.2019 14:47:04, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39005/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39005/topic4578/</guid>
			<pubDate>Mon, 22 Jul 2019 14:47:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message38964/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Подскажите по onParam. Вчера припромотре файла ордеров по опционам заметил нечто странное. Скрипт по onParam проверяет класс и если класс - опционы, то запрашивает данные по цене и виду опциона, затем записывает строку в файл. В настройках самого квика подписан только на оционы- сбер си и золото. Так вот сама суть наблюдения: в периоды активного изменения данных файл строится по хролнологии, по столбцу времени все выглядит правильно, но потом появляются целые блоки, в которых видно что onParam, проходится в алфавитном порядке по опционам и записывает старые данные- это я понял по времени изменения котировки. Потом опять появляются данные с текущим временем, затем снова блок старых данных...могу прислать скрипт, настройки квика и файл с данными <br />
			<i>19.07.2019 09:27:11, Женя Логинов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message38964/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message38964/topic4578/</guid>
			<pubDate>Fri, 19 Jul 2019 09:27:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message38458/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br /><br />С данным вопросом необходимо разбираться. Просьба прислать на <noindex><a href="mailto:quiksupport@arqatech.com" target="_blank" rel="nofollow">quiksupport@arqatech.com</a></noindex> два файла info.wnd. Один до проблемы и второй после. Также сообщите версию рабочего места QUIK. <br />
			<i>18.06.2019 05:47:44, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message38458/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message38458/topic4578/</guid>
			<pubDate>Tue, 18 Jun 2019 05:47:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Разрастается info.wnd от подписок в lua скрипте</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message38416/topic4578/">Разрастается info.wnd от подписок в lua скрипте</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Возникает проблема приводящая к тому, что квик съедает максимум доступной ему оперативной памяти. Если закрыть квик, он дампит в файл info.wnd большое количество данных, которые он вычитывает при следующем запуске (из-за чего стартует долго) и загружает в память, из-за чего снова возникает проблема с недостатком памяти. Для ее устранения необходимо удалить info.wnd.<br /><br />Чтобы убедиться, что память потребляет именно квик а не скрипт написал пример, скрипт выводит раз в минуту информацию об использованной памяти:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>os.setlocale("")
local Server = require "modules.Server";
local Logger = require "modules.Logger";
local Utils&nbsp;&nbsp;= require "modules.Utils";
local Quik&nbsp;&nbsp; = require "modules.Quik";

local Logger = require "modules.Logger";
local Timer = require("modules.Timer")

local base&nbsp;&nbsp; = _G;
local math&nbsp;&nbsp; = math;
local string = string;
local timer = Timer:new()

local logger;
local worker = true



local function GetSecurities(class)
&nbsp;&nbsp;local sec_list = {}
&nbsp;&nbsp;local sec_str = getClassSecurities(class)
&nbsp;&nbsp;local sec_tab = {}
&nbsp;&nbsp;for security in sec_str:gmatch("&#91;^,&#93;+") do table.insert(sec_tab, security) end
&nbsp;&nbsp;for index, sec_code in pairs(sec_tab) do
&nbsp;&nbsp;&nbsp;&nbsp;info = getSecurityInfo (class, sec_code)
&nbsp;&nbsp;&nbsp;&nbsp;if info then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sec_list&#91;sec_code&#93; = {}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sec_list&#91;sec_code&#93;&#91;"class_code"&#93; = class
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sec_list&#91;sec_code&#93;&#91;"sec_code"&#93; = info&#91;"isin_code"&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sec_list&#91;sec_code&#93;&#91;"stock_code"&#93; = info&#91;"stock_code"&#93;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: debug('GetSecurities: Not receive info for '..sec_code..', '..class)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
&nbsp;&nbsp;return sec_list
end

local function quotesSubscribe(securities)
&nbsp;&nbsp;for sec, values in pairs(securities) do
&nbsp;&nbsp;&nbsp;&nbsp;if not Subscribe_Level_II_Quotes(values&#91;"class_code"&#93;, values&#91;"sec_code"&#93;) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: warn('quotesSubscribe: Failed subs for '..values&#91;"sec_code"&#93;..', class: '..values&#91;"class_code"&#93;)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
&nbsp;&nbsp;logger: info('quotesSubscribe: Subscribed')
end

local function paramsSubscribe(securities)
&nbsp;&nbsp;for sec_code, values in pairs(securities) do
&nbsp;&nbsp;&nbsp;&nbsp;if not ParamRequest(values&#91;"class_code"&#93;, values&#91;"sec_code"&#93;, "BID") then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: warn('paramsSubscribe: bid subs failed for '..values&#91;"sec_code"&#93;..', class: '..values&#91;"class_code"&#93;)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;if not ParamRequest(values&#91;"class_code"&#93;, values&#91;"sec_code"&#93;, "OFFER") then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: warn('paramsSubscribe: offer subs failed for '..values&#91;"sec_code"&#93;..', class: '..values&#91;"class_code"&#93;)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
&nbsp;&nbsp;logger: info('paramsSubscribe: Subscribed')
end;

function OnQuote(class_code, sec_code)
&nbsp;&nbsp;if class_code == "F" then
&nbsp;&nbsp;&nbsp;&nbsp;logger: debug('F')
&nbsp;&nbsp;end
end;

function OnParam(class_code, sec_code)
&nbsp;&nbsp;if class_code == "F" then
&nbsp;&nbsp;&nbsp;&nbsp;logger: debug('F')
&nbsp;&nbsp;end
end;

function OnInit()
&nbsp;&nbsp;local scriptPath = getScriptPath();
&nbsp;&nbsp;logger = Logger: new(scriptPath, "test.log", "testtg.log", dump);
end;

function OnStop()
&nbsp;&nbsp;&nbsp;worker = false
end;

function OnConnected()
&nbsp;&nbsp;worker = true
end;

function OnDisconnected()
&nbsp;&nbsp;worker = false
end;

function main()
&nbsp;&nbsp;local sec_list = GetSecurities("NYSE_BEST")
&nbsp;&nbsp;quotesSubscribe(sec_list)
&nbsp;&nbsp;paramsSubscribe(sec_list)
&nbsp;&nbsp;local sec_list = GetSecurities("NASDAQ_BEST")
&nbsp;&nbsp;quotesSubscribe(sec_list)
&nbsp;&nbsp;paramsSubscribe(sec_list)
&nbsp;&nbsp;timer:setInterval(60)
&nbsp;&nbsp;while worker do
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1)
&nbsp;&nbsp;&nbsp;&nbsp;if timer:isTimeout() then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: debug("Memory quik used: " .. math.ceil(getInfoParam("MEMORY") / 1024).. "M")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger: debug("Memory lua used: " .. math.ceil(collectgarbage("count") / 1024) .. "M")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer:setInterval(60)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end&nbsp;&nbsp;
end;</pre>
=============
</td></tr></tbody></table><br /><br />Пример вывода:<table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>2019-06-14 13:17:10.509 INFO&nbsp;&nbsp;quotesSubscribe: Subscribed
2019-06-14 13:17:13.225 INFO&nbsp;&nbsp;paramsSubscribe: Subscribed
2019-06-14 13:17:13.652 INFO&nbsp;&nbsp;quotesSubscribe: Subscribed
2019-06-14 13:17:14.632 INFO&nbsp;&nbsp;paramsSubscribe: Subscribed
2019-06-14 13:18:14.000 DEBUG Memory quik used: 307M
2019-06-14 13:18:14.000 DEBUG Memory lua used: 1M
2019-06-14 13:19:14.000 DEBUG Memory quik used: 308M
2019-06-14 13:19:14.000 DEBUG Memory lua used: 1M
2019-06-14 13:20:14.000 DEBUG Memory quik used: 310M
2019-06-14 13:20:14.000 DEBUG Memory lua used: 1M
2019-06-14 13:21:14.000 DEBUG Memory quik used: 312M
2019-06-14 13:21:14.000 DEBUG Memory lua used: 1M
2019-06-14 13:22:14.000 DEBUG Memory quik used: 315M
2019-06-14 13:22:14.000 DEBUG Memory lua used: 1M
...
2019-06-14 14:38:14.006 DEBUG Memory lua used: 1M
2019-06-14 14:39:14.000 DEBUG Memory quik used: 916M
2019-06-14 14:39:14.000 DEBUG Memory lua used: 1M
2019-06-14 14:40:14.000 DEBUG Memory quik used: 917M
2019-06-14 14:40:14.000 DEBUG Memory lua used: 1M
2019-06-14 14:41:14.000 DEBUG Memory quik used: 919M
2019-06-14 14:41:14.000 DEBUG Memory lua used: 1M
2019-06-14 14:42:14.000 DEBUG Memory quik used: 921M
2019-06-14 14:42:14.000 DEBUG Memory lua used: 1M
</pre>
=============
</td></tr></tbody></table><br />Как можно решить данную проблему без перезапуска квика и удаления info.wnd? Из-за чего образуется потребляется столько оперативной памяти? Как уменьшить можно потребление? <br />
			<i>14.06.2019 15:06:48, bazuce.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message38416/topic4578/</link>
			<guid>http://forum.quik.ru/messages/forum10/message38416/topic4578/</guid>
			<pubDate>Fri, 14 Jun 2019 15:06:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
