<?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, 04 Apr 2026 03:58:56 +0300</pubDate>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message77187/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Подскажите, правильно ли я понял, что CreateDataSource работает только в main() ? <br />
			<i>07.01.2025 13:45:08, Стас Золотарев.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message77187/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message77187/topic8766/</guid>
			<pubDate>Tue, 07 Jan 2025 13:45:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76995/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zCF1Xh9J" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a> написал:<br />В блоке MAIN у меня создается источник данных (ДС):ds&#91;&quot;NLMK&quot;&#93; = CreateDataSource(&quot;TQBR&quot;, &quot;NLMK&quot;, INTERVAL_D1)Далее мне нужно в функции обращаться к нему, но не напрямую, а присвоив его локальному дс:local dsf = ds&#91;&quot;NLMK&quot;&#93;, т.е. чтобы можно обращаться через dsf:C(i).<br />=============<br />В Lua, поведение относительно памяти зависит от того, является ли это совершенно новой таблицей или ссылкой на существующую таблицу.<br />1) Под новую таблицу, Lua выделит новую память. Предыдущая таблица, на которую ссылается пользователь, станет доступной для сборки мусора.<br /> Утечки памяти нет.<br />2) Если это ссылка (или псевдоним) на таблицу, которая уже существует в программе, то она просто укажет на эту существующую таблицу. <br />Для самой таблицы не выделяется новая память. <br />Тем не менее, предыдущая таблица, на которую ссылается пользователь, все равно будет удалена сборщиком мусора, если на нее больше не ссылаются нигде.<br />Короче говоря, в целом безопасен и эффективен. Сборка мусора Lua отвечает за управление памятью, предотвращая утечки памяти в большинстве случаев. <br />
			<i>05.12.2024 12:39:23, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76995/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76995/topic8766/</guid>
			<pubDate>Thu, 05 Dec 2024 12:39:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76993/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WPj38ah1" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a> написал:<br />не повлечет ли это за собой то, что терминал будет обновлять кучу копий<br /><br /> &nbsp;<br />=============<br />Не повлечет. Вы в своих функциях работаете всего лишь со ссылкой на первоначальный ds. <br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_QK951wEs" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a> написал:<br />И еще вопрос - после выполнения функции ее локальные переменные &quot;разинициализируются&quot; (обнуляются в памяти)?<br />=============<br />Память отведенная под переменные на которые больше нет ссылок со временем будет очищена сборщиком мусора.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_OWn5VDpP" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a> написал:<br />Также есть вопрос по параметру Interval в функции CreateDataSource. Его типа по документации &nbsp;Number, т.е. числовой, при этом он передается через константы, например INTERVAL_H1.А как его передать через переменную? &nbsp;<br />=============<br />Ну просто переменной присвойте значение константы. Для INTERVAL_H1 это вроде 60. <br />
			<i>04.12.2024 23:32:39, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76993/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76993/topic8766/</guid>
			<pubDate>Wed, 04 Dec 2024 23:32:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76991/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CA9wZEEI" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a> написал:<br />Вопрос: если так сделать, не повлечет ли это за собой то, что терминал будет обновлять кучу копий датасорсов<br />=============<br />Роберту Иерузалимски &quot;Программирование на языке Lua&quot;<br /><noindex><a href="https://articles.opexflow.com/wp-content/uploads/2022/02/lua.pdf" target="_blank" rel="nofollow">https://articles.opexflow.com/wp-content/uploads/2022/02/lua.pdf</a></noindex><br /><br />2.5. Таблицы (стр.36)<br />&quot;Вы &nbsp;можете рассматривать таблицу как динамически выделяемый объект; ваша программа работает только<br /> со ссылками (указателями) на них. &nbsp;Lua никогда не прибегает к скрытому копированию или созданию новых таблиц.&quot; <br />
			<i>04.12.2024 20:49:52, Ziveleos.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76991/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76991/topic8766/</guid>
			<pubDate>Wed, 04 Dec 2024 20:49:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76989/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Также есть вопрос по параметру Interval в функции CreateDataSource. Его типа по документации &nbsp;Number, т.е. числовой, при этом он передается через константы, например INTERVAL_H1.<br />А как его передать через переменную? &nbsp; <br />
			<i>04.12.2024 16:58:59, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76989/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76989/topic8766/</guid>
			<pubDate>Wed, 04 Dec 2024 16:58:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76988/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Отцы, помогите, пожалуйста, разобраться с еще одним ламерским вопросом.<br /><br />В блоке MAIN у меня создается источник данных (ДС):<br />ds&#91;&quot;NLMK&quot;&#93; = CreateDataSource(&quot;TQBR&quot;, &quot;NLMK&quot;, INTERVAL_D1)<br /><br />Далее мне нужно в функции обращаться к нему, но не напрямую, а присвоив его локальному дс:<br />local dsf = ds&#91;&quot;NLMK&quot;&#93;, т.е. чтобы можно обращаться через dsf:C(i).<br /><br />Вопрос: если так сделать, не повлечет ли это за собой то, что терминал будет обновлять кучу копий датасорсов (которые будут созданы в функциях) и это потребует ресурсов, трафика и т.п. Это и не требуется, достаточно чтобы обновлялся основной, а тот, что в функции берется для анализа исторических данных и после отработки функции он не нужен.<br />И еще вопрос - после выполнения функции ее локальные переменные &quot;разинициализируются&quot; (обнуляются в памяти)? Если так, то тогда и вопрос решается сам собой.<br /><br /> &nbsp; <br />
			<i>04.12.2024 12:42:17, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76988/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76988/topic8766/</guid>
			<pubDate>Wed, 04 Dec 2024 12:42:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76749/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вы просто выведите таблицу ds2 &nbsp;и посмотрите что получите. А там будут методы и служебная информация. &nbsp; Функции для получения значений по индексу и дополнительному параметру. Так что не хранит ничего кроме этих методов. Если Ваш код подписку не закрывает, то и пере подписываться не нужно. <br />
			<i>02.10.2024 15:56:52, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76749/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76749/topic8766/</guid>
			<pubDate>Wed, 02 Oct 2024 15:56:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76748/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не совсем понимаю с практической точки зрения, т.к. ds2 может и то, что Вы пишите, но и место хранения данных тоже, т.к. туда же пишутся заказанные данные и обращаясь к ds2 эти данные можно читать.<br />Вопрос связан с тем, что нужно ли повторно заказывать данные в ds2 если связь рвется, не закрывается ли при этом ds2, не рвется ли эта связь ds2 с сервером. <br />
			<i>02.10.2024 15:46:16, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76748/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76748/topic8766/</guid>
			<pubDate>Wed, 02 Oct 2024 15:46:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76747/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_n2x3XFw4" href="/user/16642/" bx-tooltip-user-id="16642">Acaw</a>, &nbsp;Вы поймите, ds2 это &nbsp;не место хранения данных, это таблица методов получения этих данных. ds2 = CreateDataSource(&quot;SPBFUT&quot;, &quot;RIU3&quot;, INTERVAL_M1) это подписка на получение данных по коду класса по коду тикера и определённому тайм фрейму. Сами данные на сервере и обновляются не зависимо от Вашего подключения. <br />
			<i>02.10.2024 15:38:26, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76747/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76747/topic8766/</guid>
			<pubDate>Wed, 02 Oct 2024 15:38:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76746/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тогда еще один вопрос, пожалуйста.<br /><br />Создан источник данных ds2 = CreateDataSource(&quot;SPBFUT&quot;, &quot;RIU3&quot;, INTERVAL_M1), данные получены, обновляются.<br />Через 10 минут происходит разрыв соединения.<br />Еще через 10 минут соединение восстанавливается.<br />Вопрос: данные в ds2 продолжат поступать или для этого нужно снова вызвать ds2 = CreateDataSource(&quot;SPBFUT&quot;, &quot;RIU3&quot;, INTERVAL_M1)? <br />
			<i>02.10.2024 13:24:04, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76746/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76746/topic8766/</guid>
			<pubDate>Wed, 02 Oct 2024 13:24:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76730/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я в 2021 году про SetEmptyCallback спрашивал<br />Эта функция не актуальна, CreateDataSource прекрасно работает и без нее<br />
====code====
<pre>ds2 = CreateDataSource("SPBFUT", "RIU3", INTERVAL_M1)</pre>
=============
вызывается один раз, после чего можно будет обращаться к ds2, там &nbsp;будут актуальные данные по свечам<br /><br />Веточку почитайте <noindex><a href="https://forum.quik.ru/forum10/topic6449/" target="_blank" rel="nofollow">https://forum.quik.ru/forum10/topic6449/</a></noindex><br />там и пример найдете <br />
			<i>30.09.2024 18:34:06, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76730/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76730/topic8766/</guid>
			<pubDate>Mon, 30 Sep 2024 18:34:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76726/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Забыл уточнить, 11 версия Quik <br />
			<i>30.09.2024 12:38:04, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76726/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76726/topic8766/</guid>
			<pubDate>Mon, 30 Sep 2024 12:38:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76725/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тогда все же вопрос разработчику с отсылкой к документации, которая размещена на сайте.<br />А именно речь про &nbsp;SetUpdateCallback, SetEmptyCallback, эти функции работают? Не знаю правильно ли понимаю, но понимаю так, что &nbsp; если эти функции работают, то однажды вызвав CreateDataSource он обновляется без его повторного вызова или это не так?<br /><br />Пример: после вызова ds2 = CreateDataSource(&quot;SPBFUT&quot;, &quot;RIU3&quot;, INTERVAL_M1) будет ли через минуту в ds2 новая свеча, через 5 минут 5 новых свечей или нет? Или чтобы они там появились надо снова выполнить вызов CreateDataSource? Или же эти методы обновляют только последнюю незакрытую свечу, которая уже оказалась в наборе с первым вызовом или вообще ничего не обновляется? <br />
			<i>30.09.2024 12:37:24, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76725/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76725/topic8766/</guid>
			<pubDate>Mon, 30 Sep 2024 12:37:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76686/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			СreateDataSource после создания сам обновляется.<br />Там была фича, что его сделали асинхронным, т.е. момент получения данных lua не контролирует, поэтому цикл ожидания лучше делать. <br />
			<i>25.09.2024 22:48:40, none.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76686/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76686/topic8766/</guid>
			<pubDate>Wed, 25 Sep 2024 22:48:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>И снова CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76684/topic8766/">И снова CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Заранее прошу прощения за вероятно избитую тему с CreateDataSource, но огромная просьба помочь разобраться новичку.<br /><br />Нужно в течении всего дня постоянно получать данные по свечам. Где-то раньше читал, что не требуется при этом повторно вызывать CreateDataSource, а можно просто обращаться к его функциям (т.е., ds:C(index)). <br />Или же все таки требуется? Или для того, чтобы не обращаться должен быть настроен какой-то колбек. Но пишут SetEmptyCallback уже бесполезен, SetUpdateCallback не работает с 2021 года. Т.е. нужно каждый раз в бесконечном цикле вызывать CreateDataSource? <br />Или все таки не нужно? А если бумаг будет 200? <br />
			<i>25.09.2024 17:00:44, Acaw.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76684/topic8766/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76684/topic8766/</guid>
			<pubDate>Wed, 25 Sep 2024 17:00:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
