<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Что делает SetEmptyCallback() ?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Что делает SetEmptyCallback() ? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 15 Jun 2026 13:34:45 +0300</pubDate>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58204/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nu3FD404" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />SetEmptyCallback это атавизм или все же есть ситуации когда он еще актуален?<br /><br />=============<br /><br />Да он не нужен <br />
			<i>27.09.2021 11:11:09, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58204/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58204/topic6449/</guid>
			<pubDate>Mon, 27 Sep 2021 11:11:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58199/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_jXNmOBTa" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, Да я даже пробовать не хочу - я и так уверен, что если заказать источники данных 10 тысяч раз, то Квик сдохнет. Он и не от такого падает! А функция эта дурацкая, вне зависимости от того, умеет ли кто с ней работать или нет.<br /><br />ДА?! А ну, покажись кто-нибудь, кому эта функция НРАВИТСЯ? У кого там такой &quot;вкус и цвет&quot;? Неужели такие водятся?<br /><br />Господи, да я миллион раз аргументировал свою позицию по этому вопросу, в том числе, в разговоре со службой техподдержки. Покопайтесь в моих сообщениях, если интересно. К тому же, сервис этот настолько уродливый, что тут и аргументировать-то стыдно. И спорить тут совершенно не о чем.<br /><br />Ради КАКОГО, блин, &quot;интереса&quot;? 10 тыщ раз заказывать данные? По одному заказу на каждую сраную свечу? Проверять этот маразм - отвиснет или нет? А если даже и не отвиснет, это всё равно МАРАЗМ!<br /><br />О, Господи! LUA, QLUA... Lua я использую ТОЛЬКО для программирования торговли на бирже! Иначе бы к такому дерьму на километр бы не подошёл. Так что LUA и QLUA для меня полные синонимы.<br /><br />Это не &quot;обычный логический оператор OR провинился&quot;, а использование его в операции присвоения.<br /><br />Господи, да в Lua вообще ни хрена нет! Тип integer - и тот спи&amp;дили! Какая уж тут &quot;работа с битовыми флагами&quot;. В любом ассемблере есть, а здесь, блин, &quot;творчески переработали&quot;. Таких разработчиков к компу вообще подпускать нельзя. Пожизненно!<br /><br />Ничего подобного! Я бы для и всех интервалов сам считал, но у меня комп не висит постоянно в торгах. Самостоятельно посчитанные свечи - это кажется, единственное место в скрипте, которое, будучи раз написанным, работает как часы.<br /><br />Ну вот, &quot;формирует 3000 последних свечей&quot;, когда мне нужна ОДНА! Какие ещё нужны доказательства, что этой мерзости место только на помойке? Ах, да - эти же придурки ещё и НЕЗАКРЫТЫМИ свечами дрочат - ещё один идиотизм. Мне же нужна ОДНА ЗАКРЫТАЯ СВЕЧА на каждый таймфрейм. <br />
			<i>26.09.2021 22:45:53, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58199/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58199/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 22:45:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58197/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gr3KmsXF" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Это была демонстрация абсолютной НЕработоспособности CreateDataSource<br />=============<br />Неработоспособности? Может вы забыли запустить скрипт?<br />Кто-то не умеет работать с данной функцией, кто-то умеет.<br />А на вкус и цвет, как говорится, все фломастеры разные.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_dcwboIIO" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />на основе которой ВААПЩЕ НЕЛЬЗЯ &quot;реализовать что-либо интересное&quot;, такой способ доступа к данным - это КРЕТИНИЗМ!<br />=============<br />Опять я наблюдаю столь категоричные высказывания &nbsp;от вас <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 /><br />====quote====<br /><a class="blog-p-user-name" id="bp_MWLyZmez" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Не говоря уже о том, что функция эта относится к разделу работы с графиками.<br />=============<br />Тут согласен, но это уже вопрос терминологии, а не программирования.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Wd9bUFoM" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />С нею невозможно работать при ЛЮБОМ коде, даже вылизанным до последней запятой.<br />=============<br />Як так??? Да вы ради интереса хоть попробуйте поработать что ли, а то получается классическое &quot;не читал, но осуждаю&quot;. <br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_cFFU88U7" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Во-первых, Lua я знаю. Мало того: я здесь чуть ли не единственный, кто пишет на чистом Lua.<br />=============<br />На чистом LUA?? Да быть такого не может! &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /><br />Вы LUA и QLUA не путаете случаем?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_i5u53TQ3" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Я имел в виду, что оператор этот дурацкий, я так никогда не делал, и делать не буду.<br />=============<br />Чем это обычный логический оператор OR то провинился?<br />Прекрасный оператор на мой взгляд, как минимум ни чуть не хуже чем AND и NOT.<br />Кстати, вы знали что в LUA оказывается нет оператора XOR? Мне, например, в свое время его очень не хватало для работы с битовыми флагами.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_QdMmT9yo" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Во-первых, свечи у меня начинаются с 15-секундных.<br />=============<br />А я это и упомянул, что самостоятельно считать свечи стоит только для нестандартных интервалов.<br />====quote====<br /><a class="blog-p-user-name" id="bp_poTcY843" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Во-вторых, они считаются по-другому: я уже не раз говорил, что классические мат. ожидание и дисперсия в миллион равз информативнее всей этой &quot;японской&quot; дребедени.<br />=============<br />Звучит логично. Поверю на слово, мне лень проверять.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_pPcrXAx8" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /> В-третьих, Вы не ответили на мой вопрос: СКОЛЬКО свечей она мне даст по каждому интервалу? <br />=============<br />Формирует 3000 последних свечей, но может дать больше, если ранние свечи уже есть в истории терминала<br />====quote====<br /><a class="blog-p-user-name" id="bp_pcxxo6Wb" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />И что она будет делать при появлении очередной свечи? Будет всё время дописывать? Или даже и дописывать не будет?<br />=============<br />Создаст свечу с новым индексом и будет обновлять ее данные, пока не появится следующая свеча. <br />
			<i>26.09.2021 21:01:27, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58197/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58197/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 21:01:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58195/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_KzbEpk54" href="/user/62/" bx-tooltip-user-id="62">nikolz</a>, Лапуль, ну не путайтесь Вы под ногами, не засирайте ветку - дайте с человеком поговорить!<br /><br /><a class="blog-p-user-name" id="bp_W6xr98Ti" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, Это была демонстрация абсолютной НЕработоспособности CreateDataSource, на основе которой ВААПЩЕ НЕЛЬЗЯ &quot;реализовать что-либо интересное&quot;, такой способ доступа к данным - это КРЕТИНИЗМ! Не говоря уже о том, что функция эта относится к разделу работы с графиками. С нею невозможно работать при ЛЮБОМ коде, даже вылизанным до последней запятой.<br />====quote====<br />Вы таки гордитесь тем что не знаете LUA?<br /><br />=============<br />Во-первых, Lua я знаю. Мало того: я здесь чуть ли не единственный, кто пишет на чистом Lua. Я имел в виду, что оператор этот дурацкий, я так никогда не делал, и делать не буду.<br />====quote====<br />Ну вот реально зачем считать самостоятельно свечи, если их можно брать готовыми?<br /><br />=============<br />Во-первых, свечи у меня начинаются с 15-секундных. Во-вторых, они считаются по-другому: я уже не раз говорил, что классические мат. ожидание и дисперсия в миллион равз информативнее всей этой &quot;японской&quot; дребедени. В-третьих, Вы не ответили на мой вопрос: СКОЛЬКО свечей она мне даст по каждому интервалу? И что она будет делать при появлении очередной свечи? Будет всё время дописывать? Или даже и дописывать не будет? <br />
			<i>26.09.2021 20:10:01, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58195/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58195/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 20:10:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58194/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1PHX8sAM" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />для любого интервала надо считать close,Low, High, Volume.<br />Просто Выдернуть не получится . <br />=============<br />Да ладно, всегда выдергивал и бед не знал.<br /><br />Ну вот реально зачем считать самостоятельно свечи, если их можно брать готовыми?<br />Единственную причину вижу в нестандартных интервалах.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_icFkWCYJ" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />На мало ликвидном рынке надо учитывать тот факт, что на интервале может не быть сделок вообще.<br />=============<br />Если работаете на мало ликвидных рынках, то что ж мешает добавить дополнительные проверки по времени свечи и объему? <br />
			<i>26.09.2021 19:07:51, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58194/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58194/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 19:07:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58193/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uHQnOsNa" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Ах ты засранец! <br />=============<br />Более чем взаимно! &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_cool.png" border="0" data-code=":cool:" data-definition="SD" alt=":cool:" style="width:16px;height:16px;" title="Здорово" class="bx-smile" /> <br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_8gX2kHcq" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Нет, я не понимаю: Вы ВСЕРЬЁЗ предлагаете подобную хрень реализовать или прикалываетесь?<br />=============<br />Побойтесь бога, зачем мне вам что-то предлагать?<br />Это была демонстрация работоспособности CreateDataSource, на основе которой можно уже реализовать что-либо интересное, но вы это не смогли понять.Или вы думали, что я вам тут полноценного робота со всеми вашими хотелками предоставлю?<br />Ну нафиг...<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_GZuMFQeQ" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />что делает хреновина вида &quot;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;=ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93; or {}&quot; я не знаю, да и знать не хочу<br />=============<br />Вы таки гордитесь тем что не знаете LUA? &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /> <br />
			<i>26.09.2021 18:56:44, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58193/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58193/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 18:56:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58188/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sT8HxWjZ" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><br /><br />=============<br />На самом деле Вам не надо вызывать 1529*8=12232 раза <br />так как список Ваших инструментов грузится при старте и отображается в &nbsp;текущей таблице.<br />У Вас будет проблема со скоростью вашего железа.<br />Но полагаю , если Вы торгуете по 1529 инструментам, то у вас железо должно быть очень крутое.<br />На рынке халявы нет и на плохом железе нечего делать с таким количеством тикиров. <br />
			<i>26.09.2021 18:01:31, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58188/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58188/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 18:01:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58187/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			естественно, длина программы не зависит от числа инструментов. <br />
			<i>26.09.2021 17:56:03, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58187/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58187/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 17:56:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58186/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Vv0LVK8j" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Ах ты засранец! &nbsp;<br /><br />Ну, начнём с того, что тикеров у меня не 4, а на сегодняшний момент 1529, и их состав немного &quot;плавает&quot;, и код скрипта это, разумеется, никак не затрагивает. Интервалов у меня тоже вдвое больше - мелкие свечи я считаю сам, но они ведь тоже должны где-то храниться и далее обрабатываться по общему алгоритму..<br /><br />Теперь инициализация: что делает хреновина вида &quot;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;=ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93; or {}&quot; я не знаю, да и знать не хочу. Для меня не подлежит сомнению, что обращение к данным тикера должно быть по его айдишке (его порядковому номеру в таблице), а уже в полях этой таблицы должен лежать и код тикера, и код класса, его валюта, статус, количество закупленных лотов, размер лота и вся прочая хрень. В том числе, одно из этих полей должно содержать информацию о свечах по разным таймфреймам: младшую часть я инициализирую и поддерживаю в актуальном состоянии сам, а вот вторая половина должна получать её как раз через CreateDataSource. Итак, мне предлагается при старте вызвать эту конструкцию 1529*8=12232 раза, а уж опосля... впрочем, что-то мне подсказывает, что никакого &quot;опосля&quot; уже не будет - на этом скрипт и сдохнет. :: <br /><br />Теперь насчёт Size: СКОЛЬКО свечей она мне даст по каждому интервалу? Повторяю: мне нужна ОДНА, последняя. Ну, для страховки, ДВЕ. А эта падла сколько их туда насуёт? И, насколько я понимаю, будет всё время дописывать? Или даже и дописывать не будет?<br /><br />Нет, я не понимаю: Вы ВСЕРЬЁЗ предлагаете подобную хрень реализовать или прикалываетесь?<br />=============<br />Реализуется это примерно так.<br />Надо читать с сервера самый мелкий интервал.<br />Долее на каждый &nbsp;тик будет примерно 10 операторов<br />Считаем всегда последнюю. Сохраняем столько , сколько надо.<br />Если надо одну то в архиве будет всегда одна на каждый инструмент и одна - открытая <br />
			<i>26.09.2021 17:54:48, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58186/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58186/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 17:54:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58185/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ANtDaJfa" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br /><noindex><a href="/user/14299/" target="_blank" rel="nofollow">Владимир</a></noindex>, Не ожидал &nbsp;:: Тут же даже кулинарить нечего, все и так очевидно &nbsp; <br /><br />Создать датасурс и выдернуть из него последнюю свечу проблем нет никаких (см. пример в первом посте).<br />А как в цикле пробежаться по заданным интервалам и инструментам думаю сами догадаетесь.<br /><br />Вопрос то у вас в чем?<br />=============<br />вообще-то Вы ошибаетесь<br />Свеча - это четыре индикатора цены и один объема.<br />Т е для любого интервала надо считать close,Low, High, Volume.<br />Просто Выдернуть не получится . <br />--------------------- <br />Open - это первая свеча после открытия интервала<br />High и Low - это локальные экстремумы на данном интервале<br />Value - сумма значений на интервале<br />Close - это последняя сделка перед закрытием интервала.<br />-------------------<br />На мало ликвидном рынке надо учитывать тот факт, что на интервале может не быть сделок вообще.<br />--------------------- &nbsp;<br />А теперь все это для различных интервалов и множества инструментов.<br />Когда писал это чудо.<br />Попробуйте написать.<br />-------------------------------<br />Полагаю, что вопрос в этом. <br />
			<i>26.09.2021 17:49:42, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58185/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58185/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 17:49:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58180/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ах ты засранец! <img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /> <br /><br />Ну, начнём с того, что тикеров у меня не 4, а на сегодняшний момент 1529, и их состав немного &quot;плавает&quot;, и код скрипта это, разумеется, никак не затрагивает. Интервалов у меня тоже вдвое больше - мелкие свечи я считаю сам, но они ведь тоже должны где-то храниться и далее обрабатываться по общему алгоритму..<br /><br />Теперь инициализация: что делает хреновина вида &quot;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;=ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93; or {}&quot; я не знаю, да и знать не хочу. Для меня не подлежит сомнению, что обращение к данным тикера должно быть по его айдишке (его порядковому номеру в таблице), а уже в полях этой таблицы должен лежать и код тикера, и код класса, его валюта, статус, количество закупленных лотов, размер лота и вся прочая хрень. В том числе, одно из этих полей должно содержать информацию о свечах по разным таймфреймам: младшую часть я инициализирую и поддерживаю в актуальном состоянии сам, а вот вторая половина должна получать её как раз через CreateDataSource. Итак, мне предлагается при старте вызвать эту конструкцию 1529*8=12232 раза, а уж опосля... впрочем, что-то мне подсказывает, что никакого &quot;опосля&quot; уже не будет - на этом скрипт и сдохнет. <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 />Теперь насчёт Size: СКОЛЬКО свечей она мне даст по каждому интервалу? Повторяю: мне нужна ОДНА, последняя. Ну, для страховки, ДВЕ. А эта падла сколько их туда насуёт? И, насколько я понимаю, будет всё время дописывать? Или даже и дописывать не будет?<br /><br />Нет, я не понимаю: Вы ВСЕРЬЁЗ предлагаете подобную хрень реализовать или прикалываетесь? <br />
			<i>26.09.2021 14:06:29, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58180/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58180/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 14:06:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58179/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Ir6UeLpg" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />Лично я решения не вижу ВААПЩЕ<br />=============<br />Понимаю, старость не радость, но вы там держитесь, не унывайте... &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /> <br /><br />Special for you<br />
====code====
<pre>function main()
&nbsp;&nbsp;ds={}
&nbsp;&nbsp;intervals={INTERVAL_M15,INTERVAL_M30,INTERVAL_H1,INTERVAL_H2,INTERVAL_H4,INTERVAL_D1}
&nbsp;&nbsp;tikers={{"SPBFUT","SiZ1"},{"SPBFUT","SiH2"},{"SPBFUT","SiM2"},{"SPBFUT","SiU2"}}
&nbsp;&nbsp;for i=1,#intervals do
&nbsp;&nbsp;&nbsp;&nbsp;for j=1,#tikers do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;=ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93; or {}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;&#91;tikers&#91;j&#93;&#91;2&#93;&#93;=ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;&#91;tikers&#91;j&#93;&#91;2&#93;&#93; or {}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;&#91;tikers&#91;j&#93;&#91;2&#93;&#93;&#91;intervals&#91;i&#93;&#93;=CreateDataSource(tikers&#91;j&#93;&#91;1&#93;,tikers&#91;j&#93;&#91;2&#93;,intervals&#91;i&#93;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(ds&#91;tikers&#91;j&#93;&#91;1&#93;&#93;&#91;tikers&#91;j&#93;&#91;2&#93;&#93;&#91;intervals&#91;i&#93;&#93;:Size()==0) do sleep(1) end
&nbsp;&nbsp;&nbsp;&nbsp;end&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;&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;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;end
-- Пример получения свечи
&nbsp;&nbsp;local need_ds=ds&#91;"SPBFUT"&#93;&#91;"SiZ1"&#93;&#91;INTERVAL_H1&#93;
&nbsp;&nbsp;local size=need_ds:Size()
&nbsp;&nbsp;message("O="..need_ds:O(size).." H="..need_ds:H(size).." L="..need_ds:L(size).." C="..need_ds:C(size))
end</pre>
============= <br />
			<i>26.09.2021 09:08:34, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58179/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58179/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 09:08:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58178/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_7VCmRbt8" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, Нет, самому мне до такого вовек не догадаться! Так КАК ИМЕННО нужно делать? Мне вот совершенно не очевидно! Вернее, мне очевидно, что любой решение будет называться &quot;ППЦ&quot;. А вопрос к меня именно в том: Как получить все эти свечи? Лично я решения не вижу ВААПЩЕ. <br />
			<i>26.09.2021 00:25:13, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58178/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58178/topic6449/</guid>
			<pubDate>Sun, 26 Sep 2021 00:25:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58177/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_a4BxPXpy" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a>, Не ожидал &nbsp;<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" /> Тут же даже кулинарить нечего, все и так очевидно &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_cool.png" border="0" data-code=":cool:" data-definition="SD" alt=":cool:" style="width:16px;height:16px;" title="Здорово" class="bx-smile" /> <br /><br />Создать датасурс и выдернуть из него последнюю свечу проблем нет никаких (см. пример в первом посте).<br />А как в цикле пробежаться по заданным интервалам и инструментам думаю сами догадаетесь.<br /><br />Вопрос то у вас в чем? <br />
			<i>25.09.2021 23:53:31, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58177/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58177/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 23:53:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58176/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_PZx3dAKn" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, О! А Вы - умеете готовить? А ну, шайбу! Мне нужны свечи (хотя бы последние) от 15 минут и выше, вплоть до месячных. Мелочь я сам считаю, до часовых (0.25, 0.5, 1, 2, 4, 8, 16, 32, 64 минуты). И это примерно по полутора тысячам тикеров (чуть больше). А ну, хто здесь Великий Кулинар? <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" /> &nbsp; <br />
			<i>25.09.2021 22:26:15, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58176/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58176/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 22:26:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58174/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_IUFwgsCh" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />есть ситуации когда он еще актуален?<br />=============<br />Разве он был когда-то актуален? По-моему всегда без него работало.<br />Но,<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_6HKHuGH5" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />на всякий случай оставил вызовы SetEmptyCallback(), мало ли что изменится в будущем<br />=============<br />аналогично.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Bf21xxLN" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />Вопрос к разработчикам.<br />=============<br />Тссс. Как говорится, работает - не трогай. Лучше туда не лезть, а то что-нибудь другое поломается. <br />
			<i>25.09.2021 18:58:26, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58174/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58174/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 18:58:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58173/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_KhdEHLMX" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a>, это вы просто не умеете их готовить )))<br />Я вот часовые свечки дергаю используя CreateDataSource, и никакого атавизма в этом не замечаю, все работает. <br />
			<i>25.09.2021 18:56:35, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58173/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58173/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 18:56:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58172/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_BNl2UN7a" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, Весь заказ данных через CreateDataSource один сплошной атавизм. &nbsp;<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" /> &nbsp; <br />
			<i>25.09.2021 18:45:18, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58172/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58172/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 18:45:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58171/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Собственно, это как раз то, что я и описывал.<br />====quote====<br /><a class="blog-p-user-name" id="bp_fI6GCLx1" href="/user/14016/" bx-tooltip-user-id="14016">Незнайка</a> написал:<br /> Sergey Gorokhov &nbsp;написал:На самом деле, заказ данных &nbsp;после CreateDataSource &nbsp;происходит независимо от заданного коллбэка. <br />=============<br />Хотя в своих боевых скриптах, на всякий случай оставил вызовы SetEmptyCallback(), мало ли что изменится в будущем.<br /><br />Вопрос к разработчикам.<br />SetEmptyCallback это атавизм или все же есть ситуации когда он еще актуален? <br />
			<i>25.09.2021 18:32:16, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58171/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58171/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 18:32:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58168/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EP8diPiZ" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />зачем все таки нужна функция SetEmptyCallback()?<br />=============<br /><br />Поискал по форуму, нашёл противоречивые ответы поддержки по этому вопросу:<br /><br />1) <noindex><a href="https://forum.quik.ru/messages/forum10/message38004/topic4520/#message38004" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message38004/topic4520/#message38004</a></noindex><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_iAyi0yH9" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /><br />====quote====<br /><noindex><a href="/user/13046/" target="_blank" rel="nofollow">rpns</a></noindex> написал:<br />Кстати, и без вызова SetEmptyCallback. Зачем он тогда?)<br />=============<br />Он нужен для подписки на данные. Ровно эту же подписку можно выполнить через терминал, открыв нужный график. <br />Если Вы откроете график то по сути SetEmptyCallback не нужен, данные и так будут поступать.<br />Но не всем удобно открывать графики, по этому существует SetEmptyCallback.<br />=============<br /><br />2) <noindex><a href="https://forum.quik.ru/messages/forum10/message45488/topic5400/#message45488" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message45488/topic5400/#message45488</a></noindex><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_cud7M0Qw" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />На самом деле, заказ данных &nbsp;после CreateDataSource &nbsp;происходит независимо от заданного коллбэка. <br />Для данных на основании обезличенных сделок будут получаться все данные, <br />Для данных ТТТ в зависимости от настроек терминала для получения ТТТ, т.е. если получение пропущенных данных выключено, то будут доступны только новые данные ТТТ.<br />=============<br /> <br />
			<i>25.09.2021 11:01:00, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58168/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58168/topic6449/</guid>
			<pubDate>Sat, 25 Sep 2021 11:01:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message55195/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lXEK43M7" href="/user/14644/" bx-tooltip-user-id="14644">Артем</a> написал:<br /><noindex><a href="/user/14523/" target="_blank" rel="nofollow">BlaZed</a></noindex>, при умном заказе без этой функции получение новых данных определенно не работает, только из открытого графика.<br />=============<br />Проверил только что - работает даже при умном заказе при закрытом графике, потому и вопрос задал.<br />Просто возникло ощущение, что &nbsp;SetEmptyCallback() стала не нужна.<br /><br />QUIK если что 8.13.1.16 <br />
			<i>30.04.2021 08:55:39, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message55195/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message55195/topic6449/</guid>
			<pubDate>Fri, 30 Apr 2021 08:55:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message55191/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_Qq195t6N" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a>, при умном заказе без этой функции получение новых данных определенно не работает, только из открытого графика. <br />
			<i>30.04.2021 00:29:28, Артем.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message55191/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message55191/topic6449/</guid>
			<pubDate>Fri, 30 Apr 2021 00:29:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что делает SetEmptyCallback() ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message55190/topic6449/">Что делает SetEmptyCallback() ?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Читаю описание функции SetEmptyCallback()<br /><br />====quote====<br />Функция позволяет получать данные с сервера. Функция возвращает «true» в случае успешного завершения, иначе – «false».<br />=============<br />Судя по описанию без нее новые данные не получишь.<br />Да и везде пишут, что при заказе надо делать так<br />
====code====
<pre>ds=CreateDataSource(class_code,sec_code,interval)
ds:SetEmptyCallback()</pre>
=============
<br />Итак. Вводные данные.<br />Выбираем инструмент который до этого не использовали, ну я выбрал &quot;EuM1&quot;<br />График инструмента не открываем, в заказе котировок указано &quot;по выбранным классам&quot; и данный инструмент не выбран, в папке archive файла с таким инструментам тоже нет.<br />Другими словами, QUIK пока еще никогда не получал данный инструмент.<br /><br />Пишу простенький скриптик
====code====
<pre>is_run=true
function main()
&nbsp;&nbsp;ds=CreateDataSource("SPBFUT","EuM1",INTERVAL_M5)
--&nbsp;&nbsp;ds:SetEmptyCallback()
&nbsp;&nbsp;while(ds:Size()==0) do sleep(100) end
&nbsp;&nbsp;while is_run do
&nbsp;&nbsp;&nbsp;&nbsp;message("C="..ds:C(ds:Size()))
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;end
end
function OnStop()
&nbsp;&nbsp;is_run=false
&nbsp;&nbsp;return 100
end

</pre>
=============
...и он работает, данные обновляются.<br />Но почему данные обновляются?<br />Я же закомментил ds:SetEmptyCallback()<br /><br />Всегда думал, что SetEmptyCallback() нужна для того чтобы поток данных обновлялся, но оказывается что нет.<br /><br />Прошу знающих объяснить, зачем все таки нужна функция SetEmptyCallback()? <br />
			<i>30.04.2021 00:04:16, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message55190/topic6449/</link>
			<guid>http://forum.quik.ru/messages/forum10/message55190/topic6449/</guid>
			<pubDate>Fri, 30 Apr 2021 00:04:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
