<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Баг приводит к закрытию Quik - код индикатора прилагается]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Баг приводит к закрытию Quik - код индикатора прилагается форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 13 Jun 2026 07:15:00 +0300</pubDate>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message15064/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br />Добрый день. <br /><br />Павел, воспроизвести проблему не удалось. Просьба обновиться до актуальной версии и сообщите результат.<br /><br />=============<br />Добрый день Егор!<br />Обновил до 7.1.2.2, удалил все свои LUAскрипты и &quot;лишние&quot; dllки. Оставил только скрипт и индикатор, что выше. Подключил, запустил: через 20 минут терминал перестал получать данные с сервера брокера и потом вовсе завис. <br />
			<i>06.04.2016 17:54:52, Павел Сыроешкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message15064/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message15064/topic1576/</guid>
			<pubDate>Wed, 06 Apr 2016 17:54:52 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message15045/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			Добрый день.<br /><br />Павел, воспроизвести проблему не удалось. Просьба обновиться до актуальной версии и сообщите результат. <br />
			<i>06.04.2016 13:53:22, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message15045/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message15045/topic1576/</guid>
			<pubDate>Wed, 06 Apr 2016 13:53:22 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message15029/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			Добрый день!<br /> &nbsp;Похожая проблема:<br /> Самописный индикатор работает в диаграмме бумаги и получает данные извне этой диаграммы (с индикаторов-графиков другой диаграммы, позицию по счету и т.п.), может что-то рисовать или нет. И все ОК.<br />Но если с той же диаграммы, где работает этот индикатор получает данные LUA скрипт (с Price или любого индикатора с присвоенным идентификатором), через некоторое время падает терминал.<br />Смоделирую ситуацию:<br /> &nbsp; Вот для примера коды простенького индикатора и LUA скрипта которые конфликтуют между собой (как к сожалению и более интересные вещи...)<br />Если подключиться к серверу, открыть таблицу позиций по фьючерсам, добавить этот индикатор (можно и в отдельном окне диаграммы), ввести торговый счет, <br /><br />
====code====
<pre>Settings={
Name = "текущая позиция",
client_code="SPBFUT*****",
line={
{
Name = "Лонг",
Type =TYPE_HISTOGRAM,
Width = 3,
Color = RGB(0,255, 0)
},
{
Name = "Шорт",
Type =TYPE_HISTOGRAM,
Width = 3,
Color = RGB(255,0,0)
},
{
Name = "0",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0,0)
}
}}

idx_prosl=0


function Init()
&nbsp;&nbsp;&nbsp;return 3
end

function get_balance(sec, client_code)
local n=getNumberOf("futures_client_holding")
for i=0,n-1 do
limit = getItem("futures_client_holding", i)
if limit~=nil and limit.seccode== sec and limit.trdaccid==client_code then
return limit.totalnet
end
end
return 0
end


function OnCalculate(idx)
if idx==1 then
sec=getDataSourceInfo().sec_code
message(" Код бумаги: "..sec,1)
end
if idx==idx_prosl then -- тек свеча
local balance=get_balance(sec, Settings.client_code)-- можно ограничиться и этим))
if balance&#62;0 then
L,S,N=balance,nil,0
elseif balance&#60;0 then
L,S,N=nil,balance,0
elseif balance==0 then
L,S,N=nil,nil,0
end
else
L,S,N=nil,nil,0
end
idx_prosl=idx
return L,S,N
end

</pre>
=============
в этой же диаграмме присвоить идентификатор &quot;IDD&quot; графику (Price например) &nbsp;и запустить следующий скрипт получающий с него данные, то
====code====
<pre>t={}
ID="IDD"

function OnStop()
do_main=false
end

function main ()
do_main = true
while do_main do
--nc=getNumCandles(ID)
t,_,_ = getCandlesByIndex(ID,0,1,1)

sleep(1000)
end
end

</pre>
=============
<br />Пока в таблице позиций по фьючерсам нет позиции по бумаге или &quot;нуля&quot; от ранее закрытой - все может работать нормально. Но если появится позиция - терминал через какое-то время падает.<br />Версия терминала 6.17.3.6 подключен к реалу.<br />Просьба к разработчикам помочь разобраться... <br />
			<i>05.04.2016 18:07:50, Павел Сыроешкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message15029/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message15029/topic1576/</guid>
			<pubDate>Tue, 05 Apr 2016 18:07:50 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14574/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_29AtZFgH" href="/user/1154/" bx-tooltip-user-id="1154">Фёдор Сухов</a> написал:<br />В чём конфликт был? <br />Скрипт авторговли зависал или вызывал зацикливание, а может быть рекурсия функции была бесконечная?<br />=============<br />Похоже на ошибку в работе функции getCandlesByIndex. Чтобы проверить надо:<br />1. Передать разработчикам код скрипта автоторговли, т.к. без него баг у них не воспроизведётся - у меня нет исходника и нет прав на передачу.<br />или<br />2. Попробовать воспроизвести баг написав упрощенный код автоторговли по имеющейся информации и, если будет воспроизводится, передать его им - не знаю пока что с этим делать... &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_confuse.png" border="0" data-code=":what:" data-definition="SD" alt=":what:" style="width:16px;height:16px;" title="Озадаченно" class="bx-smile" /> <br /><br />Имеющаяся информация такая:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>1. У меня есть lua-скрипт автоторговли, использующий функцию getCandlesByIndex (управляет торговлей, выводит таблицы и мониторит графики и индикаторы) - за последние 500 часов работы ни одного бага.<br />2. Когда я добавляю индикатор "А" (код которого выше), баг воспроизводится как описано выше.<br />3. Если lua-скрипт автоторговли выключить, а индикатор "А" оставить, баг не воспроизводится (разработчики выше подтвердили, т.к. у них нет этого скрипта автоторговли, и у меня вчера пять часов отработал).<br />О чем это говорит? В изолированной среде эти скрипты не должны пересекаться: индикатор "А" использует только локальные переменные и там кроме функции getCandlesByIndex больше ничего нет. И именно эта функция имеется и активно используется в обоих скриптах, обращаясь к данным с "чужих" графиков.</td></tr></tbody></table> <br />
			<i>25.03.2016 16:15:01, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14574/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14574/topic1576/</guid>
			<pubDate>Fri, 25 Mar 2016 16:15:01 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14526/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_hVD12P1w" href="/user/1775/" bx-tooltip-user-id="1775">Максим</a> написал:<br />Большое спасибо за помощь - решение найдено!<br />Как выяснилось это был конфликт двух lua-скриптов. Первый - это индикатор &quot;A&quot;, код которого выше, и второй - скрипт автоторговли, который у меня был запущен. Удалил второй и теперь всё работает как надо.<br /><br />=============<br />В чём конфликт был? <br />Скрипт авторговли зависал или вызывал зацикливание, а может быть рекурсия функции была бесконечная? <br />
			<i>25.03.2016 05:27:06, Фёдор Сухов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14526/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14526/topic1576/</guid>
			<pubDate>Fri, 25 Mar 2016 05:27:06 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14523/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gKFuqxoh" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> написал:<br />Добрый день.<br /><br />Максим, вчера скрипты отработали весь день, падений замечено не было.<br />Можете прислать нам в таком случае Ваш архив рабочего места QUIK без ключей доступа и файла chm.<br />=============<br /><br />Большое спасибо за помощь - решение найдено!<br />Как выяснилось это был конфликт двух lua-скриптов. Первый - это индикатор "A", код которого выше, и второй - скрипт автоторговли, который у меня был запущен. Удалил второй и теперь всё работает как надо.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_bqVTpgiS" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> написал:<br />Вы на каждый тик читаете весь массив свечей с другого графика а это 3000 штук.<br />в результате большой тормоз. <br />Вот примерный код, как надо сделать (не отлаживал ошибки исправьте сами)<br />=============<br /><br />Спасибо, за отличные идеи! <br />
			<i>25.03.2016 00:34:03, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14523/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14523/topic1576/</guid>
			<pubDate>Fri, 25 Mar 2016 00:34:03 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14465/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			прошу прощение, <br />перепутал параметры номер линии и число отсчетов в функции <br />getCandlesByIndex (давно не использовал)<br />поэтому замечание о приеме всех свечей в исходном примере ошибочно.<br />-----------------------------------<br />Но про последний индекс замечание остается<br />Поэтому я предлагаю сделать так:local t_ind2={} 
====code====
<pre>local t_ind2={}
local len2;
&nbsp;&nbsp;function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index ==&nbsp;&nbsp;1&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_ind2={};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len2=0;
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;local len=getNumCandles (Settings.ID)-len2;
&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp; len&#62;0&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t,n,l = getCandlesByIndex (Settings.ID,0,len2,len )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;n&#62;0&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local i=0; while n&#62;i do len2=len2+1; t_ind2&#91;len2&#93;=t&#91;i&#93; i=i+1; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;return t_ind2&#91;len2&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
 end

</pre>
============= <br />
			<i>24.03.2016 07:57:14, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14465/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14465/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:57:14 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14464/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			====code====
<pre>local t_ind2={}
local len2;
&nbsp;&nbsp;function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index ==&nbsp;&nbsp;1&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_ind2={};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len2=0;
&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; getNumCandles (Settings.ID) &#62;=index&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID,len2 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;n&#62;0&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local i=0; while n&#62;i do len2=len2+1; t_ind2&#91;len2&#93;=t&#91;i&#93; i=i+1; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return t_ind2&#91;len2&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
 end
</pre>
============= <br />
			<i>24.03.2016 07:44:41, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14464/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14464/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:44:41 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14463/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			====code====
<pre>local t_ind2={}
local len2;
&nbsp;&nbsp;function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index ==&nbsp;&nbsp;1&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_ind2={};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len2=0;
&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; getNumCandles (Settings.ID) &#62;=index&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID,len2 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;n&#62;0&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local i=0; while n&#62;i do t_ind2&#91;#t_ind2+1&#93;=t&#91;i&#93; i=i+1; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return t_ind2&#91;#t_ind2&#93;.close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
 end

</pre>
============= <br />
			<i>24.03.2016 07:42:00, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14463/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14463/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:42:00 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14462/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			и еще <br />Вы на каждый тик &nbsp;читаете весь массив свечей с другого графика а это 3000 штук.<br />в результате большой тормоз.<br />Вот примерный код, как надо сделать (не отлаживал ошибки исправьте сами)
====code====
<pre>local t_ind2={}
local len2;
&nbsp;&nbsp;function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index ==&nbsp;&nbsp;1&nbsp;&nbsp; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_ind2={};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len2=0;
&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; getNumCandles (Settings.ID) &#62;=index&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID,len2 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;n&#62;0&nbsp;&nbsp; then&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local i=0; while n&#62;i do t_ind2&#91;#t_ind2+1&#93;=t&#91;i&#93; i=i+1; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return t_ind2&#91;#t_ind2&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
 end

</pre>
=============
: <br />
			<i>24.03.2016 07:40:41, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14462/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14462/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:40:41 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14461/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			попробуйте так:<table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>function &nbsp; OnCalculate (index)<br /> &nbsp; &nbsp;if &nbsp;index == &nbsp;1 &nbsp; then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --здесь делаем инициализацию переменных при изменении масштаба этого графика<br /> &nbsp; &nbsp;elseif &nbsp; getNumCandles (Settings.ID) &gt;=index &nbsp;then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; t,n,l = &nbsp;getCandlesByIndex (Settings.ID, 0 ,index - &nbsp;1 , 1 )<br /> &nbsp; &nbsp; &nbsp; if &nbsp;t&#91; 0 &#93;.doesExist == &nbsp;1 &nbsp; then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --проверяем если свечки нет, рассчет не ведется<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if &nbsp;t&#91; 0 &#93;.close~= &nbsp;1e10 &nbsp; then &nbsp; &nbsp; &nbsp; &nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp;t&#91; 0 &#93;.close~= value &nbsp;then &nbsp;value = t&#91; 0 &#93;.close &nbsp;end<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t&#91; 0 &#93;.close = &nbsp;1e10<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &nbsp;value<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end<br /> &nbsp; &nbsp; &nbsp; end<br /> &nbsp; &nbsp;end<br /> end</td></tr></tbody></table> <br />
			<i>24.03.2016 07:28:45, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14461/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14461/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:28:45 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14458/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			Возможно проблема возникает в операторе <br /> t,n,l = &nbsp;getCandlesByIndex (Settings.ID, 0 ,index - &nbsp;1 , 1 )<br />если index-1 ,больше, чем число свечей на первом графике? <br />
			<i>24.03.2016 07:16:32, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14458/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14458/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:16:32 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14457/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_n553O1nr" 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 />Функции O, H, L, C, V, T - <br /><br /><br />Потому что читается не родной график, а другой.<br />=============<br />Понял, спасибо. <br />
			<i>24.03.2016 07:07:32, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14457/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14457/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 07:07:32 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14453/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			Добрый день.<br /><br />Максим, вчера скрипты отработали весь день, падений замечено не было.<br />Можете прислать нам в таком случае Ваш архив рабочего места QUIK без ключей доступа и файла chm. <br />
			<i>24.03.2016 06:18:05, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14453/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14453/topic1576/</guid>
			<pubDate>Thu, 24 Mar 2016 06:18:05 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14417/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_b67BsznP" href="/user/1775/" bx-tooltip-user-id="1775">Максим</a> написал:<br /><br />====quote====<br /> Egor Zaytsev &nbsp; написал:<br />Добрый день.<br /><br />Желательно еще второй индикатор выложить. <br />Еще уточните, случайно dmp файл не формируется при закрытии QUIK?<br />=============<br />Здравствуйте, Егор!<br /><br />Спасибо за ответ. Dmp-файлы не создаются. Quik перестаёт отвечать на запросы пользователя, процесс info.exe не крашится.<br />Ниже последовательность действий для воспроизведения в Quik 7.0.4.10:<br /><br />1. Создать график с инструментом USDRUB_TOM и таймфреймом &nbsp;M60 <br />2. Добавить индикатор &quot;Б&quot;:
====code====
<pre>&nbsp;&nbsp;Settings = {
Name =&nbsp;&nbsp;"Indicator B" ,
line = {{
Name =&nbsp;&nbsp;"Indicator B" ,
Color =&nbsp;&nbsp;0x0000ff ,
Type =&nbsp;&nbsp;1 ,
Width =&nbsp;&nbsp;1 
}}}

 function&nbsp;&nbsp; Init ()
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; # Settings.line
 end 

 function&nbsp;&nbsp; OnCalculate ()
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; 68 
 end 
&nbsp;&nbsp;</pre>
=============
3. Присвоить индикатору &quot;Б&quot; любой идентификатор<br />4. Создать новый график с инструментом USDRUB_TOM и таймфреймом &nbsp;D <br />5. Добавить индикатор &quot;А&quot; на новый график:
====code====
<pre>&nbsp;&nbsp;Settings = {
Name =&nbsp;&nbsp;"Indicator A" ,
ID =&nbsp;&nbsp;"ID" ,
line = {{
Name =&nbsp;&nbsp;"Indicator A" ,
Color =&nbsp;&nbsp;0xff0000 ,
Type =&nbsp;&nbsp;1 ,
Width =&nbsp;&nbsp;1 
}}}

 function&nbsp;&nbsp; Init ()
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; # Settings.line
 end 

 local&nbsp;&nbsp;t = {}
 local&nbsp;&nbsp;n =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;l =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;value =&nbsp;&nbsp;0 

 function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp; return&nbsp;&nbsp; end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если первая свечка, расcчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp; getNumCandles (Settings.ID) =&nbsp;&nbsp;=&nbsp;&nbsp;0&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Settings.ID содержит название идентификатора, которое задаёт пользователь 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если индикатор "Б" не содержит свечек, рассчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID, 0 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.doesExist =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --проверяем если свечки нет, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;t&#91; 0 &#93;.close~ =&nbsp;&nbsp;1e10&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.close~ = value&nbsp;&nbsp;then&nbsp;&nbsp;value = t&#91; 0 &#93;.close&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#91; 0 &#93;.close =&nbsp;&nbsp;1e10 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 
&nbsp;&nbsp;</pre>
=============
6. Заменить значение параметра ID в свойствах индикатора &quot;A&quot; на идентификатор из шага 3<br /><br />В результате на первом графике будет красная линия на уровне 68, на втором - синяя на уровне 68. Через промежуток времени от 20 минут до 4 часов Quik 7.0.4.10 зависнет. Всё это время должна идти торговая сессия (в неторговое время не воспроизводится) и Quik должен быть раскрыт (на переднем плане или под другими окнами). Баг можно обнаружить если Quik перестанет отвечать на любые действия пользователя.<br />=============<br />Добрый день.<br /><br />Поставили на проверку, подождем некоторое время. Вернемся, как будет результат. <br />
			<i>23.03.2016 11:53:41, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14417/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14417/topic1576/</guid>
			<pubDate>Wed, 23 Mar 2016 11:53:41 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14403/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ESMeWScB" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />почему бы просто не использовать <br />Функции O, H, L, C, V, T -<br /><br />=============<br /><noindex><a href="https://forum.quik.ru/user/47/" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex> выше правильно ответил. <br />
			<i>23.03.2016 04:13:41, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14403/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14403/topic1576/</guid>
			<pubDate>Wed, 23 Mar 2016 04:13:41 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14402/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zspT9lzb" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> написал:<br />Добрый день.<br /><br />Желательно еще второй индикатор выложить. <br />Еще уточните, случайно dmp файл не формируется при закрытии QUIK?<br />=============<br />Здравствуйте, Егор!<br /><br />Спасибо за ответ. Dmp-файлы не создаются. Quik перестаёт отвечать на запросы пользователя, процесс info.exe не крашится.<br />Ниже последовательность действий для воспроизведения в Quik 7.0.4.10:<br /><br />1. Создать график с инструментом USDRUB_TOM и таймфреймом <span class="bx-font" style="color:#ff0000">M60</span><br />2. Добавить индикатор &quot;Б&quot;:
====code====
<pre>Settings={
Name="Indicator B",
line={{
Name="Indicator B",
Color=0x0000ff,
Type=1,
Width=1
}}}

function Init()
&nbsp;&nbsp;&nbsp;return #Settings.line
end

function OnCalculate()
&nbsp;&nbsp;&nbsp;return 68
end
</pre>
=============
3. Присвоить индикатору &quot;Б&quot; любой идентификатор<br />4. Создать новый график с инструментом USDRUB_TOM и таймфреймом <span class="bx-font" style="color:#ff0000">D</span><br />5. Добавить индикатор &quot;А&quot; на новый график:
====code====
<pre>Settings={
Name="Indicator A",
ID="ID",
line={{
Name="Indicator A",
Color=0xff0000,
Type=1,
Width=1
}}}

function Init()
&nbsp;&nbsp;&nbsp;return #Settings.line
end

local t={}
local n=0
local l=0
local value=0

function OnCalculate(index)
&nbsp;&nbsp; if index==1 then return end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если первая свечка, расcчёт не ведется
&nbsp;&nbsp; if getNumCandles(Settings.ID)==0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Settings.ID содержит название идентификатора, которое задаёт пользователь
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если индикатор "Б" не содержит свечек, рассчёт не ведется
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,n,l=getCandlesByIndex(Settings.ID,0,index-1,1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if t&#91;0&#93;.doesExist==1 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --проверяем если свечки нет, рассчет не ведется
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if t&#91;0&#93;.close~=1e10 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if t&#91;0&#93;.close~=value then value=t&#91;0&#93;.close end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#91;0&#93;.close=1e10
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp; end
end
</pre>
=============
6. Заменить значение параметра ID в свойствах индикатора &quot;A&quot; на идентификатор из шага 3<br /><br />В результате на первом графике будет красная линия на уровне 68, на втором - синяя на уровне 68. Через промежуток времени от 20 минут до 4 часов Quik 7.0.4.10 зависнет. Всё это время должна идти торговая сессия (в неторговое время не воспроизводится) и Quik должен быть раскрыт (на переднем плане или под другими окнами). Баг можно обнаружить если Quik перестанет отвечать на любые действия пользователя. <br />
			<i>23.03.2016 04:07:24, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14402/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14402/topic1576/</guid>
			<pubDate>Wed, 23 Mar 2016 04:07:24 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14376/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			почему бы просто не использовать <br />Функции O, H, L, C, V, T - <br /><br /><br />Потому что читается не родной график, а другой. <br />
			<i>22.03.2016 15:18:52, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14376/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14376/topic1576/</guid>
			<pubDate>Tue, 22 Mar 2016 15:18:52 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14373/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_AnnvL1kg" href="/user/1775/" bx-tooltip-user-id="1775">Максим</a> написал:<br />Здравствуйте, уважаемые разработчики!<br /><br />Я использую простой самописный индикатор &quot;A&quot; для отрисовки линии на графике. Значения для отрисовки этой линии индикатор берет из другого индикатора &quot;Б&quot; по его идентификатору. Оба индикатора расположены на разных графиках. Эти графики имеют разный таймфрейм и расположены &nbsp;в разных окнах &nbsp;одной вкладки.<br /><br />Первый индикатор &quot;A&quot; копирует значения второго индикатора. Для отрисовки текущей свечки индикатор &quot;A&quot; берёт значение &nbsp;предыдущей &nbsp;свечки индикатора &quot;Б&quot;.<br /><br />В торговое время после запуска индикатора &quot;A&quot; может пройти от 20 минут до 4 часов и Quik стабильно зависает (в заголовке Quik появляется &quot;программа не отвечает&quot;). Приходится завершать процесс info.exe (не отвечает более 30 минут), размер потребляемой опер. памяти не увеличивается от нормы. Зависание происходит только когда включен индикатор &quot;A&quot;. Баг проявляется, если в качестве индикатора &quot;Б&quot; использовать любой индикатор (например, встроенный индикатор простой скользящей средней).<br /><br />Код индикатора &quot;А&quot; с комментариями:<br />
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp;t = {}
 local&nbsp;&nbsp;n =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;l =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;value =&nbsp;&nbsp;0 

 function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp; return&nbsp;&nbsp; end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если первая свечка, расcчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp; getNumCandles (Settings.ID) =&nbsp;&nbsp;=&nbsp;&nbsp;0&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Settings.ID содержит название идентификатора, которое задаёт пользователь 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если индикатор "Б" не содержит свечек, рассчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID, 0 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.doesExist =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --проверяем если свечки нет, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;t&#91; 0 &#93;.close~ =&nbsp;&nbsp;1e10&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.close~ = value&nbsp;&nbsp;then&nbsp;&nbsp;value = t&#91; 0 &#93;.close&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#91; 0 &#93;.close =&nbsp;&nbsp;1e10 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 
&nbsp;&nbsp;</pre>
=============
Помогите определить почему после запуска индикатор &quot;A&quot; может работать от 20 минут до 4 часов в торговую сессию, а потом Quik зависает. Никаких ошибок в окне сообщений нет. Торгуемый инструмент USDRUB_TOM.<br /><br />Версия Quik: 7.0.4.10 (англ. интерфейс)<br />Версия OS: Windows 7 SP1 (англ. интерфейс)<br />=============<br />Ужасный пример индикатора!!!!<br />-------------------------<br />getNumCandles (Settings.ID) = &nbsp;= &nbsp;0 &nbsp; then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --Settings.ID содержит название идентификатора, которое задаёт пользователь <br />NUMBER getNumCandles (STRING tag) -Возвращает число – количество свечек по выбранному идентификатору<br />а Settings.ID содержит название идентификатора - что за ....?<br />----------------------------------------<br /> t,n,l = &nbsp;getCandlesByIndex (Settings.ID, 0 ,index - &nbsp;1 , 1 ) - зачем читать набор свечей через ЭТО.<br />--------------------------------<br />почему бы просто не использовать <br />Функции O, H, L, C, V, T -<br /><span class="bx-font" style="font-size:;">Функции в качестве параметра принимают индекс свечи и возвращают &nbsp;соответствующее значение. Время свечи возвращается с точностью до миллисекунд в &nbsp;виде таблицы с полями: </span><br />-----------------------------------------<br />. <br />
			<i>22.03.2016 14:36:14, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14373/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14373/topic1576/</guid>
			<pubDate>Tue, 22 Mar 2016 14:36:14 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14371/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_MukSKg9g" href="/user/1775/" bx-tooltip-user-id="1775">Максим</a> написал:<br />Здравствуйте, уважаемые разработчики!<br /><br />Я использую простой самописный индикатор &quot;A&quot; для отрисовки линии на графике. Значения для отрисовки этой линии индикатор берет из другого индикатора &quot;Б&quot; по его идентификатору. Оба индикатора расположены на разных графиках. Эти графики имеют разный таймфрейм и расположены &nbsp;в разных окнах &nbsp;одной вкладки.<br /><br />Первый индикатор &quot;A&quot; копирует значения второго индикатора. Для отрисовки текущей свечки индикатор &quot;A&quot; берёт значение &nbsp;предыдущей &nbsp;свечки индикатора &quot;Б&quot;.<br /><br />В торговое время после запуска индикатора &quot;A&quot; может пройти от 20 минут до 4 часов и Quik стабильно зависает (в заголовке Quik появляется &quot;программа не отвечает&quot;). Приходится завершать процесс info.exe (не отвечает более 30 минут), размер потребляемой опер. памяти не увеличивается от нормы. Зависание происходит только когда включен индикатор &quot;A&quot;. Баг проявляется, если в качестве индикатора &quot;Б&quot; использовать любой индикатор (например, встроенный индикатор простой скользящей средней).<br /><br />Код индикатора &quot;А&quot; с комментариями:<br />
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp;t = {}
 local&nbsp;&nbsp;n =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;l =&nbsp;&nbsp;0 
 local&nbsp;&nbsp;value =&nbsp;&nbsp;0 

 function&nbsp;&nbsp; OnCalculate (index)
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;index =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp; return&nbsp;&nbsp; end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если первая свечка, расcчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp; getNumCandles (Settings.ID) =&nbsp;&nbsp;=&nbsp;&nbsp;0&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Settings.ID содержит название идентификатора, которое задаёт пользователь 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если индикатор "Б" не содержит свечек, рассчёт не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,n,l =&nbsp;&nbsp;getCandlesByIndex (Settings.ID, 0 ,index -&nbsp;&nbsp;1 , 1 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.doesExist =&nbsp;&nbsp;=&nbsp;&nbsp;1&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --проверяем если свечки нет, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;t&#91; 0 &#93;.close~ =&nbsp;&nbsp;1e10&nbsp;&nbsp; then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t&#91; 0 &#93;.close~ = value&nbsp;&nbsp;then&nbsp;&nbsp;value = t&#91; 0 &#93;.close&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#91; 0 &#93;.close =&nbsp;&nbsp;1e10 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 
&nbsp;&nbsp;</pre>
=============
Помогите определить почему после запуска индикатор &quot;A&quot; может работать от 20 минут до 4 часов в торговую сессию, а потом Quik зависает. Никаких ошибок в окне сообщений нет. Торгуемый инструмент USDRUB_TOM.<br /><br />Версия Quik: 7.0.4.10 (англ. интерфейс)<br />Версия OS: Windows 7 SP1 (англ. интерфейс)<br />=============<br />Добрый день.<br /><br />Желательно еще второй индикатор выложить. <br />Еще уточните, случайно dmp файл не формируется при закрытии QUIK? <br />
			<i>22.03.2016 14:20:04, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14371/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14371/topic1576/</guid>
			<pubDate>Tue, 22 Mar 2016 14:20:04 +0300</pubDate>
			<category>Графики</category>
		</item>
		<item>
			<title>Баг приводит к закрытию Quik - код индикатора прилагается</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum13/message14348/topic1576/">Баг приводит к закрытию Quik - код индикатора прилагается</a></b> <i>Баг-репорт</i> в форуме <a href="http://forum.quik.ru/forum13/">Графики</a>. <br />
			Здравствуйте, уважаемые разработчики!<br /><br />Я использую простой самописный индикатор &quot;A&quot; для отрисовки линии на графике. Значения для отрисовки этой линии индикатор берет из другого индикатора &quot;Б&quot; по его идентификатору. Оба индикатора расположены на разных графиках. Эти графики имеют разный таймфрейм и расположены <U>в разных окнах</U> одной вкладки.<br /><br />Первый индикатор &quot;A&quot; копирует значения второго индикатора. Для отрисовки текущей свечки индикатор &quot;A&quot; берёт значение <U>предыдущей</U> свечки индикатора &quot;Б&quot;.<br /><br />В торговое время после запуска индикатора &quot;A&quot; может пройти от 20 минут до 4 часов и Quik стабильно зависает (в заголовке Quik появляется &quot;программа не отвечает&quot;). Приходится завершать процесс info.exe (не отвечает более 30 минут), размер потребляемой опер. памяти не увеличивается от нормы. Зависание происходит только когда включен индикатор &quot;A&quot;. Баг проявляется, если в качестве индикатора &quot;Б&quot; использовать любой индикатор (например, встроенный индикатор простой скользящей средней).<br /><br />Код индикатора &quot;А&quot; с комментариями:<br />
====code====
<pre>local t={}
local n=0
local l=0
local value=0

function OnCalculate(index)
&nbsp;&nbsp;&nbsp;if index==1 then return end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если первая свечка, расcчёт не ведется
&nbsp;&nbsp;&nbsp;if getNumCandles(Settings.ID)==0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Settings.ID содержит название идентификатора, которое задаёт пользователь
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если индикатор "Б" не содержит свечек, рассчёт не ведется
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t,n,l=getCandlesByIndex(Settings.ID,0,index-1,1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if t&#91;0&#93;.doesExist==1 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если свечки нет, рассчет не ведется
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if t&#91;0&#93;.close~=1e10 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--проверяем если новое значение свечки не получено, рассчет не ведется
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if t&#91;0&#93;.close~=value then value=t&#91;0&#93;.close end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&#91;0&#93;.close=1e10
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return value
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
end
</pre>
=============
Помогите определить почему после запуска индикатор &quot;A&quot; может работать от 20 минут до 4 часов в торговую сессию, а потом Quik зависает. Никаких ошибок в окне сообщений нет. Торгуемый инструмент USDRUB_TOM.<br /><br />Версия Quik: 7.0.4.10 (англ. интерфейс)<br />Версия OS: Windows 7 SP1 (англ. интерфейс) <br />
			<i>21.03.2016 19:48:24, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum13/message14348/topic1576/</link>
			<guid>http://forum.quik.ru/messages/forum13/message14348/topic1576/</guid>
			<pubDate>Mon, 21 Mar 2016 19:48:24 +0300</pubDate>
			<category>Графики</category>
		</item>
	</channel>
</rss>
