<?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>Sat, 02 May 2026 22:32:32 +0300</pubDate>
		<item>
			<title>Не получать данные индикатора повторно</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19546/topic2181/">Не получать данные индикатора повторно</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А что &nbsp;мешает хранить старые значения постоянно в глобальных переменных? собственно они и так у вас описаны как глобальные. <br />Вы можете например запоминать значение RSI_n, в переменную RSI_n_prev и затем загружать значения &nbsp;всех свечей, кроме последней, только если <br />RSI_n не равен RSI_n_prev &nbsp; <br />
			<i>20.10.2016 13:55:45, Sergey Denegin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19546/topic2181/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19546/topic2181/</guid>
			<pubDate>Thu, 20 Oct 2016 13:55:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Не получать данные индикатора повторно</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19317/topic2181/">Не получать данные индикатора повторно</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Господа, прошу помочь оптимизировать код. Я знаю что опытные программисты полностью избегают многократного получения одних и тех же данных индикатора. Я так не умею, мой код выглядит так:<br /><br />
====code====
<pre>до функции main

ticker_list = "AFLT,ALRS,BANE,CHMF,FEES,GAZP,GMKN,HYDR,IRAO,LKOH,MAGN,MFON,MGNT,MOEX,MTLR,MTSS,NLMK,NVTK,RASP,ROSN,RSTI,RTKM,SBER,SIBN,SNGS,SNGSP,TATN,URKA,VTBR"

indicator={}


внутри main:

for sec in string.gmatch(ticker_list,"%a+") do
sleep (1000)

&nbsp;&nbsp;&nbsp;&nbsp;--получаем данные индикатора RSI
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chart_inst=tostring("RSI_"..sec)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RSI_n = getNumCandles (chart_inst)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_0 = getCandlesByIndex(chart_inst,0,RSI_n-1,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_1 = getCandlesByIndex(chart_inst,0,RSI_n-2,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_2 = getCandlesByIndex(chart_inst,0,RSI_n-3,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_3 = getCandlesByIndex(chart_inst,0,RSI_n-4,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_4 = getCandlesByIndex(chart_inst,0,RSI_n-5,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_5 = getCandlesByIndex(chart_inst,0,RSI_n-6,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_6 = getCandlesByIndex(chart_inst,0,RSI_n-7,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_7 = getCandlesByIndex(chart_inst,0,RSI_n-8,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_8 = getCandlesByIndex(chart_inst,0,RSI_n-9,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_9 = getCandlesByIndex(chart_inst,0,RSI_n-10,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_10 = getCandlesByIndex(chart_inst,0,RSI_n-11,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_11 = getCandlesByIndex(chart_inst,0,RSI_n-12,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_12 = getCandlesByIndex(chart_inst,0,RSI_n-13,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_13 = getCandlesByIndex(chart_inst,0,RSI_n-14,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_14 = getCandlesByIndex(chart_inst,0,RSI_n-15,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_15 = getCandlesByIndex(chart_inst,0,RSI_n-16,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_16 = getCandlesByIndex(chart_inst,0,RSI_n-17,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_17 = getCandlesByIndex(chart_inst,0,RSI_n-18,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_18 = getCandlesByIndex(chart_inst,0,RSI_n-19,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_19 = getCandlesByIndex(chart_inst,0,RSI_n-20,1)&#91;0&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indicator&#91;sec&#93;.rsi_20 = getCandlesByIndex(chart_inst,0,RSI_n-21,1)&#91;0&#93;.close

анализируем полученные данные. Для анализа нужны все 21 значение. 

end</pre>
=============
<br />То есть каждый раз робот делает лишние действия - получает свечи, которые не поменялись и уже не поменяются. Прошу подсказки как не получать все значения на каждой итерации, а получать только свежую свечу - текущую, то есть indicator&#91;sec&#93;.rsi_0 <br />
			<i>10.10.2016 17:37:16, Космонавт.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19317/topic2181/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19317/topic2181/</guid>
			<pubDate>Mon, 10 Oct 2016 17:37:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
