<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15 форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 11 Apr 2026 09:24:46 +0300</pubDate>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message62381/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Мда... большая текучка кадров в Арке... <br />
			<i>28.02.2022 16:06:40, Roffild.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message62381/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message62381/topic7101/</guid>
			<pubDate>Mon, 28 Feb 2022 16:06:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message62380/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rmQsvQi1" href="/user/15427/" bx-tooltip-user-id="15427">Сергей</a> написал:<br />Разработчики терминала, вы планируете исправление бага?<br />=============<br />Добрый день,<br /><p>Описанная в данном обращении проблема будет устранена в одной из очередных версий ПО. Приносим извинения за причиненные неудобства.</p> <br />
			<i>28.02.2022 13:08:16, Roman Mural.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message62380/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message62380/topic7101/</guid>
			<pubDate>Mon, 28 Feb 2022 13:08:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61650/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Agjz8w3b" href="/user/15427/" bx-tooltip-user-id="15427">Сергей</a> написал:<br />Здравствуйте!<br />Заметил что на указанной версии не работает повторная подписка на обновления свечей через CreateDataSource + SetUpdateCallback<br />Брокер ВТБ<br />Ниже код для воспроизведения.<br />Выполняеем подписку на свечи SiH2, ожидаем получения 10 обновлений, затем отписываемся, и через небольшую паузу снова подписываемся.<br />В первый раз свечи приходят.<br />Во второй раз никаких вызовов коллбэка не происходит.<br /><br /><br />Я что-то не так делаю?<br />Это известный баг? <br />Есть способы обхода?<br />Уже исправлено в какой-то версии?<br /><br /> 
====code====
<pre>&nbsp;&nbsp;run&nbsp;&nbsp;=&nbsp;&nbsp; true 
ds&nbsp;&nbsp;=&nbsp;&nbsp; nil 
datacounter&nbsp;&nbsp;=&nbsp;&nbsp; 0 
recreatecounter&nbsp;&nbsp;=&nbsp;&nbsp; 0 

 --&#60;BODY 
 message ( "started." )
 --BODY&#62; 

 function&nbsp;&nbsp; OnStop ()
&nbsp;&nbsp; run&nbsp;&nbsp;=&nbsp;&nbsp; false 
 end 

 function&nbsp;&nbsp; main ()
&nbsp;&nbsp; createds()
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;&nbsp;run&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep ( 1000 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message ( "running" )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;recreatecounter&nbsp;&nbsp;&#62;&nbsp;&nbsp;=&nbsp;&nbsp; 1&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; recreatecounter&nbsp;&nbsp;=&nbsp;&nbsp;recreatecounter&nbsp;&nbsp;+&nbsp;&nbsp; 1 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;recreatecounter&nbsp;&nbsp;&#62;&nbsp;&nbsp;=&nbsp;&nbsp; 3&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recreatecounter&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;createds()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 

 function&nbsp;&nbsp; createds ()
&nbsp;&nbsp;&nbsp;&nbsp;message ( "creating ds" )
&nbsp;&nbsp; datacounter&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp; ds, err&nbsp;&nbsp;=&nbsp;&nbsp; CreateDataSource ( "SPBFUT" ,&nbsp;&nbsp;"SiH2" , INTERVAL_M5)
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;err ~ =&nbsp;&nbsp; ""&nbsp;&nbsp; and&nbsp;&nbsp;err ~ =&nbsp;&nbsp; nil&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message ( "CreateDataSource error: "&nbsp;&nbsp;.. err)
&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;message ( "CreateDataSource OK" )
&nbsp;&nbsp; ds: SetUpdateCallback (mycb)
 end 

 function&nbsp;&nbsp; mycb (index)
&nbsp;&nbsp;&nbsp;&nbsp;message ( 'got data: idx='&nbsp;&nbsp; ..&nbsp;&nbsp;index&nbsp;&nbsp;..&nbsp;&nbsp; ", close="&nbsp;&nbsp; ..&nbsp;&nbsp;ds:C(index));

&nbsp;&nbsp; datacounter&nbsp;&nbsp;=&nbsp;&nbsp;datacounter&nbsp;&nbsp;+&nbsp;&nbsp; 1 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;datacounter&nbsp;&nbsp;&#62;&nbsp;&nbsp;=&nbsp;&nbsp; 10&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message ( 'closing' );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds: Close ()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds&nbsp;&nbsp;=&nbsp;&nbsp; nil 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recreatecounter&nbsp;&nbsp;=&nbsp;&nbsp; 1 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 

&nbsp;&nbsp;</pre>
=============
 <br />=============<br /><br />Здравствуйте! <br /> Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ. <br />
			<i>01.02.2022 06:24:26, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61650/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61650/topic7101/</guid>
			<pubDate>Tue, 01 Feb 2022 06:24:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61489/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Разработчики терминала, вы планируете исправление бага? <br />
			<i>24.01.2022 13:54:06, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61489/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61489/topic7101/</guid>
			<pubDate>Mon, 24 Jan 2022 13:54:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61467/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_YWyRqwXp" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a>, <br />====quote====<br />Вопрос целесообразности подписки на колбек.<br /><br />=============<br />Ответ: целесообразно. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br /><br />1. За получение цены сделки внутри бара полагается расстрел на месте.<br />2. Коллбеки при работе со свечами нужны ТОЛЬКО для того, чтобы даже не &quot;узнавать, что пришёл новый бар&quot;, а получить его сразу по приходу (аналогичная задача у коллбека OnTrade).<br />3. За расчёт свечей на клиенте по ТОС см. пункт первый.<br />4. Заменить эту японскую гадость на нормальные свечи, которые имеют только ОДНО значение, рассчитываемое из тиков по формуле:<br />V=(N1*P1+N2*P2+...+Ni*Pi)/(N1+N2+...+Ni)<br />В этом случае сюда органично впишутся и объёмы, повышая достоверность информации, а не замыливая её.<br />5. Всё это я описал для случая нормальной организации, а то, что есть, лучше всего отправить оптом на помойку. <br />
			<i>22.01.2022 13:25:15, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61467/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61467/topic7101/</guid>
			<pubDate>Sat, 22 Jan 2022 13:25:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61466/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_72l1gkhN" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />Оно даже на баг не похоже, а больше похоже на защиту от желающих задудосить сервер.<br />=============<br />Да нет, сам датасорс обновляется,, но колбек действительно не вызывается. <br />
			<i>22.01.2022 09:47:51, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61466/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61466/topic7101/</guid>
			<pubDate>Sat, 22 Jan 2022 09:47:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61465/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вопрос целесообразности подписки на колбек.<br />Если - это необходимо для получения цены сделки внутри бара, то это не лучшая идея, т.к. этот колбек медленный и будут пропуски.А если это для того, чтобы узнать, что пришел новый бар, то не проще ли запомнить прошлый Size и сравнить с новым. Когда придет тогда и делать что-то. А так колбек будет дергаться много раз, ради одного события. <br />
			<i>22.01.2022 09:39:34, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61465/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61465/topic7101/</guid>
			<pubDate>Sat, 22 Jan 2022 09:39:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61464/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_fG6gYpxc" href="/user/15427/" bx-tooltip-user-id="15427">Сергей</a> написал:<br />способы обхода<br />=============<br />Когда временно не нужны данные, можно на датасорце вызвать SetEmptyCallback, когда снова понадобились - SetUpdateCallback. Датасорец оставлять до закрытия скрипта или до когда уже точно больше не понадобится. Оно даже на баг не похоже, а больше похоже на защиту от желающих задудосить сервер. <br />
			<i>22.01.2022 00:23:02, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61464/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61464/topic7101/</guid>
			<pubDate>Sat, 22 Jan 2022 00:23:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message61459/topic7101/">Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте!<br />Заметил что на указанной версии не работает повторная подписка на обновления свечей через CreateDataSource + SetUpdateCallback<br />Брокер ВТБ<br />Ниже код для воспроизведения.<br />Выполняеем подписку на свечи SiH2, ожидаем получения 10 обновлений, затем отписываемся, и через небольшую паузу снова подписываемся.<br />В первый раз свечи приходят.<br />Во второй раз никаких вызовов коллбэка не происходит.<br /><br /><br />Я что-то не так делаю?<br />Это известный баг? <br />Есть способы обхода?<br />Уже исправлено в какой-то версии?<br /><br />
====code====
<pre>run = true
ds = nil
datacounter = 0
recreatecounter = 0

--&#60;BODY
message("started.")
--BODY&#62;

function OnStop()
&nbsp;&nbsp;&nbsp;run = false
end

function main()
&nbsp;&nbsp;&nbsp;createds()
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("running")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if recreatecounter &#62;= 1 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recreatecounter = recreatecounter + 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if recreatecounter &#62;= 3 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recreatecounter = 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;createds()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
end

function createds()
&nbsp;&nbsp;&nbsp;message("creating ds")
&nbsp;&nbsp;&nbsp;datacounter = 0
&nbsp;&nbsp;&nbsp;ds, err = CreateDataSource("SPBFUT", "SiH2", INTERVAL_M5)
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;if err ~= "" and err ~= nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("CreateDataSource error: "..err)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;message("CreateDataSource OK")
&nbsp;&nbsp;&nbsp;ds:SetUpdateCallback(mycb)
end

function mycb(index)
&nbsp;&nbsp;&nbsp;message('got data: idx=' .. index .. ", close=" .. ds:C(index));

&nbsp;&nbsp;&nbsp;datacounter = datacounter + 1
&nbsp;&nbsp;&nbsp;if datacounter &#62;= 10 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message('closing');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:Close()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds = nil
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recreatecounter = 1
&nbsp;&nbsp;&nbsp;end
end

</pre>
============= <br />
			<i>21.01.2022 16:41:50, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message61459/topic7101/</link>
			<guid>http://forum.quik.ru/messages/forum10/message61459/topic7101/</guid>
			<pubDate>Fri, 21 Jan 2022 16:41:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
