<?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>Sun, 19 Apr 2026 23:21:42 +0300</pubDate>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56694/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1LlLfb4M" href="/user/47/" bx-tooltip-user-id="47"><noindex><a href="mailto:s_mike@rambler.ru" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex></a> написал:<br />И ещё нужно учитывать, что на тиковых интервалах &nbsp;все свечи имеют разное время. Непонятно, что вы хотите увидеть, вычитая значение Газпрома в один момент времени из значения Лукойла в другой момент.<br />=============<br />не, я графически строил дельту АМА для текущего и предыдущего значения одного графика. для наглядности) <br />
			<i>16.07.2021 22:38:33, Михаил.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56694/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56694/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 22:38:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56693/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И ещё нужно учитывать, что на тиковых интервалах &nbsp;все свечи имеют разное время. Непонятно, что вы хотите увидеть, вычитая значение Газпрома в один момент времени из значения Лукойла в другой момент. <br />
			<i>16.07.2021 18:50:59, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56693/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56693/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 18:50:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56692/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_06RWIzyq" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Необходимо еще учитывать то, что при старте терминала индикаторы не могут инициализироваться одновременно. Текущий запустился первый, а два других, с которых данные считываются - еще нет. Или в другой последовательности.<br />=============<br />думаю вы правы, спасибо <br />
			<i>16.07.2021 16:52:58, Михаил.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56692/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56692/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 16:52:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56691/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Необходимо еще учитывать то, что при старте терминала индикаторы не могут инициализироваться одновременно. Текущий запустился первый, а два других, с которых данные считываются - еще нет. Или в другой последовательности. <br />
			<i>16.07.2021 16:04:07, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56691/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56691/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 16:04:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56690/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пардоньте, сейчас все работает. Тогда не очень понимаю, почему при перезагрузке до этого не работало.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4AcpPz1d" href="/user/47/" bx-tooltip-user-id="47"><noindex><a href="mailto:s_mike@rambler.ru" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex></a> написал:<br />Может быть потому, что у разных инструментов разное количество свечей?<br />=============<br />Да, конечно разное, даже для одного инструмента. Но в индикаторе оно не статично. <br />
			<i>16.07.2021 15:59:38, Михаил.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56690/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56690/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 15:59:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56689/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Может быть потому, что у разных инструментов разное количество свечей? <br />
			<i>16.07.2021 15:38:35, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56689/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56689/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 15:38:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по индикатору.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56688/topic6590/">Вопрос по индикатору.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день!<br />Пытаюсь разобраться с индикаторами. Появился вопрос. Есть индикатор, который вычисляет разность между двумя свечками другого индикатора. Добавляю его на тиковый график в quikjunior, он работает и показывает разность двух свечей-тиков. Перезапускаю quikjunior, оставив индикатор на графике, он перестает работать и вычислять разность, так как свеча s0 все время равна нулю. Подскажите ошибку и что делаю не так. <br /><br />Settings = {<br />Name = &quot;**Raznost_SiU1_MyRobot&quot;, <br />tag_graf=&quot;SMA_SiU1&quot;,<br />line = {<br />		{<br />		Name = &quot;AMA&quot;, <br />		Type = TYPE_LINE, <br />		Color = RGB(221, 44, 44)<br />		}<br />		},<br />}<br /><br />function Init()<br />	return 1<br />end<br /><br />function OnCalculate(Index)<br />	local Candle_Count = getNumCandles(Settings.tag_graf)<br />	local candel_prav=Candle_Count-Index<br />	PrintDbgStr(&quot;Candle_Count&quot;..type2str(Candle_Count))<br />	PrintDbgStr(&quot;candel_prav&quot;..type2str(candel_prav))<br />	<br />	local s1=GetGraphValueByCandle(Settings.tag_graf, candel_prav+1, 0)<br />	local s0=GetGraphValueByCandle(Settings.tag_graf, candel_prav, 0) or s1<br />	PrintDbgStr(&quot;s0&quot;..type2str(s0))<br />	PrintDbgStr(&quot;s1&quot;..type2str(s1))<br />	s0=math_round(s0.close,7)<br />	s1=math_round(s1.close,7)<br />	<br />	PrintDbgStr(&quot;Index&quot;..type2str(Index))<br />	PrintDbgStr(&quot;s0&quot;..type2str(s0))<br />	PrintDbgStr(&quot;s1&quot;..type2str(s1))<br />		<br /><br />	local razn=s0-s1<br />	PrintDbgStr(&quot;razn&quot;..type2str(razn))<br />	return razn<br />end<br /><br /><br /><br />--Функция преобразования переменной любого типа и таблицы в строку<br />function table2string(table)--запись таблицы в строку<br />	local k,v,str=0,0,&quot;&quot;<br />	for k,v in pairs(table) do<br />		if type(v)==&quot;string&quot; or type(v)==&quot;number&quot; then<br />			str=str..k..&quot;=&quot;..v..&#39;;&#39;<br />		elseif type(v)==&quot;table&quot;then<br />			str=str..k..&quot;={&quot;..table2string(v)..&quot;};&quot;<br />		elseif type(v)==&quot;function&quot; or type(v)==&#39;boolean&#39; then<br />			str=str..k..&#39;=&#39;..tostring(v)..&#39;;&#39;<br />		end<br />	end<br />	return str<br />end<br /><br />--Функия добавления типа переменной и значения при использовании PrintDbgStr()<br />function type2str(value)<br />	local t,str=type(value),&quot;&quot;<br />	if t==&quot;string&quot; or t==&quot;number&quot; then<br />		str=&quot;:|&quot;..t..&quot;|&quot;..value<br />	elseif t==&quot;table&quot;then<br />		str=table2string(value)<br />		str=&quot;:|&quot;..t..&quot;|&quot;..str<br />	elseif t==&quot;function&quot; or t==&#39;boolean&#39; then<br />		str=&quot;:|&quot;..t..&quot;|&quot;..tostring(value)<br />	end<br />	return str<br />end<br /><br />------------------------------------------------------<br />--Функция возвращает свечу (таблицу) графика<br />------------------------------------------------------<br />function GetGraphValueByCandle(tag, candle_num, line)<br />--&#91;&#91;<br />tag - тэг графика\индикатора, <br />candle_num - номер запрашиваемой свечи(СПРАВА): 0 - текущая, 1 - предыдущая и тд, <br />line - номер линии графика\индикатора&#93;&#93;<br /> &nbsp; --PrintDbgStr(&quot;Пуск GetGraphValueByCandle,tag=&quot;..type2str(tag))<br />	local CandleCount = getNumCandles(tag)--получает количество свечей по идентификатору tag<br />	--PrintDbgStr(&quot;GetGraphValueByCandle,CandleCount=&quot;..type2str(CandleCount))<br /> &nbsp; &nbsp;local LinesCount = getLinesCount(tag)--получения количества линий в графике<br /> &nbsp; &nbsp;local c_num = candle_num<br /> &nbsp; &nbsp;if ( candle_num == nil or candle_num==0 ) then<br /> &nbsp; &nbsp; &nbsp; &nbsp;c_num = CandleCount-1<br /> &nbsp; &nbsp;end<br /> &nbsp; &nbsp;if (candle_num&gt;0)then<br /> &nbsp; &nbsp; &nbsp; &nbsp;c_num = CandleCount-1-candle_num<br /> &nbsp; &nbsp;end<br /> &nbsp; &nbsp;if ( line == nil ) then<br /> &nbsp; &nbsp; &nbsp; &nbsp;line = 0<br /> &nbsp; &nbsp;end<br /> &nbsp; &nbsp;if (CandleCount == nil or LinesCount == nil) then<br /> &nbsp; &nbsp; &nbsp; &nbsp;message(&quot;qlib.GetGraphValueByCandle(): error occured, cannot aqquire candle or line data&quot;..tag,3)<br /> &nbsp; &nbsp; &nbsp; &nbsp;return 0<br /> &nbsp; &nbsp;end<br /> &nbsp; &nbsp;if (tag == nil) then<br /> &nbsp; &nbsp; &nbsp; &nbsp;message(&quot;qlib.GetGraphValueByCandle(): error occured, tag is nil&quot;..tag,3)<br /> &nbsp; &nbsp; &nbsp; &nbsp;return 0<br /> &nbsp; &nbsp;end<br /> &nbsp; &nbsp;t, num, legend = getCandlesByIndex(tag, line, c_num, 1)--получения информации о свечках по идентификатору, график должен быть открыт<br />	--&#91;&#91;Формат вызова getCandlesByIndex():<br />	TABLE t, NUMBER n, STRING l getCandlesByIndex (STRING tag, NUMBER line, NUMBER first_candle, NUMBER count)<br />	Параметры:<br />		• tag – строковый идентификатор графика или индикатора,<br />		• line – номер линии графика или индикатора. Первая линия имеет номер 0,<br />		• first_candle – индекс первой свечки. Первая (самая левая) свечка имеет индекс 0,<br />		• count – количество запрашиваемых свечек.<br />	Возвращаемые значения:<br />		• t – таблица, содержащая запрашиваемые свечки,<br />		• n – количество свечек в таблице t,<br />		• l – легенда (подпись) графика.&#93;&#93;<br /> &nbsp; &nbsp;--PrintDbgStr(&quot;t&quot;..type2str(t))<br />	--PrintDbgStr(&quot;num&quot;..type2str(num))<br />	--PrintDbgStr(&quot;legend&quot;..type2str(legend))<br />	if ( num == 0 ) then<br /> &nbsp; &nbsp; &nbsp; &nbsp;message(&quot;qlib.GetGraphValueByCandle(): error occured, no candles aqquired&quot;..tag,3)<br /> &nbsp; &nbsp; &nbsp; &nbsp;return 0<br /> &nbsp; &nbsp;end<br />	--PrintDbgStr(&quot;return GetGraphValueByCandle,t&#91;0&#93;&quot;..type2str(t&#91;0&#93;))<br /> &nbsp; &nbsp;return t&#91;0&#93;<br />end<br /><br />function math_round( roundIn , roundDig ) -- первый аргумент - число которое надо округлить, второй аргумент - количество символов после запятой.<br /> &nbsp; &nbsp; local mul = math.pow( 10, roundDig )<br /> &nbsp; &nbsp; return ( math.floor( ( roundIn * mul ) + 0.5 )/mul )<br />end <br />
			<i>16.07.2021 15:29:11, Михаил.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56688/topic6590/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56688/topic6590/</guid>
			<pubDate>Fri, 16 Jul 2021 15:29:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
