<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Получить архив котировок без открытия графика]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Получить архив котировок без открытия графика форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 15 Apr 2026 13:50:17 +0300</pubDate>
		<item>
			<title>Получить архив котировок без открытия графика</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message36497/topic4288/">Получить архив котировок без открытия графика</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Bm5ojKqu" href="/user/12898/" bx-tooltip-user-id="12898">нет</a> написал:<br />что не так в коде?<br />=============<br />надо добавить подписку на колбек, через функцию SetUpdateCallback или SetEmptyCallback<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_QbIDTwsg" href="/user/12898/" bx-tooltip-user-id="12898">нет</a> написал:<br />где можно посмотреть список кодов, например, TQBR<br />=============<br />список кодов чего?<br />если классов то его вернет функция getClassesList<br />если инструментов то функция getClassSecurities <br />
			<i>20.02.2019 10:20:27, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message36497/topic4288/</link>
			<guid>http://forum.quik.ru/messages/forum10/message36497/topic4288/</guid>
			<pubDate>Wed, 20 Feb 2019 10:20:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить архив котировок без открытия графика</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message36483/topic4288/">Получить архив котировок без открытия графика</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день. <br />Использую следующий код (просто скопировал из документации и поменял кода и акцию в CreateDataSource), но ничего не работает. <br />Уточню, что данные пытаюсь получить без открытия данных. <br /><br />У меня несколько вопросов:<br /><ul><li>что не так в коде?<br /><li>где можно посмотреть список кодов, например, TQBR<br /></ul>
====code====
<pre>-- ѕример получени¤ первой свечи текущего дн¤
function main()
&nbsp;&nbsp;&nbsp;-- —оздаем таблицу со всеми свечами нужного интервала, класса и кода
&nbsp;&nbsp;&nbsp;ds, error_desc = CreateDataSource("TQBR", "FDX", INTERVAL_H1)
&nbsp;&nbsp;&nbsp;-- ќграничиваем количество попыток (времени) ожидани¤ получени¤ данных от сервера
&nbsp;&nbsp;&nbsp;local try_count = 0
&nbsp;&nbsp;&nbsp;
&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 ds:Size() == 0 or error_desc ~= nil and error_desc ~= "" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("ќшибка получени¤ таблицы свечей:")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;-- “екущий день мес¤ца (1 - 31)
&nbsp;&nbsp;&nbsp;local today_day = tonumber(os.date("%d"))
&nbsp;&nbsp;&nbsp;-- “екуща¤ свеча (с которой начинаем поиск)
&nbsp;&nbsp;&nbsp;local current_candle = ds:Size()
&nbsp;&nbsp;&nbsp;-- ћаксимальное количество свечей дл¤ поиска
&nbsp;&nbsp;&nbsp;--&nbsp;&nbsp;&nbsp;не может быть больше чем общее количество свечей в таблице
&nbsp;&nbsp;&nbsp;local max_candles = math.min(1000, ds:Size())
&nbsp;&nbsp;&nbsp;-- »ндекс первой свечи текущего дн¤
&nbsp;&nbsp;&nbsp;local first_candle_index = nil
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;-- ÷икл пока не нашли первую свечу дн¤ либо не проверили
&nbsp;&nbsp;&nbsp;--&nbsp;&nbsp;&nbsp;максимальное количество свечей
&nbsp;&nbsp;&nbsp;while first_candle_index == nil and current_candle &#62; ds:Size() - max_candles do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- ≈сли день текущей свечи не совпадает с текущим днем
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if tonumber(ds:T(current_candle).day) ~= today_day then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- “огда индекс искомой свечи
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first_candle_index = current_candle - 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ќайден индекс: " .. tostring(first_candle_index))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current_candle = current_candle - 1
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;-- ≈сли индекс был найден
&nbsp;&nbsp;&nbsp;if first_candle_index ~= nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("ѕерва¤ свеча дн¤:")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;индекс: " .. tostring(current_candle))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;врем¤: " .. tostring(ds:T(current_candle).hour) .. ":" .. tostring(ds:T(current_candle).min) .. ":" .. tostring(ds:T(current_candle).sec))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("ѕоследн¤¤ свеча предыдущего дн¤:")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;индекс: " .. tostring(current_candle - 1))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;врем¤: " .. tostring(ds:T(current_candle - 1).hour) .. ":" .. tostring(ds:T(current_candle - 1).min) .. ":" .. tostring(ds:T(current_candle - 1).sec))
&nbsp;&nbsp;&nbsp;-- ≈сли индекс найти не удалось
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("ѕерва¤ свеча дн¤ не найдена. Ќе достаточно свечей дл¤ поиска (" .. tostring(ds:Size()) .. ").")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("—ама¤ дальн¤¤ свеча:")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;индекс: " .. tostring(1))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;врем¤: " .. tostring(ds:T(1).hour) .. ":" .. tostring(ds:T(1).min) .. ":" .. tostring(ds:T(1).sec))
&nbsp;&nbsp;&nbsp;end
end
</pre>
============= <br />
			<i>19.02.2019 21:16:19, нет.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message36483/topic4288/</link>
			<guid>http://forum.quik.ru/messages/forum10/message36483/topic4288/</guid>
			<pubDate>Tue, 19 Feb 2019 21:16:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
