<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Функция CreateDataSource никогда не возвращает ошибку]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Функция CreateDataSource никогда не возвращает ошибку форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:29:07 +0300</pubDate>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70062/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_e4412sEz" href="/user/16011/" bx-tooltip-user-id="16011">paluke</a> написал:<br />Брокер же получает данные с биржи. Я не знаю, как оно там внутри устроено, но вполне возможно, что если вы первый клиент, подписывающийся на какой-то инструмент, то именно в этот момент и будет отправлен запрос на биржу. А вот есть ли в биржевых протоколах (plaza, fix/fast) возможность узнать, придут ли вообще данные?<br />=============<br />Объясняю как там устроено.<br />----------------------<br />Биржа рассылает общую информацию периодически в &nbsp;широковещательном режиме. <br />Все профи ее получают вне зависимости от вашего подписания. <br />Когда Вы подписываетесь,<br /> то Вас включат в список рассылок на сервере брокера &nbsp;QUIK ( разработчики QUIK поправят, им виднее). <br />
			<i>22.06.2023 11:05:09, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70062/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70062/topic2397/</guid>
			<pubDate>Thu, 22 Jun 2023 11:05:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70061/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не нужны никакие таймауты. Надо просто работать по событиям. По приходу данных - свечей, сделок, котировок, ... <br />
			<i>22.06.2023 08:19:20, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70061/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70061/topic2397/</guid>
			<pubDate>Thu, 22 Jun 2023 08:19:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70060/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Брокер же получает данные с биржи. Я не знаю, как оно там внутри устроено, но вполне возможно, что если вы первый клиент, подписывающийся на какой-то инструмент, то именно в этот момент и будет отправлен запрос на биржу. А вот есть ли в биржевых протоколах (plaza, fix/fast) возможность узнать, придут ли вообще данные? <br />
			<i>22.06.2023 08:16:25, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70060/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70060/topic2397/</guid>
			<pubDate>Thu, 22 Jun 2023 08:16:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70048/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Решили ли проблему, когда CreateDataSource() тупо молчит, если в данном &quot;классе-инструменте-интервале&quot; на сервере нет данных? Или всё таки возвращает какой-то признак отсутствия данных? <br />
			<i>20.06.2023 15:52:23, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70048/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70048/topic2397/</guid>
			<pubDate>Tue, 20 Jun 2023 15:52:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63715/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CKDb1kFZ" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />и еще...<br />Если Вы в таблицу текущих торгов &nbsp;установите <br />все доступные классы &nbsp;и все инструменты и все параметры<br />то вы все доступные инструменты получите в &nbsp;колбеке &nbsp;onParam. &nbsp; &nbsp; &nbsp;<br />=============<br /> Колбэк возникает тогда, когда поступают данные с сервера брокера. Если по инструменту брокер отмалчивается -колбэка не будет. Мне кажется вы не понимаете сути проблемы с молчанием сервера вместо отказа, и так или иначе предлагаете варианты с таймаутом. Тем не менее, благодарю за помощь, ещё раз убедился, что поддержка не зря признала проблему и обещала решение &quot;когда-нибудь&quot;.<br />=============<br />Не понял про какой тайм-аут Вы говорите.<br />--------------- <br />Я определяю доступные инструменты при запуске квика (скрипта).<br />Нет никакого тайм-аута.<br />Но возможно вас не понял. <br /> &nbsp; <br />
			<i>14.06.2022 11:46:21, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63715/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63715/topic2397/</guid>
			<pubDate>Tue, 14 Jun 2022 11:46:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63711/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_6NUnFXuv" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />и еще...<br />Если Вы в таблицу текущих торгов &nbsp;установите <br />все доступные классы &nbsp;и все инструменты и все параметры<br />то вы все доступные инструменты получите в &nbsp;колбеке &nbsp;onParam. &nbsp; &nbsp; &nbsp;<br />=============<br />Колбэк возникает тогда, когда поступают данные с сервера брокера. Если по инструменту брокер отмалчивается -колбэка не будет. Мне кажется вы не понимаете сути проблемы с молчанием сервера вместо отказа, и так или иначе предлагаете варианты с таймаутом. Тем не менее, благодарю за помощь, ещё раз убедился, что поддержка не зря признала проблему и обещала решение &quot;когда-нибудь&quot;. <br />
			<i>14.06.2022 09:57:40, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63711/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63711/topic2397/</guid>
			<pubDate>Tue, 14 Jun 2022 09:57:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63710/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			и еще...<br />Если Вы в таблицу текущих торгов &nbsp;установите <br />все доступные классы &nbsp;и все инструменты и все параметры<br />то вы все доступные инструменты получите в<B> колбеке &nbsp;onParam. </B><B> &nbsp;</B> <br />
			<i>14.06.2022 09:39:22, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63710/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63710/topic2397/</guid>
			<pubDate>Tue, 14 Jun 2022 09:39:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63708/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_eag1lXfN" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Вы не сможете выбрать больше, чем указано справа в строчках &quot;Классов доступно&quot; &quot;Инструментов доступно&quot; &quot;Параметров доступно&quot;<br />=============<br /> Если создавать, к примеру, &quot;таблицу текущих торгов&quot; и нажать кнопки &quot;добавить всё&quot;(все доступные инструменты и доступные параметры) - то создаётся таблица со всеми ~10 тыс инструментами и параметрами. Т.е. получается выбрать всё. &nbsp;Все классы и все инструменты. Как и в функциях getClassesList() и getClassSecurities(). <br /><br />Другое дело, что таблица постепенно будет заполняться тем, на что сервер брокера не &quot;отмалчивается&quot;.<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Кроме этого, инструмент может не торговаться, т е он будет в списках, но по нему не будет изменяющейся текущей информации.Это тоже можно проверять.<br />=============<br /> К сожалению, это не &quot;проверка&quot;, а такое же ожидание по таймауту. &nbsp;А вообще ,надеялся, что подскажете способ программно проверить доступность информации, а не вручную ,через создание и менеджмент окон. <br /><br />А так, пока не вижу разницы... похоже, при создании ТТТ на 10 тыс инструментов терминал подписывается на всё, а там уж какая информация придёт и заполнит соотв. строки. А почему пустая строка - пусть смотрит и думает пользователь.<br />=============<br />я проверяю программно.<br />-------------------<br />Разница есть, копайте глубже.<br />--------------------<br />В зависимости от начальных данных, алгоритм может отличаться .<br />-------------------------<br />То, что программно можно, сто пудов.<br />------------------<br />Не понимаю, зачем Вам 10 тысяч инструментов. &nbsp; <br />
			<i>14.06.2022 09:34:21, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63708/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63708/topic2397/</guid>
			<pubDate>Tue, 14 Jun 2022 09:34:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63704/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ELNpzikl" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Вы не сможете выбрать больше, чем указано справа в строчках &quot;Классов доступно&quot; &quot;Инструментов доступно&quot; &quot;Параметров доступно&quot;<br />=============<br />Если создавать, к примеру, &quot;таблицу текущих торгов&quot; и нажать кнопки &quot;добавить всё&quot;(все доступные инструменты и доступные параметры) - то создаётся таблица со всеми ~10 тыс инструментами и параметрами. Т.е. получается выбрать всё. &nbsp;Все классы и все инструменты. Как и в функциях getClassesList() и getClassSecurities(). <br /><br />Другое дело, что таблица постепенно будет заполняться тем, на что сервер брокера не &quot;отмалчивается&quot;.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_lIg3fZB8" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Кроме этого, инструмент может не торговаться, т е он будет в списках, но по нему не будет изменяющейся текущей информации.Это тоже можно проверять.<br />=============<br />К сожалению, это не &quot;проверка&quot;, а такое же ожидание по таймауту. &nbsp;А вообще ,надеялся, что подскажете способ программно проверить доступность информации, а не вручную ,через создание и менеджмент окон. <br /><br />А так, пока не вижу разницы... похоже, при создании ТТТ на 10 тыс инструментов терминал подписывается на всё, а там уж какая информация придёт и заполнит соотв. строки. А почему пустая строка - пусть смотрит и думает пользователь. <br />
			<i>13.06.2022 10:39:38, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63704/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63704/topic2397/</guid>
			<pubDate>Mon, 13 Jun 2022 10:39:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63703/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_mP2R1oTw" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br /> <br />====quote====<br />Да классов много и инструментов много.<br />Но не все доступны конкретному пользователю.<br />Функция CreateDataSource() &nbsp;не предназначена для обнаружения запрещенных для Вас классов и инструментов.<br />=============<br /> На мой взгляд (и опыт) функция, которая так или иначе &quot;обещает перезвонить&quot;, должна это делать, если сделана корректно и дружелюбно к пользователю.<br />Хотя бы потому что заранее неизвестно, по какой причине нет ответа. Запрещены какие-то классы или какие-то другие причины. Если запрещена - так и надо отвечать.<br /><br /><br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />я так и делаю. Если подписка возможно и нужна, то подписываюсь.<br />=============<br /> <br />И как вы это делаете? Как проверяете, что подписка возможна?<br />=============<br />Очень просто. Объясняю:<br />Когда квик соединяется с сервером , то с сервера приходят списки классов, число параметров и инструментов в классах и списки этих инструментов и параметров.<br />Все это Вы видите в терминале, когда выбираете принимаемые параметры и инструменты. <br />--------------------<br />Вы не сможете выбрать больше, чем указано справа в строчках &quot;Классов доступно&quot; &quot;Инструментов доступно&quot; &quot;Параметров доступно&quot; &nbsp;<br />------------------- &nbsp;<br />вся эта информация содержится в доступных в скриптах таблицах Классы,Инструменты . <br />Для корректного выполнения торговых операций в скриптах &nbsp;еще надо учитывать таблицы Фирмы Торговые счета и Коды клиентов. Но сейчас не об этом.<br />-----------------------<br />Резюме:<br />В квике Вы имеете список всех возможных классов.<br />Но те классы, к которым у Вас нед доступа будут пустые по инструментам,а недоступные инструменты будут пустые по параметрам.<br />Вот это вы и должны проверить перед тем, &nbsp;как на них подписываться.<br />------------------<br />Кроме этого, инструмент может не торговаться, т е он будет в списках, но по нему не будет изменяющейся текущей информации.<br />Это тоже можно проверять.<br />--------------<br />примерно так. <br />
			<i>13.06.2022 06:58:47, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63703/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63703/topic2397/</guid>
			<pubDate>Mon, 13 Jun 2022 06:58:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63697/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Да классов много и инструментов много.<br />Но не все доступны конкретному пользователю.<br />Функция CreateDataSource() &nbsp;не предназначена для обнаружения запрещенных для Вас классов и инструментов.<br /><br />=============<br />На мой взгляд (и опыт) функция, которая так или иначе &quot;обещает перезвонить&quot;, должна это делать, если сделана корректно и дружелюбно к пользователю.<br />Хотя бы потому что заранее неизвестно, по какой причине нет ответа. Запрещены какие-то классы или какие-то другие причины. Если запрещена - так и надо отвечать.<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_fIFjcgAI" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />я так и делаю. Если подписка возможно и нужна, то подписываюсь.<br />=============<br /><br />И как вы это делаете? Как проверяете, что подписка возможна? <br />
			<i>12.06.2022 20:03:00, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63697/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63697/topic2397/</guid>
			<pubDate>Sun, 12 Jun 2022 20:03:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63694/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0FgKPZ7y" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />DDE - это способ обмена данными между приложениями . По-существу это клиент-серверный обмен внутри компьютера.<br />=============<br /> Да, собственно это и имел ввиду в своём сообщении. Знаю, как в принципе работает DDE. Но буду использовать, если не будет более удобного способа. <br /><br /><br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Например, в квике DDE это практически единственный &nbsp; разумный способ получить доску опционов или всю таблицу текущих торгов .<br />=============<br /> Для реализации своих замыслов, я написал DLL , запускаемую скриптом с парой строк. Всё остальное делается через мою DLL и моё приложение (запускаются функции квика, луа и прочее. Но вот CreateDataSource() работает некорректно, из-за чего и возникла эта тема. Печально удивился 5-летней тишине после обещаний довести функцию до ума. <br /><br /><br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Непонятно, как это - данных нет на сервере, а Вы их запрашиваете. <br />=============<br /> В API квика есть функции получения классов инструментов и списка инструментов в каждом классе. Всего примерно тысяч 10. Но отзываются - примерно половина. Остальные - молчат. Естественно, что в ТТТ и прочих таблицах отображаются те, для которых данные всё-таки поступили, и только по ним можно что-то передать в стороннее приложение по DDE или ODBC. А вот по половине &quot;молчащих&quot; инструментов - совершенно неясно, почему они молчат. То ли период не тот и надо подождать ,то ли данных в принципе нет и не будет. Но всё это заканчивается замедлением работы программы ,вынужденной опрашивать и ждать таймаутов. :(<br />=============<br />Да классов много и инструментов много.<br />Но не все доступны конкретному пользователю.<br />------------------ &nbsp;<br />Функция CreateDataSource() &nbsp;не предназначена для обнаружения запрещенных для Вас классов и инструментов.<br />Это все можно выявить до того как подписываться.<br />я так и делаю. Если подписка возможно и нужна, то подписываюсь.<br />проблем не испытываю.<br />--------------------- &nbsp;<br />Могу рекомендовать сначала проверить есть ли в желаемом вами классе доступные инструменты а потом подписываться. <br />
			<i>12.06.2022 18:08:14, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63694/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63694/topic2397/</guid>
			<pubDate>Sun, 12 Jun 2022 18:08:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63690/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_AOR8RVDM" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />DDE - это способ обмена данными между приложениями . По-существу это клиент-серверный обмен внутри компьютера.<br />=============<br />Да, собственно это и имел ввиду в своём сообщении. Знаю, как в принципе работает DDE. Но буду использовать, если не будет более удобного способа. <br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_hpYmMWVS" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Например, в квике DDE это практически единственный &nbsp; разумный способ получить доску опционов или всю таблицу текущих торгов .<br />=============<br />Для реализации своих замыслов, я написал DLL , запускаемую скриптом с парой строк. Всё остальное делается через мою DLL и моё приложение (запускаются функции квика, луа и прочее. Но вот CreateDataSource() работает некорректно, из-за чего и возникла эта тема. Печально удивился 5-летней тишине после обещаний довести функцию до ума. <br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_lGpGsJFN" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Непонятно, как это - данных нет на сервере, а Вы их запрашиваете. <br />=============<br />В API квика есть функции получения классов инструментов и списка инструментов в каждом классе. Всего примерно тысяч 10. Но отзываются - примерно половина. Остальные - молчат. Естественно, что в ТТТ и прочих таблицах отображаются те, для которых данные всё-таки поступили, и только по ним можно что-то передать в стороннее приложение по DDE или ODBC. А вот по половине &quot;молчащих&quot; инструментов - совершенно неясно, почему они молчат. То ли период не тот и надо подождать ,то ли данных в принципе нет и не будет. Но всё это заканчивается замедлением работы программы ,вынужденной опрашивать и ждать таймаутов. :( <br />
			<i>12.06.2022 15:26:09, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63690/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63690/topic2397/</guid>
			<pubDate>Sun, 12 Jun 2022 15:26:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63687/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			поправляю.<br />DDE &nbsp;и CreateDataSource() совершенно разное.<br />DDE - это способ обмена данными между приложениями . По-существу это клиент-серверный обмен внутри компьютера.<br />В квике этот способ обмена реализован для получения данных из любых таблиц терминала.<br />Например, в квике DDE это практически единственный &nbsp; разумный способ получить доску опционов или всю таблицу текущих торгов .<br />----------------------------<br /> CreateDataSource() &nbsp;- это функция явного запроса (подписки) на данные с сервера брокера.<br />Если эти данные есть в какой-либо таблице или на графике, то очевидно что они уже подписаны для получения. <br />-------------------------<br />Сомневаюсь, что Вы не будете смотреть те данные, на которые подпишитесь.<br />следовательно, после первого &nbsp;отображения и сохранения квика, они в следующий раз автоматом начнут загружаться. <br />----------------------- &nbsp;<br />Непонятно, как это - данных нет на сервере, а Вы их запрашиваете. <br />Вы что их сами придумываете? &nbsp; <br />
			<i>12.06.2022 13:41:04, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63687/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63687/topic2397/</guid>
			<pubDate>Sun, 12 Jun 2022 13:41:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63684/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_yRSuLgeB" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Если используете колбек, то данные получаете поэлементно. <br />-------------------------<br />Если используете DDE, то данные приходят блоками по 16384 элемента.<br />----------------------<br />Обнаружить наличие данных можно &nbsp;на первом же блоке.<br />-------------------------<br />Время приема одного элемента по DDE &nbsp;не более 10 мкс.<br />-----------------------<br />Время приема блока данных 16384 не более 0.1 секунды.<br />--------------------- <br />Зачем ждать годами, вместо того, чтобы изучить СИ и сделать &nbsp;то, что хотите.<br />---------------------------------<br />&quot;Без труда не бывает не ... я.&quot;<br />=============<br />Я недавно познакомился с LUA и QUIK. Поправьте меня, если не прав. Но, насколько успел разобраться, DDE - это просто интерфейс получения данных, которые уже существуют локально, в терминале. Во всех функциях они всегда предварительно запрашиваются. А CreateDataSource() - наиболее &quot;близкая&quot; функция к источнику данных на сервере. Она позволяет получать данные, которых нет в уже существующих настройках, таблицах или данных. Всё остальное - &quot;обёртки&quot; к внутренним подпискам терминала, включая DDE.Через DDE доступно то, что уже доступно терминалу и локальные данные существуют. Проблема возникает когда запрашиваемых данных по инструменту нет не только локально, но и на сервере. &nbsp;И вместо какого-либо извещения об этом - просто глухая тишина, которую неизвестно как интерпретировать, а только отбивать по таймауту. <br />
			<i>11.06.2022 18:35:10, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63684/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63684/topic2397/</guid>
			<pubDate>Sat, 11 Jun 2022 18:35:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63683/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_HuM8t28r" href="/user/15077/" bx-tooltip-user-id="15077">Daniil Pozdnyakov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15643/" target="_blank" rel="nofollow">Variable</a></noindex> написал:<br />Здравствуйте! Прошло 5 лет. Скажите пожалуйста, появились ли функции, позволяющие определять что данных по инструменту нет и ответа от CreateDataSource() не будет? Чтобы не ждать на каждый запрос по 20-30 секунд?<br />=============<br /> Здравствуйте.<br /><br />На текущий момент функционал не реализован. Когда будет, в данной ветке форума появится соответствующее сообщение с номером версии терминала.<br />=============<br />В современном мире попросить подождать 5 лет, а потом ещё 5 лет - это значит &quot;никогда&quot;. :( <br />
			<i>11.06.2022 18:20:06, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63683/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63683/topic2397/</guid>
			<pubDate>Sat, 11 Jun 2022 18:20:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63525/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если используете колбек, то данные получаете поэлементно. <br />-------------------------<br />Если используете DDE, то данные приходят блоками по 16384 элемента.<br />----------------------<br />Обнаружить наличие данных можно &nbsp;на первом же блоке.<br />-------------------------<br />Время приема одного элемента по DDE &nbsp;не более 10 мкс.<br />-----------------------<br />Время приема блока данных 16384 не более 0.1 секунды.<br />--------------------- <br />Зачем ждать годами, вместо того, чтобы изучить СИ и сделать &nbsp;то, что хотите.<br />---------------------------------<br />&quot;Без труда не бывает не ... я.&quot; <br />
			<i>04.06.2022 06:47:05, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63525/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63525/topic2397/</guid>
			<pubDate>Sat, 04 Jun 2022 06:47:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63522/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_oiispouF" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br />Здравствуйте! Прошло 5 лет. Скажите пожалуйста, появились ли функции, позволяющие определять что данных по инструменту нет и ответа от CreateDataSource() не будет? Чтобы не ждать на каждый запрос по 20-30 секунд?<br /><br />=============<br />Здравствуйте.<br /><br />На текущий момент функционал не реализован. Когда будет, в данной ветке форума появится соответствующее сообщение с номером версии терминала. <br />
			<i>03.06.2022 18:26:55, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63522/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63522/topic2397/</guid>
			<pubDate>Fri, 03 Jun 2022 18:26:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63499/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_udiVCUtk" href="/user/15643/" bx-tooltip-user-id="15643">Variable</a> написал:<br />Здравствуйте! Прошло 5 лет. Скажите пожалуйста, появились ли функции, позволяющие определять что данных по инструменту нет и ответа от CreateDataSource() не будет? Чтобы не ждать на каждый запрос по 20-30 секунд?<br />=============<br />Стоит ли ждать ответа? <br />
			<i>02.06.2022 12:15:26, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63499/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63499/topic2397/</guid>
			<pubDate>Thu, 02 Jun 2022 12:15:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message63478/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте! Прошло 5 лет. Скажите пожалуйста, появились ли функции, позволяющие определять что данных по инструменту нет и ответа от CreateDataSource() не будет? Чтобы не ждать на каждый запрос по 20-30 секунд? <br />
			<i>01.06.2022 11:30:26, Variable.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message63478/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message63478/topic2397/</guid>
			<pubDate>Wed, 01 Jun 2022 11:30:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22935/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_eW74RuPQ" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Это уже ваше дело, как реализовывать. Главное, чтобы можно было однозначно понять, стоит ли ждать чарта по бумаге или нет.<br />=============<br /> &nbsp; &nbsp; Добрый день, <br /><br /> &nbsp; &nbsp; Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, &nbsp; &nbsp; что реализация пожелания признана потенциально целесообразной. Если &nbsp; &nbsp; по результатам дальнейшего анализа, включающего юридические аспекты, &nbsp; &nbsp; анализ на непротиворечивость с общей политикой компании, никаких &nbsp; &nbsp; возражений не возникнет, мы постараемся включить Ваше пожелание в &nbsp; &nbsp; план доработок при выпуске одной из следующих версий нашего ПО. <br />
			<i>06.03.2017 15:03:32, Stanislav Tvorogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22935/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22935/topic2397/</guid>
			<pubDate>Mon, 06 Mar 2017 15:03:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22614/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО. <br />
			<i>20.02.2017 09:50:21, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22614/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22614/topic2397/</guid>
			<pubDate>Mon, 20 Feb 2017 09:50:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22611/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_3S8UmDsQ" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если и делать что-то подобное, то вне ds, отдельной функцией, например через транзакции, тогда возможно исключить терминал.<br />В таком контексте устоит?<br />=============<br />Если синтаксически это должно быть оформлено каком-то другим способом (например, отдельной функцией) мы смиренно примем любой вариант.<br />Лишь бы этот способ существовал в принципе.<br />С другой стороны, если уже будет реализовано любое решение данной задачи, то становится снова неясно, почему эту функцию нельзя сделать<br />доступной через объект DataSource?..<br /><br />Ещё раз повторю: сейчас вынужден <B>для каждого инструмента </B>ждать не менее 10 секунд, проверяя, что <B>ds:Size() == 0 </B>прежде чем прийти к выводу,<br />что данных <B>нет вообще</B>.<br />Если речь идет о массовой работе с малоликвидными инструментами (например, с опционами) это будет выливаться в минуты и даже в десятки минут<br />бессмысленного и беспощпдного ожидания. <br />
			<i>20.02.2017 09:43:16, Антон Кыт..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22611/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22611/topic2397/</guid>
			<pubDate>Mon, 20 Feb 2017 09:43:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22607/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dX38CIAb" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Вы предлагаете по сути заказывать информацию, не заказывая информацию. Так нельзя.<br />Если заказали информацию, то получили ее размер (через Size), если не заказали то ничего не получили.<br />=============<br />Вы не правы. Я предлагаю возвращать корректную информацию. Если информацию с сервера не получили, то её размер не определён (nil).<br />Проблема как раз в том, что в текущем виде ноль невозможно интерпретировать должным образом.<br />В данном случае устроило бы решение в виде возврата честного нуля, тогда и только тогда, когда точно известно, что по бумаге нет сделок. Если сервер ещё ничего не прислал, то Size должен возвращать nil.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_NvshSABJ" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если и делать что-то подобное, то вне ds, отдельной функцией, например через транзакции, тогда возможно исключить терминал.<br /><br />=============<br />Это уже ваше дело, как реализовывать. Главное, чтобы можно было однозначно понять, стоит ли ждать чарта по бумаге или нет. <br />
			<i>20.02.2017 09:18:50, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22607/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22607/topic2397/</guid>
			<pubDate>Mon, 20 Feb 2017 09:18:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22601/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если и делать что-то подобное, то вне ds, отдельной функцией, например через транзакции, тогда возможно исключить терминал.<br />В таком контексте устоит? <br />
			<i>20.02.2017 04:51:11, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22601/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22601/topic2397/</guid>
			<pubDate>Mon, 20 Feb 2017 04:51:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22600/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_g6tdKAY2" href="/user/54/" bx-tooltip-user-id="54">Старатель</a>, <br /><br />Вы предлагаете по сути заказывать информацию, не заказывая информацию. Так нельзя.<br />Если заказали информацию, то получили ее размер (через Size), если не заказали то ничего не получили. <br />
			<i>20.02.2017 04:50:09, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22600/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22600/topic2397/</guid>
			<pubDate>Mon, 20 Feb 2017 04:50:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22584/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_45gH5UXS" href="/user/1980/" bx-tooltip-user-id="1980">Антон Кыт.</a> написал:<br />всем пользователям QuikLUA был бы полезен метод датасорса ds:ServerSize()<br />Его смысл в том, чтобы сразу узнать сколько всего баров данного таймфрейма имеется на сервере истории<br />=============<br /><br />Почему это пожелание проигнорировано?<br />Поддерживаю его. Возможные возвращаемые значения:<br />натуральное число - количество свечей <B>на сервере</B> истории;<br />0 - история по заказанному инструменту <B>на сервере</B> отсутствует;<br />nil - информация о количестве свечей <B>на сервере</B> ещё не доступна.<br /><br />Т.о., если использование цикла ожидания
====code====
<pre>while ds:Size() == 0 then</pre>
=============
небезопасно и может привести к бесконечному ожиданию, то цикл
====code====
<pre>while ds:ServerSize() == nil then</pre>
=============
в этом смысле безопасен. <br />
			<i>19.02.2017 13:19:52, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22584/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22584/topic2397/</guid>
			<pubDate>Sun, 19 Feb 2017 13:19:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message21256/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZQVwFTcH" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />при чем тут :size<br /><br />поискать инструмент, получить его параметры(размер лота)<br />будет понятно - существует ли он вообще<br />=============<br /><br />И вот зачем все эти танцы с бубнами? Делать после каждого CreateDataSource лишний вызов getParamEx?<br />Тем более, если всё так просто, то функция должна сразу вернуть признак ошибки и мгновенно завершиться.<br /><br />И второе. Говорю не только про инструменты, которых нет в природе.<br />Говорю также про инструменты, которые в природе есть, но по ним по какой-то объективной причине <B>вообще нет данных</B>.<br /><br />Яркий пример опционы. Допустим, Вам нужно подписаться на все опционы для RIH7 и запросить по ним данные.<br />Это примерно 500-900 тикеров в сумме.<br />Большая часть опционов не имеет ни одного трейда за всю историю.<br /><br />Но чтобы в этом убедиться -- нужно подписываться на барную историю и ждать несколько секунд, чтобы убедиться<br />в том, что больше ничего не пришлют. Да и то это рискованное решение на самом деле.<br /><br />Как ещё один вариант, в момент создания датасорса сразу присылать по нему признак <B>ds:ServerHasCandles()</B><br />как признак того, что по инструменту в момент подписки уже есть хоть один бар (<B>НА СЕРВЕРЕ ИСТОРИИ!</B>). <br />
			<i>21.12.2016 17:51:09, Антон Кыт..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message21256/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message21256/topic2397/</guid>
			<pubDate>Wed, 21 Dec 2016 17:51:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message21252/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_w0AmUV5P" href="/user/1980/" bx-tooltip-user-id="1980">Антон Кыт.</a> написал:<br /><br />====quote====<br /> swerg &nbsp; написал:<br />Может запросить информацию по инструменту?<br />Если его нет - то не будет и информации.<br />=============<br />Ещё раз говорю: мы создаём датасорс. Если ds:Size() == 0 -- это ещё не значит, что в нем данных.<br />Это легко означает, что эти данные просто &nbsp;ещё не докачались .<br />Если по какой-то причине это важно, то приходится засекать время и хотя бы <br /><br />=============<br />при чем тут :size<br /><br />поискать инструмент, получить его параметры(размер лота)<br />будет понятно - существует ли он вообще <br />
			<i>21.12.2016 17:30:10, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message21252/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message21252/topic2397/</guid>
			<pubDate>Wed, 21 Dec 2016 17:30:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Функция CreateDataSource никогда не возвращает ошибку</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message21245/topic2397/">Функция CreateDataSource никогда не возвращает ошибку</a></b> <i>И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: &quot;Всё отлично&quot;.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Антон Кыт. написал:<br />Хорошо, зарегистрируйте пожалуйста доработки<br /> - &quot;Проверка существования бумаги в классе&quot;<br /> - &quot;Проверка указания правильного интервала&quot; (В данный момент можно без проблем заказать интервал &quot;17&quot;)<br /><br />Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.<br /><br />=============<br />Добрый день, <br /><br /> &nbsp; &nbsp; Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, &nbsp; &nbsp; что реализация пожелания признана потенциально целесообразной. Если &nbsp; &nbsp; по результатам дальнейшего анализа, включающего юридические аспекты, &nbsp; &nbsp; анализ на непротиворечивость с общей политикой компании, никаких &nbsp; &nbsp; возражений не возникнет, мы постараемся включить Ваше пожелание в &nbsp; &nbsp; план доработок при выпуске одной из следующих версий нашего ПО. <br />
			<i>21.12.2016 15:21:53, Stanislav Tvorogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message21245/topic2397/</link>
			<guid>http://forum.quik.ru/messages/forum10/message21245/topic2397/</guid>
			<pubDate>Wed, 21 Dec 2016 15:21:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
