<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Предварительная проверка наличия в базе Quik инструмента (опциона)]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Предварительная проверка наличия в базе Quik инструмента (опциона) форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 22 Apr 2026 08:07:06 +0300</pubDate>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66180/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_y32RGuPo" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Кроме того, зависание возможно по причине некорректной обработки пустых строк в вашем приложении &nbsp;DDE<br />=============<br />так и есть, но с DDE в сервере там всё непросто - не пойми как сделано на базе библиотеки сторонней.<br />Экспорт такой таблицы по DDE &nbsp;просто даёт сбой сервера - сам квик не виснет.<br />Проблема не в этом - хотя <B>было бы логично автоматически исключать из таблиц quik исчезнувшие опционы</B>.<br /><br />Виснет Квик когда я для обхода этой проблемы - запускаю lua скрипт фильтрующий таблицу для передачи по DDE, ну и плюс всяких полезностей на lua добавил.<br />Работает всё это стабильно днями и сутками без тормозов, но в тот момент когда на сервере quik &quot;дохнут&quot; опционы (около 10 штук сразу обычно), то виснет сам Quik.<br />Возможно какое то сочетание множественности запросов:<br />Subscribe_Level_II_Quotes, getParamEx, getQuoteLevel2и момент обновление базы Quik с сервера - с исчезнувшими опционами. <br />
			<i>12.10.2022 18:20:55, Boris.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66180/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66180/topic7661/</guid>
			<pubDate>Wed, 12 Oct 2022 18:20:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66160/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xTd45Ien" href="/user/14896/" bx-tooltip-user-id="14896">Boris</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Т е читайте любой из указанных параметров и проверяйте его на вшивость.<br />=============<br /> я это пробовал задолго до того как тут на форуме вопрос задать.<br /><br />Проверял и на пустую строку и то что в значении число и что оно не nul <br />Но всё равно Quik намертво виснет.<br /><br />Вероятно он виснет не на этапе getParamEx, а ещё ранее и где именно - абсолютно непонятно.<br />Но происходит это точно в тот момент когда в Quik обновляются данные и появляются сдохнувшие опционы.<br />Памяти скрипт ест - 8-15мб - не более.<br /><br />Может какой то кэллбэк есть &quot;инструмент исключён из базы&quot; ??<br />=============<br />как я понял Вы используете вывод по dde.<br />Я тоже с ним работаю, но сервер у меня свой на СИ.<br />поэтому пару слов по особенностям этого вывода. Так как это может быть причиной зависания.<br />--------------<br />В документации по применению DDE в квик, есть указание (место не помню где, но действительно влияет на результата вывода) <br />что нельзя использовать фильтры в таблице если она выводится по DDE.<br />Поэтому для начала отключите все фильтры на выводимой по DDE таблице.<br />-------------<br />Кроме того, зависание возможно по причине некорректной обработки пустых строк в вашем приложении &nbsp;DDE<br />Примерно так. <br />
			<i>12.10.2022 09:51:00, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66160/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66160/topic7661/</guid>
			<pubDate>Wed, 12 Oct 2022 09:51:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66156/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_n5pH3YL9" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Т е читайте любой из указанных параметров и проверяйте его на вшивость.<br />=============<br />я это пробовал задолго до того как тут на форуме вопрос задать.<br /><br />Проверял и на пустую строку и то что в значении число и что оно не nul <br />Но всё равно Quik намертво виснет.<br /><br />Вероятно он виснет не на этапе getParamEx, а ещё ранее и где именно - абсолютно непонятно.<br />Но происходит это точно в тот момент когда в Quik обновляются данные и появляются сдохнувшие опционы.<br />Памяти скрипт ест - 8-15мб - не более.<br /><br />Может какой то кэллбэк есть &quot;инструмент исключён из базы&quot; ?? <br />
			<i>12.10.2022 08:58:12, Boris.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66156/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66156/topic7661/</guid>
			<pubDate>Wed, 12 Oct 2022 08:58:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66120/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gfRR8Wz6" href="/user/14896/" bx-tooltip-user-id="14896">Boris</a> написал:<br />Периодически сервера Quik перестают транслировать данные по некоторым опционам.<br />Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.<br />В какой то момент некоторые дальние опционы &quot;дохнут&quot; (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.<br /><br />Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:<br />Спрос &nbsp; &nbsp;Предл. &nbsp; &nbsp;Цена послед. &nbsp; &nbsp;Волатильность &nbsp; &nbsp;Теор. цена <br /><br />Вместо нулевых значений начинает отображаться пустое значение. <br /><br />Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.<br /><br />В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы<br /><br />В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)<br /><br />Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.<br />Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?<br /><br /><br />=============<br />Вы в своем вопросе написали ответ.<br />-----------------------<br /><B>Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:</B><br /><B>Спрос Предл. Цена послед. Волатильность Теор. цена</B><br /><br /><B>Вместо нулевых значений начинает отображаться пустое значение.</B><br />-----------------<br />вот это и нужно проверять.<br />Т е читайте любой из указанных параметров и проверяйте его на вшивость. <br />
			<i>10.10.2022 19:11:34, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66120/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66120/topic7661/</guid>
			<pubDate>Mon, 10 Oct 2022 19:11:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66086/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я бы проверку на корректность возвращаемых значений сделал посерьезнее<br />попробуйте вместо<br />
====code====
<pre>&nbsp;&nbsp; if(ther_price_hz.result == "1") then
</pre>
=============
примерно так<br />
====code====
<pre>&nbsp;&nbsp; if(ther_price_hz.result=="1")and(ther_price_hz.param_image~="")and(ther_price_hz.param_type=="1")then
</pre>
============= <br />
			<i>07.10.2022 10:37:39, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66086/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66086/topic7661/</guid>
			<pubDate>Fri, 07 Oct 2022 10:37:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Предварительная проверка наличия в базе Quik инструмента (опциона)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66057/topic7661/">Предварительная проверка наличия в базе Quik инструмента (опциона)</a></b> <i>Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Периодически сервера Quik перестают транслировать данные по некоторым опционам.<br />Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.<br />В какой то момент некоторые дальние опционы &quot;дохнут&quot; (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.<br /><br />Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:<br />Спрос &nbsp; &nbsp;Предл. &nbsp; &nbsp;Цена послед. &nbsp; &nbsp;Волатильность &nbsp; &nbsp;Теор. цена <br /><br />Вместо нулевых значений начинает отображаться пустое значение. <br /><br />Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.<br /><br />В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы<br /><br />В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)<br /><br />Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.<br />Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?<br /><br />
====code====
<pre>function Quotes(code)
local ther_price_hz = getParamEx(class_code, code, "THEORPRICE")
&nbsp;&nbsp; if(ther_price_hz.result == "1") then
&nbsp;&nbsp; local ther_price = tonumber(ther_price_hz.param_value)
&nbsp;&nbsp; 
-- ....
end
end</pre>
============= <br />
			<i>05.10.2022 12:03:19, Boris.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66057/topic7661/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66057/topic7661/</guid>
			<pubDate>Wed, 05 Oct 2022 12:03:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
