<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Индикатор на lua]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Индикатор на lua форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 05 Apr 2026 22:07:13 +0300</pubDate>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70168/topic8131/">Индикатор на lua </a></b> <i>Значение индикатора не меняется при смене инструмента</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			ставьте вывод в лог файл и отлаживайте свой скрипт.<br />Я вам написал что не так.<br />Но как Вам надо знаете лишь Вы. Никто за Вас делать не будет.<br />--------------------------<br />Рекомендую изучить документацию на библиотеку QLua и программирование на Lua<br />Там есть функции которые Вам надо применить. <br />
			<i>01.07.2023 22:12:55, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70168/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70168/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 22:12:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70167/topic8131/">Индикатор на lua </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_c48w2qK5" href="/user/16146/" bx-tooltip-user-id="16146">Энн</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />У Вас значения вычисляются лишь один раз при запуске скрипта<br />Чтобы значение пересчитывалось надо вычисления поместить в функцию OnCalculate<br />Попробуйте так: &nbsp;
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;&nbsp;&nbsp;&nbsp;Init ()
&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;
&nbsp;&nbsp;end&nbsp;&nbsp;

&nbsp;&nbsp;function&nbsp;&nbsp;&nbsp;&nbsp;OnCalculate (index)
x&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; getNumCandles&nbsp;&nbsp;(&nbsp;&nbsp;'ACTIVE'&nbsp;&nbsp;)&nbsp;&nbsp; -- расчет количества баров на дневном графике с идентификатором "ACTIVE"&nbsp;&nbsp;
ACTIVE, ACTIVE_N, ACTIVE_Name&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp;&nbsp; getCandlesByIndex&nbsp;&nbsp;(&nbsp;&nbsp;'ACTIVE'&nbsp;&nbsp;,&nbsp;&nbsp; 0&nbsp;&nbsp;,&nbsp;&nbsp; 0&nbsp;&nbsp;, x)&nbsp;&nbsp; -- поиск параметров конкретного бара на дневном графике с идентификатором "ACTIVE"&nbsp;&nbsp;
L1_ACTIVE&nbsp;&nbsp; =&nbsp;&nbsp; ACTIVE&#91;ACTIVE_N&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&#93;.low&nbsp;&nbsp; -- low -1 бара&nbsp;&nbsp;
&nbsp;&nbsp;return&nbsp;&nbsp; L1_ACTIVE&nbsp;&nbsp; -- вывожу искомое значение&nbsp;&nbsp;
&nbsp;&nbsp;end&nbsp;&nbsp;
&nbsp;&nbsp; </pre>
=============
 &nbsp;<br />=============<br /> Спустя время квик выдает 17 тысяч оповещений.<br /><br />C:\QuikFinam\LuaIndicators\aaa.lua:19: attempt to index a nil value (field &#39;?&#39;)<br />=============<br />в 19 строке параметр не определен. Ищите в своем коде 19 строку и проверяйте что там. 17 тысяч - это число рпз вызова OnCalculate<br />Если Вам не надо обрабатывать все свечи ( в вашем случае это так то попробуйте так
====code====
<pre> function&nbsp;&nbsp; OnCalculate (index)
if index==1 then
x&nbsp;&nbsp;=&nbsp;&nbsp; getNumCandles ( 'ACTIVE' )&nbsp;&nbsp;-- расчет количества баров на дневном графике с идентификатором "ACTIVE" 
ACTIVE, ACTIVE_N, ACTIVE_Name&nbsp;&nbsp;=&nbsp;&nbsp; getCandlesByIndex ( 'ACTIVE' ,&nbsp;&nbsp;0 ,&nbsp;&nbsp;0 , x)&nbsp;&nbsp;-- поиск параметров конкретного бара на дневном графике с идентификатором "ACTIVE" 
L1_ACTIVE&nbsp;&nbsp;=&nbsp;&nbsp;ACTIVE&#91;ACTIVE_N -&nbsp;&nbsp;2 &#93;.low&nbsp;&nbsp;-- low -1 бара 
end
 return&nbsp;&nbsp;L1_ACTIVE&nbsp;&nbsp;-- вывожу искомое значение 
 end </pre>
============= <br />
			<i>01.07.2023 22:09:16, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70167/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70167/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 22:09:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70165/topic8131/">Индикатор на lua </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_lBITvC6L" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />У Вас значения вычисляются лишь один раз при запуске скрипта<br />Чтобы значение пересчитывалось надо вычисления поместить в функцию OnCalculate<br />Попробуйте так: 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; Init ()
 return&nbsp;&nbsp; 1 
 end 

 function&nbsp;&nbsp; OnCalculate (index)
x&nbsp;&nbsp;=&nbsp;&nbsp; getNumCandles ( 'ACTIVE' )&nbsp;&nbsp;-- расчет количества баров на дневном графике с идентификатором "ACTIVE" 
ACTIVE, ACTIVE_N, ACTIVE_Name&nbsp;&nbsp;=&nbsp;&nbsp; getCandlesByIndex ( 'ACTIVE' ,&nbsp;&nbsp;0 ,&nbsp;&nbsp;0 , x)&nbsp;&nbsp;-- поиск параметров конкретного бара на дневном графике с идентификатором "ACTIVE" 
L1_ACTIVE&nbsp;&nbsp;=&nbsp;&nbsp;ACTIVE&#91;ACTIVE_N -&nbsp;&nbsp;2 &#93;.low&nbsp;&nbsp;-- low -1 бара 
 return&nbsp;&nbsp;L1_ACTIVE&nbsp;&nbsp;-- вывожу искомое значение 
 end 
 </pre>
=============
 <br />=============<br />Спустя время квик выдает 17 тысяч оповещений.<br /><br />C:\QuikFinam\LuaIndicators\aaa.lua:19: attempt to index a nil value (field &#39;?&#39;) <br />
			<i>01.07.2023 19:32:41, Энн.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70165/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70165/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 19:32:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70164/topic8131/">Индикатор на lua </a></b> <i>Значение индикатора не меняется при смене инструмента</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Такой вариант тоже испробован. При добавлении индикатора, Квик просто перестает отвечать (висит). Приходится перезагружать программу полностью.<br />Может знаете еще какой-нибудь способ? <br />
			<i>01.07.2023 19:21:35, Энн.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70164/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70164/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 19:21:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70163/topic8131/">Индикатор на lua </a></b> <i>Значение индикатора не меняется при смене инструмента</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У Вас значения вычисляются лишь один раз при запуске скрипта<br />Чтобы значение пересчитывалось надо вычисления поместить в функцию OnCalculate<br />Попробуйте так:
====code====
<pre>function Init()
return 1
end

function OnCalculate(index)
x = getNumCandles('ACTIVE') -- расчет количества баров на дневном графике с идентификатором "ACTIVE"
ACTIVE, ACTIVE_N, ACTIVE_Name = getCandlesByIndex('ACTIVE', 0, 0, x) -- поиск параметров конкретного бара на дневном графике с идентификатором "ACTIVE"
L1_ACTIVE = ACTIVE&#91;ACTIVE_N-2&#93;.low -- low -1 бара
return L1_ACTIVE -- вывожу искомое значение
end
</pre>
============= <br />
			<i>01.07.2023 19:04:25, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70163/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70163/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 19:04:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Индикатор на lua </title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70162/topic8131/">Индикатор на lua </a></b> <i>Значение индикатора не меняется при смене инструмента</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Уважаемые форумчане! Нужна помощь начинающему.<br /><br />На графике нужна линия лоя предыдущего дневного бара по активу, график которого в данный момент открыт. <br /><br />Из таблицы текущих торгов создано 2 графика: пятиминутный и дневной с идентификатором ACTIVE (оба графика привязываю к таблице текущих торгов). Добавляю написанный скрипт на пятиминутку. Происходит следующее - рисуется линия с ценой на момент добавления индикатора на график. При смене инструмента линия не перерисовывается. <br /><br />Пример: открыт график NLMK, добавляю индикатор - рисуется линия на отметке 165,7; перелистываю график на CHMF - линия там же, а должна быть на отметке 1160,6.<br /><br />Прошу, подскажите, как изменить скрипт, чтобы он работа корректно.<br /><br />Код, который написан мной, приведен ниже.<br />--------------------------------------------------------------------------------------------------------------------------<br />Settings=<br />	{	Name = &quot;1.aaa&quot;,<br />	line = <br />		{	Name = &quot;Low&quot;,<br />			Color = RGB(34,177,76),<br />			Type = TYPE_DASH,<br />			Width = 1<br />		}<br />	}<br /><br />x = getNumCandles(&#39;ACTIVE&#39;) -- расчет количества баров на дневном графике с идентификатором &quot;ACTIVE&quot;<br />ACTIVE, ACTIVE_N, ACTIVE_Name = getCandlesByIndex(&#39;ACTIVE&#39;, 0, 0, x) -- поиск параметров конкретного бара на дневном графике с идентификатором &quot;ACTIVE&quot;<br />L1_ACTIVE = ACTIVE&#91;ACTIVE_N-2&#93;.low -- low -1 бара<br /><br />function Init()<br />return 1<br />end<br /><br />function OnCalculate(index)<br />return L1_ACTIVE -- вывожу искомое значение<br />end <br />
			<i>01.07.2023 18:37:41, Энн.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70162/topic8131/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70162/topic8131/</guid>
			<pubDate>Sat, 01 Jul 2023 18:37:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
