<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Проблема при вызове getParamEx внутри OnParam]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Проблема при вызове getParamEx внутри OnParam форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 20 Apr 2026 12:46:30 +0300</pubDate>
		<item>
			<title>Проблема при вызове getParamEx внутри OnParam</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78567/topic9129/">Проблема при вызове getParamEx внутри OnParam</a></b> <i>getParamEx внутри OnParam не возвращает значения</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Полагаю следующее:<br />Если onParam вызван по факту получения нового &quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;,<br /> то это новое значение будет помещено в таблицу после &nbsp;выхода из onParam. &nbsp;<br />-----------------------------<br /> Поэтому getParamEx(&quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;) &nbsp;вернет это значение лишь после выхода из &nbsp;onParam.<br />---------------------------<br />Надо читать новые параметры в main, а не в колбеке. <br />
			<i>23.04.2025 15:20:23, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78567/topic9129/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78567/topic9129/</guid>
			<pubDate>Wed, 23 Apr 2025 15:20:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема при вызове getParamEx внутри OnParam</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78566/topic9129/">Проблема при вызове getParamEx внутри OnParam</a></b> <i>getParamEx внутри OnParam не возвращает значения</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_MV2FZq7f" href="/user/16878/" bx-tooltip-user-id="16878">Анатолий Савицкий</a>, здравствуйте!<br /><br />Для анализа ошибки, просьба предоставить отрывок кода, где вызываете функцию getParamEx внутри OnParam, или будет лучше если весь скрипт целиком.<br />Если переживаете за распространение вашего кода, можете отправить код письмом нам в поддержку по адресу <noindex><a href="mailto:quiksupport@arqatech.com" target="_blank" rel="nofollow">quiksupport@arqatech.com</a></noindex> и указать, что пришли с форума. <br />
			<i>23.04.2025 13:34:06, Ivan Sizykh.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78566/topic9129/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78566/topic9129/</guid>
			<pubDate>Wed, 23 Apr 2025 13:34:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема при вызове getParamEx внутри OnParam</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78499/topic9129/">Проблема при вызове getParamEx внутри OnParam</a></b> <i>getParamEx внутри OnParam не возвращает значения</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<p>Я реализую в терминале QUIK автоматический экспорт рыночных данных (например, параметров LAST, BID, OFFER) по акциям, используя QLua-скрипт. В процессе столкнулся с проблемой, которую не удаётся решить по документации. Ниже подробно описываю поведение.</p><ol><li><p>Polling через getParamEx работает, но полностью замораживает интерфейс QUIK</p></ol><p>Простой тестовый скрипт, который вызывает getParamEx(&quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;) в цикле с паузой (sleep(1000)), возвращает корректные значения (result = 1, param_value = 295.670000 и т. п.). Однако в момент выполнения такого скрипта всё окно QUIK зависает — не обновляются таблицы, котировки, стакан, кнопки не реагируют. После остановки скрипта (иногда принудительно) терминал снова начинает работать.</p><p>В документации указано, что Lua-скрипты работают в основном потоке QUIK (раздел 2.2, стр. 11), и, соответственно, любой длительный цикл (даже с паузой) блокирует не только выполнение скрипта, но и интерфейс терминала.</p><ol><li><p>Использование OnParam без цикла не блокирует QUIK, но getParamEx внутри OnParam не возвращает значения</p></ol><p>Я настроил подписку через ParamRequest(&quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;), и функция OnParam(class_code, sec_code) действительно вызывается при изменении параметра. Однако внутри OnParam, при вызове getParamEx(&quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;), функция возвращает result = 0 или param_value = &quot;&quot;, несмотря на то, что параметр реально изменился и отображается в QUIK.</p><p>При этом, если ту же функцию вызывать вне колбэка, она возвращает правильное значение.</p><ol><li><p>Мой вопрос: как правильно получать значение параметра в момент вызова OnParam?</p></ol><p>Судя по документации (раздел 2.2.18, стр. 17), OnParam вызывается по факту изменения параметра, но не указано, можно ли в этот момент гарантированно получить новое значение через getParamEx.</p><p>Предполагаю, что OnParam может вызываться до того, как внутренние данные становятся доступны, и поэтому getParamEx не возвращает актуальное значение. Либо существует другой способ получения данных в этом контексте.</p><p>Что я уже проверил:</p><ul><li><p>Параметры &quot;TQBR&quot;, &quot;SBER&quot;, &quot;LAST&quot;, &quot;BID&quot;, &quot;OFFER&quot; указаны верно. Подписка работает.</p><li><p>Polling-скрипты возвращают корректные данные.</p><li><p>Проблема возникает только при вызове getParamEx внутри OnParam.</p></ul><p>Прошу уточнить:</p><ol><li><p>Поддерживается ли вызов getParamEx внутри OnParam, или это поведение недопустимо?</p><li><p>Если недопустимо — как правильно получить значение параметра в момент вызова OnParam?</p><li><p>Если допустимо — есть ли особые условия или рекомендации по таймингу (например, отложенный вызов через таймер)?</p></ol><p>Буду благодарен за любые разъяснения или рабочий пример.</p> <br />
			<i>14.04.2025 21:50:34, Анатолий Савицкий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78499/topic9129/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78499/topic9129/</guid>
			<pubDate>Mon, 14 Apr 2025 21:50:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
