<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Получить в индикаторе значение цены ещё до OnCalculate()]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Получить в индикаторе значение цены ещё до OnCalculate() форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 20:06:25 +0300</pubDate>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43573/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			можно так:<br />----------------<br />function oncalculate(indx)<br />if bar1 then<br />-- основное тело<br />else<br /> bar1 = C(1) <br />end<br />-------------- <br />
			<i>12.04.2020 16:00:01, Николай Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43573/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43573/topic5250/</guid>
			<pubDate>Sun, 12 Apr 2020 16:00:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43270/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9wnzMbQ5" 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>01.04.2020 21:19:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43270/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43270/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 21:19:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43269/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nhNA1J7A" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13774/" target="_blank" rel="nofollow">Святослав</a></noindex> написал:<br />СОВСЕМ убрать ненужные повторяющиеся операции.<br />=============<br /> Ну тогда запробуйте как-то так<br /> 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; OnCalculate (idx)
&nbsp;&nbsp; local&nbsp;&nbsp;base_price&nbsp;&nbsp;=&nbsp;&nbsp;C(idx)
&nbsp;&nbsp;OnCalcul ate&nbsp;&nbsp;=&nbsp;&nbsp; function (index)
&nbsp;&nbsp;&nbsp;&nbsp; -- your code here 
&nbsp;&nbsp; end 
 end 
&nbsp;&nbsp;</pre>
=============
 <br />=============<br />так делать нельзя. Перезапуск индикатора может быть вследствие разных причин. Некоторые из которых могут &nbsp;привести к изменению первой свечи.<br /><br />что касается миллионных долей секунды - не нужно обращать на это внимание. <br />
			<i>01.04.2020 21:14:40, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43269/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43269/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 21:14:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43267/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WaWQvfTa" href="/user/13774/" bx-tooltip-user-id="13774">Святослав</a> написал:<br />СОВСЕМ убрать ненужные повторяющиеся операции.<br />=============<br />Ну тогда запробуйте как-то так<br />
====code====
<pre>function OnCalculate(idx)
&nbsp;&nbsp;local base_price = C(idx)
&nbsp;&nbsp;OnCalcul ate = function(index)
&nbsp;&nbsp;&nbsp;&nbsp;-- your code here
&nbsp;&nbsp;end
end
</pre>
============= <br />
			<i>01.04.2020 20:54:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43267/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43267/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 20:54:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43266/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_f61ETYxn" 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 />Спасибо за ответ, но я хотел СОВСЕМ убрать ненужные повторяющиеся операции. В вашем решении при каждом OnCalculate будет производиться необязательный &quot; if indx == 1 &quot;, а выполнять этот if при каждой сделке не рационально. Я понимаю, что это миллионные доли секунды, но и самих сделок на МосБирже может быть тоже десятки тысяч в день.<br />А способа получить цену закрытия первого бара ещё до выполнения первого OnCalculate вы никакого не видите? Может, через функцию Main() от робота и засунуть в файл? <br />
			<i>01.04.2020 20:44:19, Святослав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43266/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43266/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 20:44:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43264/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_LPh8NwBs" href="/user/13774/" bx-tooltip-user-id="13774">Святослав</a> написал:<br />Здравствуйте. <br />Пишу индикатор. Мне нужно взять значение цены закрытия первого бара, чтобы постоянно использовать его в OnCalculate().<br />Проблема в том, что если брать цену первого бара в OnCalculate, то ОДНО И ТО ЖЕ значение первого бара будет браться каждый раз при выполнении OnCalculate() - то есть для каждой свечки/сделки.<br />А это не рационально в плане производительности.<br />Как вначале ОДНОКРАТНО получить значение цены первого бара (присвою глобальной переменной), а потом уже применять это значение в OnCalculate()?<br /><br />Может, в Init() можно это сделать?<br />=============<br />Local bar1<br /><br />function oncalculate(indx)<br /><br />if indx == 1 then <br />bar1 = C(1)<br />end<br /><br />остaльной текст индикатора<br /><br />end <br />
			<i>01.04.2020 20:15:40, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43264/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43264/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 20:15:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить в индикаторе значение цены ещё до OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message43257/topic5250/">Получить в индикаторе значение цены ещё до OnCalculate()</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте. <br />Пишу индикатор. Мне нужно взять значение цены закрытия первого бара, чтобы постоянно использовать его в OnCalculate().<br />Проблема в том, что если брать цену первого бара в OnCalculate, то ОДНО И ТО ЖЕ значение первого бара будет браться каждый раз при выполнении OnCalculate() - то есть для каждой свечки/сделки.<br />А это не рационально в плане производительности.<br />Как вначале ОДНОКРАТНО получить значение цены первого бара (присвою глобальной переменной), а потом уже применять это значение в OnCalculate()?<br /><br />Может, в Init() можно это сделать? <br />
			<i>01.04.2020 18:47:23, Святослав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message43257/topic5250/</link>
			<guid>http://forum.quik.ru/messages/forum10/message43257/topic5250/</guid>
			<pubDate>Wed, 01 Apr 2020 18:47:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
