<?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>Mon, 04 May 2026 08:31:25 +0300</pubDate>
		<item>
			<title>Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58421/topic6775/">Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_P47E6cfR" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15182/" target="_blank" rel="nofollow">Дмитрий</a></noindex> написал:<br />работает для инструмента Si-12.21 (SiZ1), но не работает для GOLD-12.21 (GDZ1)<br />=============<br /> У первого шаг цены 1, у второго 0.1, формат %d для целых чисел.<br />=============<br />Спасибо, помогла замена %d на %f, <br />
			<i>05.10.2021 23:29:15, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58421/topic6775/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58421/topic6775/</guid>
			<pubDate>Tue, 05 Oct 2021 23:29:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58420/topic6775/">Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_GhkIEr68" href="/user/15182/" bx-tooltip-user-id="15182">Дмитрий</a> написал:<br />работает для инструмента Si-12.21 (SiZ1), но не работает для GOLD-12.21 (GDZ1)<br />=============<br />У первого шаг цены 1, у второго 0.1, формат %d для целых чисел. <br />
			<i>05.10.2021 21:10:30, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58420/topic6775/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58420/topic6775/</guid>
			<pubDate>Tue, 05 Oct 2021 21:10:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58418/topic6775/">Не могу получить данные по некоторым фьючерсам функцией CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте.<br />Есть скрипт<br />
====code====
<pre>class_code = "SPBFUT"
--sec_code = "SiZ1"
sec_code = "GDZ1"

function main()
&nbsp;&nbsp;&nbsp;ds, error_desc = CreateDataSource(class_code, sec_code, INTERVAL_M5)
&nbsp;&nbsp;&nbsp;-- Ограничиваем количество попыток (времени) ожидания получения данных от сервера
&nbsp;&nbsp;&nbsp;local try_count = 0
&nbsp;&nbsp;&nbsp;-- Ждем пока не получим данные от сервера,
&nbsp;&nbsp;&nbsp;--&nbsp;&nbsp;&nbsp;либо пока не закончится время ожидания (количество попыток)
&nbsp;&nbsp;&nbsp;while ds:Size() == 0 and try_count &#60; 100 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try_count = try_count + 1
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;-- Если от сервера пришла ошибка, то выведем ее и прервем выполнение
&nbsp;&nbsp;&nbsp;if error_desc ~= nil and error_desc ~= "" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ошибка получения таблицы свечей:" .. error_desc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0
&nbsp;&nbsp;&nbsp;end

&nbsp;&nbsp;&nbsp;local index = 0
&nbsp;&nbsp;&nbsp;local str

&nbsp;&nbsp;&nbsp;while index &#60;= ds:Size()-1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = string.format("%d,%d,%d,%d",ds:O(index), ds:H(index), ds:L(index), ds:C(index))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index = index + 1
&nbsp;&nbsp;&nbsp;end
end

</pre>
=============
В котором я хочу получить значения OHLC для каждого бара через запятую (скрипт урезан, чтобы не загромождать код)<br />Скрипт работает для инструмента Si-12.21 (SiZ1), но не работает для GOLD-12.21 (GDZ1).<br /> Выдает ошибку:<br />bad argument #2 to &#39;format&#39; (number has no integer representation)<br />в строке str = string.format(......<br /><br />Пробовал на разных фьючерсах. На RTS и MOEX работает, а на SILV нет.<br /><br />В чём может быть проблема? Как мне получить значения для баров фьючерсов на золото?<br /><br />Кстати время для GDZ1 я получаю нормально. <br />str = string.format(&quot;%02d:%02d:%02d&quot;, ds:T(index).hour, ds:T(index).min, ds:T(index).sec)<br />Даёт правильное время<br /><br />Квик версии 8.13.1.16<br />Windows10 <br />
			<i>05.10.2021 19:08:52, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58418/topic6775/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58418/topic6775/</guid>
			<pubDate>Tue, 05 Oct 2021 19:08:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
