<?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>Tue, 07 Apr 2026 21:35:06 +0300</pubDate>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18714/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Инвестиционные услуги, связанные с торговлей бинарными опционами. Станьте трейдером, партнером или вкладчиком и зарабатывайте вне зависимости от выбранной роли <noindex><a href="https://my.robooption.com/?a=xtz" target="_blank" rel="nofollow">https://my.robooption.com/?a=xtz</a></noindex> <br />
			<i>21.09.2016 09:00:05, Варик Фартов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18714/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18714/topic2122/</guid>
			<pubDate>Wed, 21 Sep 2016 09:00:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18701/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tVFYZ63C" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br />вопрос у меня отпал сам собой<br />я в дебажных целях писал все значения в мессаджи<br />когда убрал это, расчеты стали на два порядка быстрее, и проблема больше не актуальна (т.е., время отнимали не расчеты как я думал, а мессаджи)<br />=============<br />Об этом уже говорилось и здесь и на quik2dde.ru (&quot;немного о message&quot;)<br />Да, дествительно. Эта функция - изрядно тормозная. Но, такова её реализация. <br />
			<i>20.09.2016 23:35:21, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18701/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18701/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 23:35:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18700/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			вопрос у меня отпал сам собой<br />я в дебажных целях писал все значения в мессаджи<br />когда убрал это, расчеты стали на два порядка быстрее, и проблема больше не актуальна (т.е., время отнимали не расчеты как я думал, а мессаджи) <br />
			<i>20.09.2016 23:26:57, tdm.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18700/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18700/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 23:26:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18689/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vm4ztCFK" href="/user/1103/" bx-tooltip-user-id="1103">Imersio Arrigo</a> написал:<br /><br />====quote====<br /> Николай &nbsp;Камынин &nbsp; написал:<br />надо знать лишь две свечи в MA и одну в EMA. <br /><br />=============<br />Это если есть результаты предыдущих вычислений.<br />А если они ==0, то не получится.<br />=============<br />Это лишь в начале т е при запуске. но в это время данные поступают с сервера и они рассчитываются в реальном времени. И условия остаются теже &nbsp;- не более двух свечей. <br />
			<i>20.09.2016 17:07:54, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18689/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18689/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 17:07:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18686/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_G1o7An35" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />надо знать лишь две свечи в MA и одну в EMA. <br /><br />=============<br />Это если есть результаты предыдущих вычислений.<br />А если они ==0, то не получится. <br />
			<i>20.09.2016 15:35:33, Imersio Arrigo.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18686/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18686/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 15:35:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18685/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			действительно, какая-то каша.<br />На самом деле,<br /> скорость вычисление скользящих не зависит от числа свечей , <br />фактически для этого надо знать лишь две свечи в MA и одну в EMA. <br />Просто надо изучить цифровую обработку сигналов. <br />
			<i>20.09.2016 15:24:00, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18685/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18685/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 15:24:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18684/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nY83A0ar" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br />Пробую реализовать в скрипте то что я делаю визуально<br />использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек<br />Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей: &nbsp; &nbsp; Скрытый текст &nbsp; &nbsp; &nbsp; for i=1,ds:Size() do<br />		ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />		message(tostring(ma_out))<br />	endхочу допустим 3 последних значения: &nbsp; &nbsp; Скрытый текст &nbsp; &nbsp; &nbsp; for i=ds:Size()-3 ,ds:Size() do<br />ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />message(tostring(ma_out))<br />endно этот код не работает, в случае с MA ошибка: LuaIndicators\MA.lua:83: attempt to perform arithmetic on field '?' (a nil value)<br /><br />повторяется не только для MA, пробовал разные индикаторы, везде не работает если не с первого значения брать расчет<br />можно править код индикаторов, но может есть решение более правильное, и в data source можно взять последние n значений?...<br />=============<br />Что-то похоже ты смешиваешь теплое с мяхким.<br />&gt;&gt;использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек<br />Эта функция просто открывает поток данных. И заказывает массив всех свечек. Один раз. <br />После этого нужно просто на вызов коллбека (а он вызвается на поступление новых данных) считать свою МАшку.<br /><br />&gt;&gt;Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей: &nbsp; &nbsp; Скрытый текст &nbsp; &nbsp; &nbsp; for i=1,ds:Size() do<br />&gt;&gt;		ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />Конечно долго.<br />Ты пересчитываешь МАшку по 22 свечам, в цикле ПО ВСЕМ доступным свечкам.<br />Хотя, для расчета последних трех значений МА(22) тебе нужно не более 22+3 свечей.<br /><br />Почему неработает этот код:<br />&gt;&gt;		for i=ds:Size()-3 ,ds:Size() do<br />&gt;&gt;		ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />Я тебе с лету сказать не могу, но вероятно ошибка где-то внутри =func(...)<br /><br />Используй коллбеки, Люк!<br />В мануале на луа есть функция <br />BOOLEAN res SetUpdateCallback (FUNCTION callback_function)<br />Думаю, это решит твой вопрос :) <br />
			<i>20.09.2016 13:42:10, Imersio Arrigo.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18684/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18684/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 13:42:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18683/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_n28u0FHn" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br />значит нельзя ограничить количество получаемых свечей(<br /><br />=============<br /><br />Почему нельзя? Конечно можно. Другой вопрос что мы это за Вас делать не будем. Примеры предоставляются "как есть" и каждый может их переписать на свое усмотрение.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_kAOIT6KO" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br /> может быть есть способы распараллеливания вычислений в lua чтобы ускорить вычисления? многопоточность поддерживается?<br />=============<br />"многопоточность" есть только в виде функции main.<br />Другие варианты, можно посмотреть в документации на язык lua. <br />
			<i>20.09.2016 12:16:52, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18683/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18683/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 12:16:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18682/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			ok<br />значит нельзя ограничить количество получаемых свечей(<br />тогда, может быть есть способы распараллеливания вычислений в lua чтобы ускорить вычисления? многопоточность поддерживается? <br />
			<i>20.09.2016 12:13:58, tdm.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18682/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18682/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 12:13:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18681/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_fYEvzOKc" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br />почему аналогично нельзя сделать для последних 30 значений? сначала будет "ничего", а для последних свечек получу значение, этого вполне достаточно<br />=============<br /><br />Сделайте. <br />Те функции которые Вы используете не более чем пример. А значит Вы вольны их переписывать как угодно. <br />
			<i>20.09.2016 11:53:16, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18681/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18681/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 11:53:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18679/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			понятно, что требует. Но если этого значения нет, то скрипт не стесняется выдавать nil и это правильно. Т.е. если период равен 22, а брать первые 30 значений, то он сначала выведет 22 раза nil, а для остальных 8 посчитает значение. <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>for i=ds:Size()-3 ,ds:Size() do <br />ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds) <br />message(tostring(ma_out)) <br />end</td></tr></tbody></table>почему аналогично нельзя сделать для последних 30 значений? сначала будет &quot;ничего&quot;, а для последних свечек получу значение, этого вполне достаточно <br />
			<i>20.09.2016 11:26:06, tdm.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18679/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18679/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 11:26:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18678/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_HIhYrCfY" href="/user/952/" bx-tooltip-user-id="952">tdm</a> написал:<br />везде не работает если не с первого значения брать расчет<br /><br />=============<br /><br />Тип "EMA" требует для расчета свои предыдущие значения.<br />По этому нужно делать расчет начиная с первого значения. <br />
			<i>20.09.2016 10:07:59, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18678/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18678/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 10:07:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18674/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			МА же учитывает предыдущие значения для расчетов, а вы их отбрасываете <br />
			<i>20.09.2016 05:37:48, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18674/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18674/topic2122/</guid>
			<pubDate>Tue, 20 Sep 2016 05:37:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>CreateDataSource: ограничить число полученных свечек</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message18672/topic2122/">CreateDataSource: ограничить число полученных свечек</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пробую реализовать в скрипте то что я делаю визуально<br />использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек<br />Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей:<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>for i=1,ds:Size() do<br />		ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />		message(tostring(ma_out))<br />	end</td></tr></tbody></table>хочу допустим 3 последних значения:<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>for i=ds:Size()-3 ,ds:Size() do<br />ma_out=func(i, {Period=22, Metod = &quot;EMA&quot;, VType=&quot;Close&quot;, round=2}, ds)<br />message(tostring(ma_out))<br />end</td></tr></tbody></table>но этот код не работает, в случае с MA ошибка: LuaIndicators\MA.lua:83: attempt to perform arithmetic on field '?' (a nil value)<br /><br />повторяется не только для MA, пробовал разные индикаторы, везде не работает если не с первого значения брать расчет<br />можно править код индикаторов, но может есть решение более правильное, и в data source можно взять последние n значений?... <br />
			<i>19.09.2016 23:10:29, tdm.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message18672/topic2122/</link>
			<guid>http://forum.quik.ru/messages/forum10/message18672/topic2122/</guid>
			<pubDate>Mon, 19 Sep 2016 23:10:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
