<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Поиск инструмента по названию]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Поиск инструмента по названию форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 04 Apr 2026 06:04:44 +0300</pubDate>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57561/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_PwIkAfpd" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13469/" target="_blank" rel="nofollow">Виталий</a></noindex> написал:<br />Все заработало как следует - терминал перестал падать.<br />=============<br /> &nbsp; &nbsp;Вы в какой версии Quik работаете? &nbsp;При выкладывании ошибок надо указывать версию QUIK, в которой эта ошибка возникает.<br />=============<br />Думаю, уже неактуально. Причину выяснил. Это ascii кодировка некоторых данных в таблице getSecurityInfo и модуль json. Я добавил перекодировку в utf8 и все заработало стабильно и как следует. <br />
			<i>25.08.2021 12:59:18, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57561/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57561/topic6665/</guid>
			<pubDate>Wed, 25 Aug 2021 12:59:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57560/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nhdVttLm" href="/user/13469/" bx-tooltip-user-id="13469">Виталий</a> написал:<br />Все заработало как следует - терминал перестал падать.<br />=============<br /> &nbsp; Вы в какой версии Quik работаете? &nbsp;При выкладывании ошибок надо указывать версию QUIK, в которой эта ошибка возникает. <br />
			<i>25.08.2021 12:49:48, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57560/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57560/topic6665/</guid>
			<pubDate>Wed, 25 Aug 2021 12:49:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57559/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Убрал строку 
====code====
<pre>r&#91;"jstring"&#93; = json.encode(res)</pre>
=============
<br />Все заработало как следует - терминал перестал падать. <br />
			<i>25.08.2021 12:40:48, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57559/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57559/topic6665/</guid>
			<pubDate>Wed, 25 Aug 2021 12:40:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57558/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			UPD а вообще в любом месте падает и до получения данных и после...По разному. <br />
			<i>25.08.2021 12:05:22, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57558/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57558/topic6665/</guid>
			<pubDate>Wed, 25 Aug 2021 12:05:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57557/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_E26AKLu9" href="/user/47/" bx-tooltip-user-id="47"><noindex><a href="mailto:s_mike@rambler.ru" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex></a> написал:<br />Access violation - это проблема внешней библиотеки или неправильная работа &nbsp;с потоками qlua. Других вариантов не вилится<br />=============<br />Я переделал код, сократив количество запросов через getClassSecurities, и терминал начал падать именно на некоторых запросах getSecurityInfo. Причем разных и рандомно.<br />
====code====
<pre>function CustomGetSecurityInfo(msg)
&nbsp;&nbsp;&nbsp; local class_code = msg&#91;"class_code"&#93;
&nbsp;&nbsp;&nbsp; local sec_code = msg&#91;"code"&#93;
&nbsp;&nbsp;&nbsp; utils.dprint("Get info "..class_code.." "..sec_code)
&nbsp;&nbsp;&nbsp; local res = getSecurityInfo (class_code, sec_code)
&nbsp;&nbsp;&nbsp; utils.dprint("Got info")
&nbsp;&nbsp;&nbsp; local r = {}
&nbsp;&nbsp;&nbsp; r&#91;"jstring"&#93; = json.encode(res)
&nbsp;&nbsp;&nbsp; return r
end
</pre>
=============
В отладчике видно, что параметры правильные поступают, но терминал валится до появления строки &quot;Got Info&quot;<p>&#91;5504&#93; Get info PSAU RU000A0ZZXZ7</p><p>Терминал на этом месте падает. Причем на аналогичных предыдущих запросах функция возвращает необходимые данные. </p><p>Можно ли отсюда как-то разработчикам сообщить, или новую тему создавать надо?</p><p></p> <br />
			<i>25.08.2021 11:55:01, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57557/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57557/topic6665/</guid>
			<pubDate>Wed, 25 Aug 2021 11:55:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57531/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CSSbvNo5" href="/user/13469/" bx-tooltip-user-id="13469">Виталий</a> написал:<br />Необходимо каждый день находить код обновляемого инструмента. Из данных имеется только лишь его префикс от короткого имени. Обычно делается следующим кодом:<br /> 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; findSecurity ()
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;mdt&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;now&nbsp;&nbsp;=&nbsp;&nbsp; os.time ()
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;foundcode&nbsp;&nbsp;=&nbsp;&nbsp; "" 
&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; 0 , getNumberOf ( "SECURITIES" )&nbsp;&nbsp;-&nbsp;&nbsp; 1&nbsp;&nbsp; do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;row&nbsp;&nbsp;=&nbsp;&nbsp; getItem ( "SECURITIES" , i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (row.class_code&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp; "PSAU" )&nbsp;&nbsp;and&nbsp;&nbsp;( autolib.CheckAssetName (row.short_name)&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp; true )&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --message(row.short_name) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;info&nbsp;&nbsp;=&nbsp;&nbsp; getSecurityInfo (row.class_code, row.code)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;info ~ =&nbsp;&nbsp; nil&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;expdt&nbsp;&nbsp;=&nbsp;&nbsp;strDateToEpoch(info.mat_date)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --message(tostring(info) .. " " .. tostring(expdt) .. " " .. tostring(now)) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;expdt&nbsp;&nbsp;&#62;&nbsp;&nbsp;mdt&nbsp;&nbsp;and&nbsp;&nbsp;expdt&nbsp;&nbsp;&#62;&nbsp;&nbsp;now&nbsp;&nbsp;then&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mdt&nbsp;&nbsp;=&nbsp;&nbsp;info.mat_date
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foundcode&nbsp;&nbsp;=&nbsp;&nbsp;row.code
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --message(tostring(info.mat_date) ) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;foundcode ~ =&nbsp;&nbsp; ""&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autobuyerlib.LogU8 ( string.format ( "Найден инструмент %s" , foundcode))
&nbsp;&nbsp;&nbsp;&nbsp; end 
 end&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;</pre>
=============
 Проблема в том, что часто (процентов 20% случаев) запуск кода дает ошибку ACCESS VIOLATION. Есть ли иной способ решить задачу?<br />=============<br /><br />Проще надо быть, зачем такой огород городить то?<br />
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;local sec_list=getClassSecurities(class_code)
&nbsp;&nbsp;&nbsp;&nbsp;for test_sec_code in string.gmatch(sec_list,"("..pref.."&#91;^,&#93;+)") do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- в test_sec_code инструмент с нужным префиксом, далее ищите по mat_date нужный вам, мне лень писать
&nbsp;&nbsp;&nbsp;&nbsp;end</pre>
============= <br />
			<i>24.08.2021 16:59:05, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57531/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57531/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 16:59:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57527/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_H6QUcHEs" href="/user/47/" bx-tooltip-user-id="47"><noindex><a href="mailto:s_mike@rambler.ru" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex></a> написал:<br />Access violation - это проблема внешней библиотеки или неправильная работа &nbsp;с потоками qlua. Других вариантов не вилится<br />=============<br />Хорошо, тогда там попробую поискать. Спасибо. <br />
			<i>24.08.2021 16:01:08, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57527/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57527/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 16:01:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57526/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Access violation - это проблема внешней библиотеки или неправильная работа &nbsp;с потоками qlua. Других вариантов не вилится <br />
			<i>24.08.2021 15:52:00, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57526/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57526/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 15:52:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57524/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Скорее всего нет - там примитивная функция проверки строки на подстроку и ОБЫЧНО она работает как следует. Попробую через searchitems поискать. <br />
			<i>24.08.2021 15:41:23, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57524/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57524/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 15:41:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57523/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7pD29iTT" href="/user/13469/" bx-tooltip-user-id="13469">Виталий</a> написал:<br />autolib.CheckAssetName(row.short_name)<br />=============<br />Вероятнее всего проблема там <br />
			<i>24.08.2021 15:26:05, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57523/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57523/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 15:26:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск инструмента по названию</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57518/topic6665/">Поиск инструмента по названию</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Необходимо каждый день находить код обновляемого инструмента. Из данных имеется только лишь его префикс от короткого имени. Обычно делается следующим кодом:<br />
====code====
<pre>function findSecurity()
&nbsp;&nbsp;&nbsp;&nbsp;local mdt = 0
&nbsp;&nbsp;&nbsp;&nbsp;local now = os.time()
&nbsp;&nbsp;&nbsp;&nbsp;local foundcode = ""
&nbsp;&nbsp;&nbsp;&nbsp;for i = 0,getNumberOf("SECURITIES") - 1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local row = getItem("SECURITIES", i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(row.class_code == "PSAU") and (autolib.CheckAssetName(row.short_name) == true) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--message(row.short_name)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local info = getSecurityInfo(row.class_code, row.code)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if info ~= nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local expdt = strDateToEpoch(info.mat_date)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--message(tostring(info) .. " " .. tostring(expdt) .. " " .. tostring(now))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if expdt &#62; mdt and expdt &#62; now then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mdt = info.mat_date
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foundcode = row.code
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--message(tostring(info.mat_date) )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;if foundcode ~= "" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autobuyerlib.LogU8(string.format("Найден инструмент %s", foundcode))
&nbsp;&nbsp;&nbsp;&nbsp;end
end&nbsp;&nbsp; 
</pre>
=============
Проблема в том, что часто (процентов 20% случаев) запуск кода дает ошибку ACCESS VIOLATION. Есть ли иной способ решить задачу? <br />
			<i>24.08.2021 12:48:34, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57518/topic6665/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57518/topic6665/</guid>
			<pubDate>Tue, 24 Aug 2021 12:48:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
