<?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, 02 May 2026 14:10:56 +0300</pubDate>
		<item>
			<title>Получить текущие биды и аски по всем инструментам из потока</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56344/topic6542/">Получить текущие биды и аски по всем инструментам из потока</a></b> <i>Как получить текущие котировки по всем инструментам, на которые подписан терминал, не дожидаясь OnQuote?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_kvq79mc4" href="/user/14991/" bx-tooltip-user-id="14991">kauyon1306</a> написал:<br />Спасибо. Натолкнулся на следующую проблему - даже после подписки Subscribe_Level_II_Quotes(class, sec) функция обратного вызова OnParam не срабатывает. В терминале отписался от всех потоков данных, чтобы вручную подписываться на них через скрипт. В чем может быть проблема.<br />=============<br />Так Subscribe_Level_II_Quotes это подписка на стакан, а OnParam колбек на изменения ТТТ.<br />Как бы совершенно разные вещи.<br /><br />OnInit() не стоит нагружать сильно, он же в основном потоке выполняется, подвесите quik такими издевательствами, лучше засунуть все в main()<br />Из квика вы не выдерните список инструментов с оформленной подпиской.<br />Определять его через OnQuote() весьма не надежно, если например инструмент малоликвидный, то можете и не дождаться колбека.<br />Правильнее в скрипте задать список нужных инструментов и из скрипта подписаться на них, вам <a class="blog-p-user-name" id="bp_CDcLK2BW" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> и подсказал целых 2 варианта<br /><br />1) Стакан<br />Подписка на стакан &nbsp;через Subscribe_Level_II_Quotes, ловить изменения стакана через OnQuote и получать значения getQuoteLevel2<br />2) Таблица текущих торгов<br />Подписка на параметры ТТТ через ParamRequest, ловить изменения ТТТ через OnParam и получать значения getParamEx<br /><br />Только не надо мешать все в кучу, выберите один из этих вариантов и реализуйте.<br /><br />PS: Через ТТТ будет и проще и надежней <br />
			<i>25.06.2021 14:42:01, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56344/topic6542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56344/topic6542/</guid>
			<pubDate>Fri, 25 Jun 2021 14:42:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить текущие биды и аски по всем инструментам из потока</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56341/topic6542/">Получить текущие биды и аски по всем инструментам из потока</a></b> <i>Как получить текущие котировки по всем инструментам, на которые подписан терминал, не дожидаясь OnQuote?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо. Натолкнулся на следующую проблему - даже после подписки Subscribe_Level_II_Quotes(class, sec) функция обратного вызова OnParam не срабатывает. В терминале отписался от всех потоков данных, чтобы вручную подписываться на них через скрипт. В чем может быть проблема. <br />
			<i>25.06.2021 13:35:02, kauyon1306.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56341/topic6542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56341/topic6542/</guid>
			<pubDate>Fri, 25 Jun 2021 13:35:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить текущие биды и аски по всем инструментам из потока</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56301/topic6542/">Получить текущие биды и аски по всем инструментам из потока</a></b> <i>Как получить текущие котировки по всем инструментам, на которые подписан терминал, не дожидаясь OnQuote?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DQjLPbQX" href="/user/14991/" bx-tooltip-user-id="14991">Филипп</a> написал:<br />Я хочу в OnInit() вызвать getQuoteLevel2 на все инструменты, на которые у меня оформлена подписка (т. е., на которые реагирует OnQuote()). Как это сделать? Не могу найти, как из lua получить список всех &quot;подписанных&quot; инструментов<br />=============<br />Добрый день.<br /><br />Заказать стаканы по всем инструментам можно, но если нужны только bid и offer, то лучше заказывать только эти параметры из ТТТ (таблицы текущих торгов)<br />Последовательность действий для заказа стаканов:<br />1) getClassesList() - получить все доступные классы<br />2) getClassSecurities(class_code) - получить для каждого класса список инструментов<br />3) Subscribe_Level_II_Quotes(class_code, sec_code) - подписаться для нужных инструментов на стакан<br />4) в OnQuote(class_code, sec_code) отлавливать изменения и получать из через getQuoteLevel2(class_code, sec_code)<br />- IsSubscribed_Level_II_Quotes() - позволяет проверить есть ли подписка на стакан по инструменту<br />- Unsubscribe_Level_II_Quotes() - позволяет отписаться от стакана<br />Максимальное кол-во стаканов у нас по умолчанию 200. <br /><br />Последовательность действий при заказе только bid и offer:<br />1) getClassesList() - получить все доступные классы<br />2) getClassSecurities(class_code) - получить для каждого класса список инструментов<br />3) для нужных инструментов делаем подписку<br />ParamRequest(class_code,sec_code, &#39;BID&#39;)<br />ParamRequest(class_code,sec_code, &#39;BIDDEPTH&#39;)<br />ParamRequest(class_code,sec_code, &#39;OFFER&#39;)<br />ParamRequest(class_code,sec_code, &#39;OFFERDEPTH&#39;)<br />4) в OnParam(class_code, sec_code) отлавливать изменения и получать их через getParamEx() значения<br />getParamEx(class_code,sec_code, &#39;BID&#39;)<br />getParamEx(class_code,sec_code, &#39;BIDDEPTH&#39;)<br />getParamEx(class_code,sec_code, &#39;OFFER&#39;)<br />getParamEx(class_code,sec_code, &#39;OFFERDEPTH&#39;)<br /><br />В этом случает придется при каждом вызове OnParam() проверять все интересующие параметры, т.к. у нас нет возможности понять какой из параметров изменился.<br />Для возможности управлять подписками на параметры должен быть включен &quot;Умный заказ&quot; в настройках терминала. <br />
			<i>23.06.2021 07:02:02, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56301/topic6542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56301/topic6542/</guid>
			<pubDate>Wed, 23 Jun 2021 07:02:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить текущие биды и аски по всем инструментам из потока</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56275/topic6542/">Получить текущие биды и аски по всем инструментам из потока</a></b> <i>Как получить текущие котировки по всем инструментам, на которые подписан терминал, не дожидаясь OnQuote?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я хочу в OnInit() вызвать getQuoteLevel2 на все инструменты, на которые у меня оформлена подписка (т. е., на которые реагирует OnQuote()). Как это сделать? Не могу найти, как из lua получить список всех &quot;подписанных&quot; инструментов <br />
			<i>21.06.2021 17:35:21, Филипп.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56275/topic6542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56275/topic6542/</guid>
			<pubDate>Mon, 21 Jun 2021 17:35:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
