<?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>Thu, 14 May 2026 20:44:38 +0300</pubDate>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7137/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZulQ3k1L" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Контекстное меню графика - "Параметры текущего окна" - появится окно "Настройка параметров диаграммы" - вкладка "Диаграмма" - " Показывать графики" есть пункт "выбрать с" - можно выбрать на определённый день, но только до 18:45<br /><br />=============<br />Там можно выбрать любое время. Это поле редактируемое.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_usuY47Lm" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br /><br />====quote====<br /> Старатель пишет: <br />есть настройка Intra-day, где указывается нужное время.<br /><br />=============<br />Видимо, это может подойти тем, кто каждый день будет сохранять историю после 23:49 . Приятного им времяпрепровождения.<br /><br />=============<br />Сохранять историю с помощью getCandlesByIndex, изменяя каждый раз дату-время графика в настройках, - в любом случае не самое приятное времяпрепровождение &nbsp; :D &nbsp;<br />Проще сохранять историю с помощью CreateDataSource: написал скрипт, запустил один раз и забыл. Остальное он сам сделает. <br />
			<i>18.07.2015 16:35:56, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7137/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7137/topic727/</guid>
			<pubDate>Sat, 18 Jul 2015 16:35:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7135/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_mehBhmQI" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Интересно, кто прав?<br /><br />=============<br />Я думал, что Вы сравниваете количество свечей на двух графиках Сбера между собой, а потом с графиком Si. <br />
			<i>18.07.2015 14:28:07, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7135/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7135/topic727/</guid>
			<pubDate>Sat, 18 Jul 2015 14:28:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7134/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_irXU5tQ1" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />Совершенно верно<br /><br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_3ozNbpUi" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />В обоих случаях должно возвращаться одинаковое число свечей. Если это не так, - ищите ошибку у себя.<br /><br />=============<br />Интересно, кто прав? &nbsp;:) &nbsp;<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_5lCCX9Bd" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />В настройках графика нет пункта "отображать данные за один день", но есть настройка Intra-day, где указывается нужное время.<br /><br />=============<br />Хотел вставить скриншот, но сценарий страницы глючит, даже браузер "не отвечает". На словах объясню.<br />Можете без ЭЦП и без подключения к серверу Квик запустить - там ищите.<br />Контекстное меню графика - "Параметры текущего окна" - появится окно "Настройка параметров диаграммы" - вкладка "Диаграмма" - " Показывать графики" есть пункт "выбрать с" - можно выбрать на определённый день, но только до 18:45, так что, хоть там и<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_iDb3tHH2" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />нет пункта "отображать данные за один день"<br /><br />=============<br />однако, есть пункт с другим названием, но отображающий данные именно за один день.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_asJ0c0S7" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />есть настройка Intra-day, где указывается нужное время.<br /><br />=============<br />Видимо, это может подойти тем, кто <B>каждый день</B> будет сохранять историю <B>после 23:49</B>. Приятного им времяпрепровождения. <br />
			<i>18.07.2015 11:59:52, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7134/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7134/topic727/</guid>
			<pubDate>Sat, 18 Jul 2015 11:59:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7133/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_p7fdgEdB" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />В своём скрипте сначала вызываю getNumCandles(), потом getCandlesByIndex(), потом сравниваю кол-во свечей, которые они вернули.<br />Для графика Сбера периодов 1 и 2 мин они равны. Для Si getNumCandles() в 21:30 возвращает бОльшее число.<br /><br />=============<br />
====code====
<pre>nNumCandles = getNumCandles(sTag)
tChart, nNumCandles = getCandlesByIndex(sTag, 0, 0, nNumCandles)</pre>
=============
В обоих случаях должно возвращаться одинаковое число свечей. Если это не так, - ищите ошибку у себя.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_5w0ZJn60" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Вопрос: можно ли как-то настроить в Квике отбражение минутных графиков фьючерсов с 10:00 до 23:49?<br /><br />=============<br />В настройках графика нет пункта &quot;отображать данные за один день&quot;, но есть настройка Intra-day, где указывается нужное время. <br />
			<i>18.07.2015 10:25:25, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7133/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7133/topic727/</guid>
			<pubDate>Sat, 18 Jul 2015 10:25:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7132/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_PqAbbQeI" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Хочу сделать скрипт, сохраняющий в файл историю, как с Финама (потом сравню ).<br /><br />=============<br />Как я и хотел, скрипт сохраняет в файл историю в том же формате, что и один из возможных при скачивании с Финама.<br />Есть только одна сложность: в текущей версии мой код просто сохраняет данные <B>всех </B>свечей на минутном периоде. Чтобы сравнить с файлами Финама, пришлось в текстовом редакторе вырезать данные по трём дням в отдельные файлы. Сравнил - они совпадают байт-в-байт.<br />Чтобы не возиться с редактированием в текстовом редакторе, я хотел установить через контекстное меню графика Квика ограничение - отображать график за один день, сохранять моим скриптом его данные в файл, потом сравнивать с файлом с Финама с данными за тот же день.<br />На графике, при настройке в контекстном меню отображать данные за один день, отображаются данные по фьючерсам только до вечерней сессии (кажется, до 18:49). Но мне-то надо до 23:49!<br /><br />Вопрос: можно ли как-то настроить в Квике отбражение минутных графиков фьючерсов с 10:00 до 23:49?<br /><br />Если нет, то придётся мне совершенствовать код, чтобы он сам сохранял историю за каждый день по отдельным файлам. <br />
			<i>18.07.2015 09:53:33, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7132/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7132/topic727/</guid>
			<pubDate>Sat, 18 Jul 2015 09:53:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7128/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_T9kLwRJ6" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Для графика Сбера периодов 1 и 2 мин они равны. Для Si getNumCandles() в 21:30 возвращает бОльшее число.<br />Возможно, это связано с тем, что на FORTS после 19:00 начинается новая сессия?<br /><br />=============<br />Совершенно верно <br />
			<i>17.07.2015 21:42:38, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7128/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7128/topic727/</guid>
			<pubDate>Fri, 17 Jul 2015 21:42:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7127/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CLzx72Wc" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Для Si getNumCandles() в 21:30 возвращает бОльшее число.<br /><br />=============<br />Днём не проверял, завтра посмотрю. <br />
			<i>17.07.2015 21:37:58, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7127/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7127/topic727/</guid>
			<pubDate>Fri, 17 Jul 2015 21:37:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7126/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В своём скрипте сначала вызываю getNumCandles(), потом getCandlesByIndex(), потом сравниваю кол-во свечей, которые они вернули.<br />Для графика Сбера периодов 1 и 2 мин они равны. Для Si getNumCandles() в 21:30 возвращает бОльшее число.<br />Возможно, это связано с тем, что на FORTS после 19:00 начинается новая сессия? <br />
			<i>17.07.2015 21:36:06, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7126/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7126/topic727/</guid>
			<pubDate>Fri, 17 Jul 2015 21:36:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7020/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1yl9qfpB" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />А это не "из пушки по воробьям"? Мне всего-то надо раз в день сохранить в файл истории новые данные. <br /><br />=============<br />Тогда это можно сделать гораздо проще - нажать на графике цены правой кнопкой мыши и выбрать пункт меню "Сохранить график в файл" <br />
			<i>14.07.2015 14:03:00, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7020/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7020/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 14:03:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7017/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KmOAjuJt" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br />Кстати у нас даже готовый пример есть:<br /><br />=============<br />Просматривая код скрипта, я сразу обратил внимание, что в нём без нужды используется OnInit(), OnStop(), while WORK do. Я делаю без этого.<br />Запустил скрипт, жду... А он всё работает и работает... Пришлось останавливать.<br />А выход из while WORK do ... end сделать нельзя?<br /><br />=============<br />Скрипт написан так чтобы постоянно записывать свежие данные. Если это не устраивает никто не запрещает написать так как Вам нужно. Следует понимать разницу между примером и готовой программой под Ваши задачи. <br />
			<i>14.07.2015 11:17:33, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7017/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7017/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 11:17:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7015/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_P17DwSeS" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br /><br />====quote====<br />DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOL<br />20030605,000000,8.2,8.269,8.075,8.10205,596600<br />20030606,000000,8.148,8.189,8.06,8.172,314300<br />20030609,000000,8.13194,8.27,8.121,8.20197,731000<br />20030610,000000,8.2,8.23655,7.94,8.02473,1092500<br /><br />=============<br />Сразу видно, что время 000000 - это ошибка. Остальное не проверял, нет желания.<br /><br />=============<br />Сразу видно что интервал дневной а на нем в принципе не может быть указания времени.<br />Остальное на Ваше усмотрение <br />
			<i>14.07.2015 11:10:19, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7015/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7015/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 11:10:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7014/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7PKXRUTs" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Кстати у нас даже готовый пример есть:<br /><br />=============<br />Просматривая код скрипта, я сразу обратил внимание, что в нём без нужды используется OnInit(), OnStop(), while WORK do. Я делаю без этого.<br />Запустил скрипт, жду... А он всё работает и работает... Пришлось останавливать.<br />А выход из while WORK do ... end сделать нельзя?<br /><br />Резалт работы <B>ВАШЕГО </B>скрипта из выходного файла:<br /><br /><br />====quote====<br />DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOL<br />20030605,000000,8.2,8.269,8.075,8.10205,596600<br />20030606,000000,8.148,8.189,8.06,8.172,314300<br />20030609,000000,8.13194,8.27,8.121,8.20197,731000<br />20030610,000000,8.2,8.23655,7.94,8.02473,1092500<br /><br />=============<br />Сразу видно, что время 000000 - это ошибка. Остальное не проверял, нет желания.<br /><br />Я лучше сам сделаю код, который будет работать правильно, чем юзать уродства, сделанные чёрти как. <br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_XezCjT1z" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />Теперь понятно, почему Quick такой глючный - его программируют не по KISS, а по "вполне нормальным" принципам.<br /> <br /><br />=============<br /> <br />
			<i>14.07.2015 10:52:01, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7014/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7014/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 10:52:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7010/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0z6glw6w" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> Некто пишет: <br />вместо элементарного использования getCandlesByIndex?<br /><br />=============<br />Так в чем проблема, используйте getCandlesByIndex если он больше нравится.<br /><br />=============<br />Кстати у нас даже готовый пример есть:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td><br />
====code====
<pre>
--&#91;&#91;
Что делает:
&nbsp;&nbsp; Сохраняет график в текстовый файл.
&nbsp;&nbsp; Формат файла такой:
&nbsp;&nbsp; &#60;DATE&#62;;&#60;TIME&#62;;&#60;OPEN&#62;;&#60;HIGH&#62;;&#60;LOW&#62;;&#60;CLOSE&#62;;&#60;VOL&#62;
&nbsp;&nbsp; 
Как использовать:
&nbsp;&nbsp; Постройте график
&nbsp;&nbsp; В параметрах графика, зайдите на вкладку 'Дополнительно'.
&nbsp;&nbsp; В поле 'Идентификатор' укажите уникальный идентификатор этого графика. По умолчанию GRAPH
&nbsp;&nbsp; Точно такой же идентификаор укажите в переменной TAG
&#93;&#93;
-------------------------------НАСТРОЙКИ-------------------------------
TAG='GRAPH' --Идентификатор графика

separator = ',' --Разделитель колонок

GraphPath=getScriptPath() --папка в которую будет записываться файл с графиком

-----------------------------------------------------------------------

-------------------------------ТО ЧТО НИЖЕ, ТРОГАТЬ НЕ НАДО------------------------------------------------------------------

tbl = {
&#91;1&#93;='DATE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Дата свечи
&#91;2&#93;='TIME',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Время свечи
&#91;3&#93;='OPEN',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Цена открытия
&#91;4&#93;='HIGH',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Максимальная цена
&#91;5&#93;='LOW',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Минимальная цена
&#91;6&#93;='CLOSE',&nbsp;&nbsp;&nbsp;--Цена закрытия
&#91;7&#93;='VOL'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Объем
}

WORK = true
file = nil

last_candle=0
first_candle=0

function OnInit()
&nbsp;&nbsp;&nbsp;WORK = true
end

function OnStop()
&nbsp;&nbsp;&nbsp;WORK = false
end

function FTEXT(int)
local Output = ""
&nbsp;&nbsp;&nbsp;if int&#60;10 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Output = "0"
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;return Output .. tostring(int)
end


function dt2str(dt)
&nbsp;&nbsp;&nbsp;return {&#91;'DATE'&#93;=FTEXT(dt.year)..FTEXT(dt.month)..FTEXT(dt.day), &#91;'TIME'&#93;=FTEXT(dt.hour)..FTEXT(dt.min)..FTEXT(dt.sec)}
end

function main()
local line = 0
local t, n, l = getCandlesByIndex(TAG, line, 0, 1)
if n&#62;0 then
&nbsp;&nbsp;&nbsp;local file = io.open(GraphPath..'&#92;&#92;'..l..'.csv', 'w+') 
&nbsp;&nbsp;&nbsp;file:write(table.concat(tbl,separator) .. '&#92;n')
&nbsp;&nbsp;&nbsp;file:flush()
&nbsp;&nbsp;&nbsp;while WORK do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last_candle = getNumCandles(TAG)-1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if last_candle&#62;first_candle then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t, n, l = getCandlesByIndex(TAG, line, first_candle, last_candle-first_candle) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=0,n-1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tbl = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;1&#93;=dt2str(t&#91;i&#93;.datetime).DATE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Дата свечи
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;2&#93;=dt2str(t&#91;i&#93;.datetime).TIME,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Время свечи
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;3&#93;=tostring(t&#91;i&#93;.open),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Цена открытия
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;4&#93;=tostring(t&#91;i&#93;.high),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Максимальная цена
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;5&#93;=tostring(t&#91;i&#93;.low),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Минимальная цена
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;6&#93;=tostring(t&#91;i&#93;.close),&nbsp;&nbsp;&nbsp;--Цена закрытия
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;7&#93;=tostring(t&#91;i&#93;.volume)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Объем
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:write(table.concat(tbl,separator) .. '&#92;n')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:flush()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first_candle=last_candle
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;file:close()
end
end

</pre>
=============
<br /></td></tr></tbody></table> <br />
			<i>14.07.2015 09:59:37, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7010/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7010/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 09:59:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7009/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_iJg359xS" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />вместо элементарного использования getCandlesByIndex?<br /><br />=============<br />Так в чем проблема, используйте getCandlesByIndex если он больше нравится. <br />
			<i>14.07.2015 09:58:03, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7009/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7009/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 09:58:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7008/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ymllY8h2" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Попробуйте поискать например в документации Qlua.chm<br /><br />=============<br />Я нашёл нужную инфу и закодировал раньше, чем прочёл написанные Вами строки &nbsp;:D &nbsp;<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_phF3Oi8m" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Нет это не "из пушки по воробьям" а вполне нормальный доступ к данным. <br /><br />=============<br /><B>Изучать </B>2 функции, кодировать<B> код с колбэком</B>, <B>изучать </B>"то что создается функцией CreateDataSource", и т. д. и т. п. вместо элементарного использования getCandlesByIndex? Теперь понятно, почему Quick такой глючный - его программируют не по KISS, а по "вполне нормальным" принципам.<br /> <br />------------------------------------------------------------------------<br /><br />Теперь мне надо <B>форматированно </B>сохранять данные из таблицы в файл истории. Я подозреваю, что форматирование будет сложнее того, что я делал на Lua раньше. <br />
			<i>14.07.2015 09:54:23, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7008/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7008/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 09:54:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7007/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ca6SGNTX" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />А я уж начал с getCandlesByIndex возиться... Все темы на этом форуме, в инете, которые через поиск нашел посмотрел, но не нашёл инфу о структуре TABLE t, которую возвращает эта функция. Может, кто подскажет?<br /><br />=============<br />Попробуйте поискать например в документации Qlua.chm<br />-Функции для работы с графиками<br />--Функции для работы с графиками<br />---Функции O, H, L, C, V, T<br /><br /><br />====quote====<br />Время свечи возвращается с точностью до миллисекунд в виде таблицы с полями: <br />{year, month, day, week_day, hour, min, sec, ms, count} <br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_WcMMjL9R" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />А это не "из пушки по воробьям"? Мне всего-то надо раз в день сохранить в файл истории новые данные. <br /><br />=============<br />Нет это не "из пушки по воробьям" а вполне нормальный доступ к данным. <br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_0NEuU6x9" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />1. Что такое "ds:"? <br /><br />=============<br />Это то что создается функцией CreateDataSource<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_P6iquCgT" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br />2. Индекс свечи какого графика (или чего-то другого?) вернёт O(1) ?<br /><br />=============<br />O вернет не индекс свечи, а значение цены Open свечи под номером 1. <br />
			<i>14.07.2015 09:35:01, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7007/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7007/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 09:35:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7005/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А я уж начал с getCandlesByIndex возиться... Все темы на этом форуме, в инете, которые через поиск нашел посмотрел, но не нашёл инфу о структуре TABLE t, которую возвращает эта функция. Может, кто подскажет?<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_rYIkzd59" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Задачу можно решить без открытия окна с графиком, через функции CreateDataSource и SetUpdateCallback<br /><br />=============<br />А это не &quot;из пушки по воробьям&quot;? Мне всего-то надо раз в день сохранить в файл истории новые данные. <br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_3zqqjQQH" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> пишет: <br />разбирайте возврат функции T().<br /><br />=============<br />В разделе справки &quot;Функции O, H, L, C, V, T&quot;:<br /><br />====quote====<br />Функции в качестве параметра принимают индекс свечи<br />=============<br />и пример:<br />
====code====
<pre>Open = ds: O(1) </pre>
=============
Стыдно спросить, но:<br />1. Что такое &quot;ds:&quot;? <br />2. Индекс свечи какого графика (или чего-то другого?) вернёт O(1) ? <br />
			<i>14.07.2015 09:23:49, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7005/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7005/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 09:23:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7000/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_q726qF2H" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br /><br />====quote====<br /> s_mike@rambler.ru пишет: <br />Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.<br /><br />=============<br />С этим разобрался.<br /><br />Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи?<br />Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял.<br /><br />=============<br />Здравствуйте,<br />Задачу можно решить без открытия окна с графиком, через функции CreateDataSource и SetUpdateCallback<br />Пример есть в руководстве QLUA.chm<br />-Функции взаимодействия скрипта Lua и Рабочего места QUIK<br />--Функции для работы с графиками<br />---SetUpdateCallback <br />
			<i>14.07.2015 06:20:24, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7000/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7000/topic727/</guid>
			<pubDate>Tue, 14 Jul 2015 06:20:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6995/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vfy0LAOC" href="/user/1114/" bx-tooltip-user-id="1114">Некто</a> пишет: <br /><br />====quote====<br /> s_mike@rambler.ru пишет: <br />Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.<br /><br />=============<br />С этим разобрался.<br /><br />Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи?<br />Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял.<br /><br />=============<br />разбирайте возврат функции T(). Это таблица, описывающая время <br />
			<i>13.07.2015 22:47:35, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6995/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6995/topic727/</guid>
			<pubDate>Mon, 13 Jul 2015 22:47:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6990/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7xyCh8Uk" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> пишет: <br />Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.<br /><br />=============<br />С этим разобрался.<br /><br />Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи?<br />Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял. <br />
			<i>13.07.2015 19:49:19, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6990/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6990/topic727/</guid>
			<pubDate>Mon, 13 Jul 2015 19:49:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6982/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Рекомендую <br />1) поставить на комп луа со SciTE.<br />2) &nbsp;без квика на луа сделать простые примеры с таблицами, с циклами, с печатью c фалами.<br />3)После того, как будет все понятно и просто, переходите к чтению документации по QLua и делайте простые примеры но на квике с таблицами циклами файлами.<br />4) После того, как будет все понятно и просто, переходите без луа и без квика к написанию своего алгоритма.<br />5) После того, как будет все понятно и просто с алгоритмом, переходите в QUIK и пишите на луа то о чем мечтаете.<br />Успехов в обучении <br />
			<i>13.07.2015 17:20:27, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6982/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6982/topic727/</guid>
			<pubDate>Mon, 13 Jul 2015 17:20:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6981/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вы можете то же самое сделать на lua<br /><br />Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.<br /><br />Вот вам готовый скрипт, сохраняющий данные без открытия графиков: <noindex><a href="http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/kotirovki-s-servera-brokera.html?category_id=70" target="_blank" rel="nofollow">http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/kotirovki-s-servera-brokera.html?category_id=70</a></noindex> <br />
			<i>13.07.2015 17:17:29, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6981/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6981/topic727/</guid>
			<pubDate>Mon, 13 Jul 2015 17:17:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Скрипт, сохраняющий историю.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message6979/topic727/">Скрипт, сохраняющий историю.</a></b> <i>Я пока учусь :)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Хочу сделать скрипт, сохраняющий в файл историю, как с Финама (потом сравню &nbsp;;-) &nbsp;). Думаю сделать это по данным свечей графика (а как-то иначе можно?).<br /><br />Для начала помогите, пожалуйста, разобраться с таблицами.<br />Планирую сделать таблицу, в которую потом будут помещены данные всех свечей с графика. Нужны: год, месяц, число, час, минута, OHLC.<br />На Си я бы описал структуру с OHLC и прочим, затем объявил бы массив таких структур. А как сделать это на Lua? <br />
			<i>13.07.2015 17:12:58, Некто.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message6979/topic727/</link>
			<guid>http://forum.quik.ru/messages/forum10/message6979/topic727/</guid>
			<pubDate>Mon, 13 Jul 2015 17:12:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
