<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate() форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 24 Apr 2026 14:48:30 +0300</pubDate>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57404/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			Хороший вариант, попробую его использовать. Спасибо. <br />
			<i>19.08.2021 08:21:00, Андрей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57404/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57404/topic6652/</guid>
			<pubDate>Thu, 19 Aug 2021 08:21:00 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57403/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_q7XBu9Ku" href="/user/14237/" bx-tooltip-user-id="14237">vladindre</a> написал:<br />У меня из-за этой фичи пишутся в файл две одинаковые записи , что приводит к дальнейшему слому моего алгоритма чтения/записи.<br />Приходится выкорячиваться и обходить эту фичу всякими нецензурными методами. Зато программерское мастерство сильно хорошо<br />оттачивается.<br />=============<br />Как уже сказали, этому косяку уже много лет, и фиксить его разрабы почему-то не желают.<br /><br />У себя я решил проблему примерно так (упростил и вырезал стратегию)<br />
====code====
<pre>function OnCalculate(i)
&nbsp;&nbsp;if(sec_code~=getDataSourceInfo().sec_code)or(class_code~=getDataSourceInfo().class_code)or(interval~=getDataSourceInfo().interval)then
&nbsp;&nbsp;&nbsp;&nbsp;lines={} -- Массив со кешем рабочих линий
&nbsp;&nbsp;&nbsp;&nbsp;interval=getDataSourceInfo().interval
&nbsp;&nbsp;&nbsp;&nbsp;sec_code=getDataSourceInfo().sec_code
&nbsp;&nbsp;&nbsp;&nbsp;class_code=getDataSourceInfo().class_code
&nbsp;&nbsp;end
&nbsp;&nbsp;if CandleExist(i) and lines&#91;i&#93;==nil then
&nbsp;&nbsp;&nbsp;&nbsp;-- тут мои вычисления
&nbsp;&nbsp;&nbsp;&nbsp;lines&#91;i&#93;={}
&nbsp;&nbsp;&nbsp;&nbsp;lines&#91;i&#93;&#91;"S"&#93;=sell
&nbsp;&nbsp;&nbsp;&nbsp;lines&#91;i&#93;&#91;"B"&#93;=buy
&nbsp;&nbsp;end
&nbsp;&nbsp;return lines&#91;i&#93;&#91;"S"&#93;,lines&#91;i&#93;&#91;"B"&#93;
end</pre>
=============
В результате индикатор рассчитывается для каждой свечи только один раз, и полностью пересчитывается при смене инструмента или интервала <br />
			<i>19.08.2021 00:02:55, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57403/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57403/topic6652/</guid>
			<pubDate>Thu, 19 Aug 2021 00:02:55 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57402/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			У меня из-за этой фичи пишутся в файл две одинаковые записи , что приводит к дальнейшему слому моего алгоритма чтения/записи.<br />Приходится выкорячиваться и обходить эту фичу всякими нецензурными методами. Зато программерское мастерство сильно хорошо<br />оттачивается. <br />
			<i>18.08.2021 21:56:07, vladindre.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57402/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57402/topic6652/</guid>
			<pubDate>Wed, 18 Aug 2021 21:56:07 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57399/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			Это не ошибка,это фиииииича. <br /><br />просили много раз об этом, но разработчикам , видимо, так удобно. <br />
			<i>18.08.2021 19:44:56, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57399/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57399/topic6652/</guid>
			<pubDate>Wed, 18 Aug 2021 19:44:56 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57395/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			Данная ошибка выявлена в версиях:<br />Версия 9.1.1.3<br />Версия 8.13.3.1 <br />
			<i>18.08.2021 19:01:06, Андрей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57395/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57395/topic6652/</guid>
			<pubDate>Wed, 18 Aug 2021 19:01:06 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
		<item>
			<title>Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum8/message57394/topic6652/">Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate()</a></b> <i>При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()</i> в форуме <a href="http://forum.quik.ru/forum8/">Пожелания по развитию QUIK</a>. <br />
			При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()<br /><br />То есть два раза прогоняются все индексы от 1 до последнего - Size(), через функцию OnCalculate()<br /><br />Описание - какие методы вызываются при добавлении индикатора.<br /><br />Когда и какие методы вызываются, и сколько раз.<br /><br />------<br />добавление индикатора через (Редактировать -&gt; Добавить)<br />- Init()<br />- OnCalculate() - все индексы прогоняются 2 раза<br /><br />&#91;Применить&#93; - вызывает OnCalculate() со всеми свечами<br />&#91;OK&#93; - вызывает OnCalculate() со всеми свечами<br /><br />------<br />добавление индикатора через (Добавить график (индикатор) -&gt; Добавить)<br />- Init()<br />- OnCalculate() - все индексы прогоняются 2 раза<br /><br />------<br />Смена таймфрейма:<br />- OnCalculate() - все индексы прогоняются 1 раз<br /><br />------<br />Смена инструмента: - через таблицу &quot;Текущих торгов&quot; - если график заякорён к ней<br />- Init()<br />- OnChangeSettings()<br /><br />- OnCalculate() - все индексы прогоняются 1 раз<br /><br />------<br />Изменение настроек в ручную:<br />- OnChangeSettings()<br />- OnCalculate() - все индексы прогоняются 2 раза<br /><br />------<br />Удаление индикатора:<br />- OnDestroy()<br />------<br /><br />Просьба к разработчикам исправить неправильную обработку добавления индикатора<br />и сделать при добавлении нового индикатора на график 1 прогон всех индексов через функцию - OnCalculate() <br />
			<i>18.08.2021 18:59:57, Андрей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum8/message57394/topic6652/</link>
			<guid>http://forum.quik.ru/messages/forum8/message57394/topic6652/</guid>
			<pubDate>Wed, 18 Aug 2021 18:59:57 +0300</pubDate>
			<category>Пожелания по развитию QUIK</category>
		</item>
	</channel>
</rss>
