<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: индикатор Price Channel, не могу получить корректные данные.]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме индикатор Price Channel, не могу получить корректные данные. форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 23:42:55 +0300</pubDate>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message46308/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_VNatcygp" href="/user/13697/" bx-tooltip-user-id="13697">Максим</a>, <br />Уточните о каком инструменте идет речь и какая версия терминала QUIK?<br />У нас проблема (на нашем коде) не воспроизводится <br />
			<i>17.06.2020 11:56:41, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message46308/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message46308/topic1542/</guid>
			<pubDate>Wed, 17 Jun 2020 11:56:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45919/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_is5A2P5O" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13225/" target="_blank" rel="nofollow">Олег</a></noindex> написал:<br />Тогда индикатор отрисовывает только одну верхнюю линию. Надо еще что-то менять.<br />=============<br /> Да Вы правы, надо удалить отрисовку горизонтальной линии. Т.е. так:<br />function OnCalculate(Index) <br />return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)<br />end<br />если она все же нужна то ее можно добавлять только первой.<br /><br />полный код под спойлером<br /><br />=============<br />Проблема в получении значений линий индикатора на втором баре торговой сессии - все значения нулевые. Например, если график 15-минутный, то до 10.15 значения индикатора верные, потом с 10.15 до 10.30 нулевые, а потом снова все Ок и до конца сессии. В чем проблема может быть?<br />Причем если сделать двойной клик на область диаграммы, где этот индикатор, то есть откроется меню &quot;Редактирование настроек графика&quot;, а потом ничего не меняя нажать Ок, то значения линий индикатора в скрипте сразу появятся - чудеса... &nbsp; <br />
			<i>04.06.2020 11:29:00, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45919/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45919/topic1542/</guid>
			<pubDate>Thu, 04 Jun 2020 11:29:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45848/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_G1kuNZXE" href="/user/13697/" bx-tooltip-user-id="13697">Максим</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex><br />=============<br /> Скажите, почему при применении данного индикатора значения его линий отдаются в скрипт после прорисовки 3-го (третьего) бара дня. Например, если график у нас 15-ти минутки, то он отдаст значения своих линий только с 10.30, а до этого с 10.00 значения линий будут нулевыми.<br />=============<br />да, и у меня индикатор сдвинут на 1 бар вперёд, то есть если не сдвигать, то нулевые значения будут на первом баре открытия, а со второго все норм. В чем проблема? <br />
			<i>02.06.2020 13:05:04, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45848/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45848/topic1542/</guid>
			<pubDate>Tue, 02 Jun 2020 13:05:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45841/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_D9wd7S39" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13225/" target="_blank" rel="nofollow">Олег</a></noindex> написал:<br />Тогда индикатор отрисовывает только одну верхнюю линию. Надо еще что-то менять.<br />=============<br /> Да Вы правы, надо удалить отрисовку горизонтальной линии. Т.е. так:<br />function OnCalculate(Index) <br />return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)<br />end<br />если она все же нужна то ее можно добавлять только первой.<br /><br />полный код под спойлером<br /> &nbsp; &nbsp; Скрытый текст &nbsp; &nbsp; &nbsp; &nbsp;
====code====
<pre>&nbsp;&nbsp;Settings&nbsp;&nbsp;=&nbsp;&nbsp;{
Name&nbsp;&nbsp;=&nbsp;&nbsp; "*PC (Price Channel)" , 
Period&nbsp;&nbsp;=&nbsp;&nbsp; 10 ,
line&nbsp;&nbsp;=&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name&nbsp;&nbsp;=&nbsp;&nbsp; "PC - upper" , 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;=&nbsp;&nbsp;TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;&nbsp;=&nbsp;&nbsp; RGB ( 0 ,&nbsp;&nbsp;206 ,&nbsp;&nbsp;0 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name&nbsp;&nbsp;=&nbsp;&nbsp; "PC" , 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;=&nbsp;&nbsp;TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;&nbsp;=&nbsp;&nbsp; RGB ( 221 ,&nbsp;&nbsp;44 ,&nbsp;&nbsp;44 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name&nbsp;&nbsp;=&nbsp;&nbsp; "PC - lower" , 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;=&nbsp;&nbsp;TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;&nbsp;=&nbsp;&nbsp; RGB ( 0 ,&nbsp;&nbsp;162 ,&nbsp;&nbsp;232 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&#91;&#91;, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name&nbsp;&nbsp;=&nbsp;&nbsp; "Horizontal line" ,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;&nbsp;=&nbsp;&nbsp;TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;&nbsp;=&nbsp;&nbsp; RGB ( 140 ,&nbsp;&nbsp;140 ,&nbsp;&nbsp;140 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&#93;&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
Round&nbsp;&nbsp;=&nbsp;&nbsp; "off" ,
Multiply&nbsp;&nbsp;=&nbsp;&nbsp; 1 ,
Horizontal_line =&nbsp;&nbsp;"off" 
}

 function&nbsp;&nbsp; Init ()
&nbsp;&nbsp; func&nbsp;&nbsp;=&nbsp;&nbsp;PC()
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; # Settings.line
 end 

 function&nbsp;&nbsp; OnCalculate (Index) 
&nbsp;&nbsp;&nbsp;&nbsp;--return tonumber(Settings.Horizontal_line), ConvertValue(Settings, func(Index, Settings)) 
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;ConvertValue(Settings, func(Index, Settings)) 
 end 

 function&nbsp;&nbsp; PC ()&nbsp;&nbsp;--Price Channel ("PC") 
&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;H_tmp = {}
&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;L_tmp = {}
&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;it&nbsp;&nbsp;=&nbsp;&nbsp;{p =&nbsp;&nbsp;0 , l =&nbsp;&nbsp;0 }
 return&nbsp;&nbsp; function&nbsp;&nbsp;(I, Fsettings, ds)
 local&nbsp;&nbsp;Fsettings = (Fsettings&nbsp;&nbsp;or&nbsp;&nbsp;{})
 local&nbsp;&nbsp;P&nbsp;&nbsp;=&nbsp;&nbsp;(Fsettings.Period&nbsp;&nbsp;or&nbsp;&nbsp; 10 )
 if&nbsp;&nbsp;(P &#62;&nbsp;&nbsp;0 )&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;I&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp; 1&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H_tmp = {}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L_tmp = {}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;&nbsp;=&nbsp;&nbsp;{p =&nbsp;&nbsp;0 , l =&nbsp;&nbsp;0 }
&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;CandleExist(I,ds)&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;I~ = it.p&nbsp;&nbsp;then&nbsp;&nbsp;it = {p = I, l = it.l +&nbsp;&nbsp;1 }&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H_tmp&#91;Squeeze(it.l,P -&nbsp;&nbsp;1 ) +&nbsp;&nbsp;1 &#93;&nbsp;&nbsp;=&nbsp;&nbsp; GetValue EX(it.p,HIGH,ds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L_tmp&#91;Squeeze(it.l,P -&nbsp;&nbsp;1 ) +&nbsp;&nbsp;1 &#93;&nbsp;&nbsp;=&nbsp;&nbsp; GetValue EX(it.p,LOW,ds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;it.l&nbsp;&nbsp;&#62;&nbsp;&nbsp;=&nbsp;&nbsp;P&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;val_h&nbsp;&nbsp;=&nbsp;&nbsp; math.max (unpack(H_tmp))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;val_l&nbsp;&nbsp;=&nbsp;&nbsp; math.min (unpack(L_tmp))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;val_h,(val_h + val_l)/ 2 ,val_l
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--return (val_h+val_l)/2,val_h,val_l 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;end 
 end 
 return&nbsp;&nbsp; nil , nil , nil 
 end 
 end 


SMA,MMA,EMA,WMA,SMMA,VMA&nbsp;&nbsp;=&nbsp;&nbsp; "SMA" ,"MMA","EMA","WMA","SMMA","VMA"
OPEN,HIGH,LOW,CLOSE,VOLUME,MEDIAN,TYPICAL,WEIGHTED,DIFFERENCE,ANY&nbsp;&nbsp;=&nbsp;&nbsp; "O" ,"H","L","C","V","M","T","W","D","A"

 function&nbsp;&nbsp; CandleExist (I,ds)
 return&nbsp;&nbsp;(type(C) =&nbsp;&nbsp;=&nbsp;&nbsp;"function"&nbsp;&nbsp; and&nbsp;&nbsp;C(I)~ =&nbsp;&nbsp;nil )&nbsp;&nbsp;or 
&nbsp;&nbsp; (type(ds) =&nbsp;&nbsp;=&nbsp;&nbsp;"table"&nbsp;&nbsp; and&nbsp;&nbsp;(ds&#91;I&#93;~ =&nbsp;&nbsp;nil&nbsp;&nbsp; or&nbsp;&nbsp;(type(ds. Size ) =&nbsp;&nbsp;=&nbsp;&nbsp;"function"&nbsp;&nbsp; and&nbsp;&nbsp;(I &#62;&nbsp;&nbsp;0 )&nbsp;&nbsp;and&nbsp;&nbsp;(I &#60;&nbsp;&nbsp;= ds: Size ()))))
 end 

 function&nbsp;&nbsp; Squeeze (I,P)
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp; math.fmod (I -&nbsp;&nbsp;1 ,P +&nbsp;&nbsp;1 )
 end 

 function&nbsp;&nbsp; ConvertValue (T, .. .)
 local&nbsp;&nbsp; function&nbsp;&nbsp;r(V, R) 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;R&nbsp;&nbsp;and&nbsp;&nbsp; string.upper (R) =&nbsp;&nbsp;=&nbsp;&nbsp; "ON"&nbsp;&nbsp; then&nbsp;&nbsp;R =&nbsp;&nbsp;0&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;V&nbsp;&nbsp;and&nbsp;&nbsp;tonumber(R)&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;V&nbsp;&nbsp;&#62;&nbsp;&nbsp;=&nbsp;&nbsp; 0&nbsp;&nbsp; then&nbsp;&nbsp; return&nbsp;&nbsp; math.floor (V&nbsp;&nbsp;*&nbsp;&nbsp; 10 ^R&nbsp;&nbsp;+&nbsp;&nbsp; 0.5 ) /&nbsp;&nbsp;10 ^R
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp; return&nbsp;&nbsp; math.ceil (V&nbsp;&nbsp;*&nbsp;&nbsp; 10 ^R&nbsp;&nbsp;-&nbsp;&nbsp; 0.5 ) /&nbsp;&nbsp;10 ^R&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp; return&nbsp;&nbsp;V&nbsp;&nbsp;end 
 end 
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;arg.n&nbsp;&nbsp;&#62;&nbsp;&nbsp; 0&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; 1 , arg.n&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arg&#91;i&#93; = arg&#91;i&#93;&nbsp;&nbsp;and&nbsp;&nbsp;r(arg&#91;i&#93;&nbsp;&nbsp;*&nbsp;&nbsp;((T&nbsp;&nbsp;and&nbsp;&nbsp;T.Multiply)&nbsp;&nbsp;or&nbsp;&nbsp; 1 ), (T&nbsp;&nbsp;and&nbsp;&nbsp;T.Round)&nbsp;&nbsp;or&nbsp;&nbsp; "off" )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;unpack(arg)
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp; return&nbsp;&nbsp; nil&nbsp;&nbsp; end 
 end 

 function&nbsp;&nbsp; GetValueEX (I,VT,ds) 
VT = (VT&nbsp;&nbsp;and&nbsp;&nbsp; string.upper ( string.sub (VT, 1 , 1 )))&nbsp;&nbsp;or&nbsp;&nbsp;ANY
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;OPEN&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Open 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(O&nbsp;&nbsp;and&nbsp;&nbsp;O(I))&nbsp;&nbsp;or&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds:O(I))
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;HIGH&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --High 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(H&nbsp;&nbsp;and&nbsp;&nbsp;H(I))&nbsp;&nbsp;or&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds:H(I))
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;LOW&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Low 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(L&nbsp;&nbsp;and&nbsp;&nbsp;L(I))&nbsp;&nbsp;or&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds:L(I))
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;CLOSE&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Close 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(C&nbsp;&nbsp;and&nbsp;&nbsp;C(I))&nbsp;&nbsp;or&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds:C(I))
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;VOLUME&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Volume 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(V&nbsp;&nbsp;and&nbsp;&nbsp;V(I))&nbsp;&nbsp;or&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds:V(I)) 
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;MEDIAN&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Median 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(( GetValue EX(I,HIGH,ds)&nbsp;&nbsp;+&nbsp;&nbsp; GetValue EX(I,LOW,ds)) /&nbsp;&nbsp;2 )
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;TYPICAL&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp; --Typical 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(( GetValue EX(I,MEDIAN,ds)&nbsp;&nbsp;*&nbsp;&nbsp; 2&nbsp;&nbsp; +&nbsp;&nbsp; GetValue EX(I,CLOSE,ds))/ 3 )
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;WEIGHTED&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp; --Weighted 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(( GetValue EX(I,TYPICAL,ds)&nbsp;&nbsp;*&nbsp;&nbsp; 3&nbsp;&nbsp; +&nbsp;&nbsp; GetValue EX(I,OPEN,ds))/ 4 ) 
&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp;VT&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;DIFFERENCE&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp; --Difference 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;( GetValue EX(I,HIGH,ds)&nbsp;&nbsp;-&nbsp;&nbsp; GetValue EX(I,LOW,ds))
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --Any 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;(ds&nbsp;&nbsp;and&nbsp;&nbsp;ds&#91;I&#93;)
&nbsp;&nbsp;&nbsp;&nbsp;end 
 return&nbsp;&nbsp; nil 
 end&nbsp;&nbsp; </pre>
=============
 <br />=============<br />Скажите, почему при применении данного индикатора значения его линий отдаются в скрипт после прорисовки 3-го (третьего) бара дня. Например, если график у нас 15-ти минутки, то он отдаст значения своих линий только с 10.30, а до этого с 10.00 значения линий будут нулевыми. <br />
			<i>02.06.2020 11:16:20, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45841/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45841/topic1542/</guid>
			<pubDate>Tue, 02 Jun 2020 11:16:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39525/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_SxVHYLmL" href="/user/7975/" bx-tooltip-user-id="7975">Александр</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex> написал:<br />В чем конкретно вопрос?<br />=============<br />Вопрос для чего вы изменили скрипт. Что хотите получить? В чем то была ошибка?<br />=============<br />Ошибок не было, причины правок описаны выше. <br />
			<i>02.09.2019 05:28:45, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39525/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39525/topic1542/</guid>
			<pubDate>Mon, 02 Sep 2019 05:28:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39478/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_aDqn08EH" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />В чем конкретно вопрос?<br />=============<br />Вопрос для чего вы изменили скрипт. Что хотите получить? В чем то была ошибка? <br />
			<i>29.08.2019 18:10:56, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39478/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39478/topic1542/</guid>
			<pubDate>Thu, 29 Aug 2019 18:10:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39477/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_1naesHqz" href="/user/7975/" bx-tooltip-user-id="7975">Александр</a>, Это я себе. Наверное вот так А,B= func(Index, Settings). &nbsp; <br />
			<i>29.08.2019 18:09:54, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39477/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39477/topic1542/</guid>
			<pubDate>Thu, 29 Aug 2019 18:09:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39474/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_FZAUZqBS" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a>, &nbsp;Можно из функции &nbsp;ниже получить нужное значение. Например val_h. Он же сюда возвращается из PC() &nbsp;. ConvertValue(Settings, func(Index, Settings)) ? <br />
			<i>29.08.2019 15:43:43, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39474/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39474/topic1542/</guid>
			<pubDate>Thu, 29 Aug 2019 15:43:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39473/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_3XsKfgur" href="/user/7975/" bx-tooltip-user-id="7975">Александр</a> написал:<br /><noindex><a href="/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex>, Спасибо. Про саму функцию я и забыл. &nbsp;А что вы делаете в скрипте выше? Какая задача что то не пойму суть.<br />=============<br /><br />В чем конкретно вопрос? <br />
			<i>29.08.2019 12:55:13, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39473/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39473/topic1542/</guid>
			<pubDate>Thu, 29 Aug 2019 12:55:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39471/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_iiwEhhlg" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a>, Спасибо. Про саму функцию я и забыл. &nbsp;А что вы делаете в скрипте выше? Какая задача что то не пойму суть. <br />
			<i>29.08.2019 12:21:30, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39471/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39471/topic1542/</guid>
			<pubDate>Thu, 29 Aug 2019 12:21:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39448/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_jBeGzpVg" href="/user/13225/" bx-tooltip-user-id="13225">Олег</a> написал:<br />Тогда индикатор отрисовывает только одну верхнюю линию. Надо еще что-то менять.<br /><br />=============<br />Да Вы правы, надо удалить отрисовку горизонтальной линии. Т.е. так:<br />function OnCalculate(Index) <br />return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)<br />end<br />если она все же нужна то ее можно добавлять только первой.<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>
====code====
<pre>Settings = {
Name = "*PC (Price Channel)", 
Period = 10,
line = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "PC - upper", 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(0, 206, 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "PC", 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(221, 44, 44)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "PC - lower", 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(0, 162, 232)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&#91;&#91;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "Horizontal line",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_LINE, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(140, 140, 140)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&#93;&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
Round = "off",
Multiply = 1,
Horizontal_line="off"
}

function Init()
&nbsp;&nbsp;&nbsp;func = PC()
&nbsp;&nbsp;&nbsp;return #Settings.line
end

function OnCalculate(Index) 
&nbsp;&nbsp;&nbsp;--return tonumber(Settings.Horizontal_line), ConvertValue(Settings, func(Index, Settings))
&nbsp;&nbsp;&nbsp;return ConvertValue(Settings, func(Index, Settings)) 
end

function PC() --Price Channel ("PC")
&nbsp;&nbsp;&nbsp;local H_tmp={}
&nbsp;&nbsp;&nbsp;local L_tmp={}
&nbsp;&nbsp;&nbsp;local it = {p=0, l=0}
return function (I, Fsettings, ds)
local Fsettings=(Fsettings or {})
local P = (Fsettings.Period or 10)
if (P&#62;0) then
&nbsp;&nbsp;&nbsp;if I == 1 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H_tmp={}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L_tmp={}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it = {p=0, l=0}
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;if CandleExist(I,ds) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if I~=it.p then it={p=I, l=it.l+1} end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H_tmp&#91;Squeeze(it.l,P-1)+1&#93; = GetValueEX(it.p,HIGH,ds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L_tmp&#91;Squeeze(it.l,P-1)+1&#93; = GetValueEX(it.p,LOW,ds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if it.l &#62;= P then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local val_h = math.max(unpack(H_tmp))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local val_l = math.min(unpack(L_tmp))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return val_h,(val_h+val_l)/2,val_l
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--return (val_h+val_l)/2,val_h,val_l
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
end
return nil,nil,nil
end
end


SMA,MMA,EMA,WMA,SMMA,VMA = "SMA","MMA","EMA","WMA","SMMA","VMA"
OPEN,HIGH,LOW,CLOSE,VOLUME,MEDIAN,TYPICAL,WEIGHTED,DIFFERENCE,ANY = "O","H","L","C","V","M","T","W","D","A"

function CandleExist(I,ds)
return (type(C)=="function" and C(I)~=nil) or
&nbsp;&nbsp;&nbsp;(type(ds)=="table" and (ds&#91;I&#93;~=nil or (type(ds.Size)=="function" and (I&#62;0) and (I&#60;=ds:Size()))))
end

function Squeeze(I,P)
&nbsp;&nbsp;&nbsp;return math.fmod(I-1,P+1)
end

function ConvertValue(T,...)
local function r(V, R) 
&nbsp;&nbsp;&nbsp;if R and string.upper(R)== "ON" then R=0 end
&nbsp;&nbsp;&nbsp;if V and tonumber(R) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if V &#62;= 0 then return math.floor(V * 10^R + 0.5) / 10^R
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else return math.ceil(V * 10^R - 0.5) / 10^R end
&nbsp;&nbsp;&nbsp;else return V end
end
&nbsp;&nbsp;&nbsp;if arg.n &#62; 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i = 1, arg.n do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arg&#91;i&#93;=arg&#91;i&#93; and r(arg&#91;i&#93; * ((T and T.Multiply) or 1), (T and T.Round) or "off")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return unpack(arg)
&nbsp;&nbsp;&nbsp;else return nil end
end

function GetValueEX(I,VT,ds) 
VT=(VT and string.upper(string.sub(VT,1,1))) or ANY
&nbsp;&nbsp;&nbsp;if VT == OPEN then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Open
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (O and O(I)) or (ds and ds:O(I))
&nbsp;&nbsp;&nbsp;elseif VT == HIGH then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--High
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (H and H(I)) or (ds and ds:H(I))
&nbsp;&nbsp;&nbsp;elseif VT == LOW then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Low
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (L and L(I)) or (ds and ds:L(I))
&nbsp;&nbsp;&nbsp;elseif VT == CLOSE then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (C and C(I)) or (ds and ds:C(I))
&nbsp;&nbsp;&nbsp;elseif VT == VOLUME then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Volume
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (V and V(I)) or (ds and ds:V(I)) 
&nbsp;&nbsp;&nbsp;elseif VT == MEDIAN then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Median
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ((GetValueEX(I,HIGH,ds) + GetValueEX(I,LOW,ds)) / 2)
&nbsp;&nbsp;&nbsp;elseif VT == TYPICAL then&nbsp;&nbsp;&nbsp;--Typical
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ((GetValueEX(I,MEDIAN,ds) * 2 + GetValueEX(I,CLOSE,ds))/3)
&nbsp;&nbsp;&nbsp;elseif VT == WEIGHTED then&nbsp;&nbsp;&nbsp;--Weighted
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ((GetValueEX(I,TYPICAL,ds) * 3 + GetValueEX(I,OPEN,ds))/4) 
&nbsp;&nbsp;&nbsp;elseif VT == DIFFERENCE then&nbsp;&nbsp;&nbsp;--Difference
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (GetValueEX(I,HIGH,ds) - GetValueEX(I,LOW,ds))
&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Any
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (ds and ds&#91;I&#93;)
&nbsp;&nbsp;&nbsp;end
return nil
end</pre>
=============
</td></tr></tbody></table> <br />
			<i>27.08.2019 08:30:27, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39448/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39448/topic1542/</guid>
			<pubDate>Tue, 27 Aug 2019 08:30:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39447/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_RQbdWMVa" href="/user/7975/" bx-tooltip-user-id="7975">Александр</a> написал:<br />Как одно выражение дает три значения?<br />=============<br />Это нормально, в Lua одна функция может вернуть несколько значений. <br />
			<i>27.08.2019 08:24:35, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39447/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39447/topic1542/</guid>
			<pubDate>Tue, 27 Aug 2019 08:24:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39341/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно получить комментарий что возвращает (ниже) это выражение в Price Channel? Линий же должно быть три? Что то не разберусь. Как одно выражение дает три значения?<br />tonumber(Settings.Horizontal_line), ConvertValue(Settings, func(Index, Settings)) <br />
			<i>16.08.2019 16:21:56, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39341/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39341/topic1542/</guid>
			<pubDate>Fri, 16 Aug 2019 16:21:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39340/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_olZ9GnVW" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13225/" target="_blank" rel="nofollow">Олег</a></noindex> написал:<br />Для внешнего индикатора (архив на скачивание выше):<br />=============<br /> В скрипте это легко меняется. Указать так:<br />function OnCalculate(Index) <br />	return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)<br />end<br /><br />function PC() --Price Channel (&quot;PC&quot;)<br />--какойтокод<br />return val_h,(val_h+val_l)/2,val_l<br />--какойтокод<br />end<br />=============<br />Тогда индикатор отрисовывает только одну верхнюю линию. Надо еще что-то менять. <br />
			<i>16.08.2019 15:26:48, Олег.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39340/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39340/topic1542/</guid>
			<pubDate>Fri, 16 Aug 2019 15:26:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39339/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_GamiT6SM" href="/user/13225/" bx-tooltip-user-id="13225">Олег</a> написал:<br />Для внешнего индикатора (архив на скачивание выше):<br />=============<br />В скрипте это легко меняется. Указать так:<br />function OnCalculate(Index) <br />	return ConvertValue(Settings, func(Index, Settings)),tonumber(Settings.Horizontal_line)<br />end<br /><br />function PC() --Price Channel ("PC")<br />--какойтокод<br />return val_h,(val_h+val_l)/2,val_l<br />--какойтокод<br />end <br />
			<i>16.08.2019 14:19:37, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39339/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39339/topic1542/</guid>
			<pubDate>Fri, 16 Aug 2019 14:19:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39337/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CGjoFgVq" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Для нижней он равен 2.<br />=============<br />Игорь, спасибо.<br />Вам и остальным читателям на заметку. Встроенный и внешний индикатор Price Channel имеют разные вторые параметры:<br /><br />Для встроенного в Квик индикатора<br />0 - верхняя линия<br />1 - средняя линия<br />2 - нижняя линия<br />3 - nil<br /><br />Для внешнего индикатора (архив на скачивание выше):<br />0 - нулевые значения<br />1 - средняя линия<br />2 - верхняя линия<br />3 - нижняя линия <br />
			<i>16.08.2019 14:12:44, Олег.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39337/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39337/topic1542/</guid>
			<pubDate>Fri, 16 Aug 2019 14:12:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39330/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />DPC_t,DPC_n,DPC_i=getCandlesByIndex(indic_graph_id, 0, DPC-3, 2) <br />=============<br />Для данного индикатора второй параметр ф-ции getCandlesByIndex -0. Это для верхней границы.<br />Для нижней он равен 2. <br />
			<i>16.08.2019 00:15:13, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39330/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39330/topic1542/</guid>
			<pubDate>Fri, 16 Aug 2019 00:15:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39329/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте.<br />Пытаюсь получить скриптом данные индикатора Price Channel<br /><br />		local DPC=getNumCandles(indic_graph_id)<br />		DPC_t,DPC_n,DPC_i=getCandlesByIndex(indic_graph_id, 0, DPC-3, 2) --забираем таблицу значений для двух предыдущих значений DPC<br />		message(tostring(dump(DPC_t&#91;0&#93;)))<br /><br />И выдаются значения только для верхней границы диапазона.<br /><br />{ &#91;&quot;low&quot;&#93; = 58.55,&#91;&quot;doesExist&quot;&#93; = 1,&#91;&quot;close&quot;&#93; = 58.55,&#91;&quot;datetime&quot;&#93; = { &#91;&quot;ms&quot;&#93; = 0,&#91;&quot;year&quot;&#93; = 2019,&#91;&quot;day&quot;&#93; = 15,&#91;&quot;week_day&quot;&#93; = 4,&#91;&quot;month&quot;&#93; = 8,&#91;&quot;sec&quot;&#93; = 0,&#91;&quot;hour&quot;&#93; = 21,&#91;&quot;min&quot;&#93; = 45,} ,&#91;&quot;high&quot;&#93; = 58.55,&#91;&quot;open&quot;&#93; = 58.55,&#91;&quot;volume&quot;&#93; = 1,} <br /><br />Подскажите, как получить значения нижней границы?<br /><br />И второй вопрос - если использовать не встроенный индикатор, а тот, который вы предлагаете в архиве (он со звездочкой) отдельным файлом, то он при запросе скриптом выдает все значения цены нулевые.<br /><br />{ &#91;&quot;low&quot;&#93; = 0,&#91;&quot;doesExist&quot;&#93; = 0,&#91;&quot;close&quot;&#93; = 0,&#91;&quot;datetime&quot;&#93; = { &#91;&quot;ms&quot;&#93; = 0,&#91;&quot;year&quot;&#93; = 2019,&#91;&quot;day&quot;&#93; = 15,&#91;&quot;week_day&quot;&#93; = 4,&#91;&quot;month&quot;&#93; = 8,&#91;&quot;sec&quot;&#93; = 0,&#91;&quot;hour&quot;&#93; = 21,&#91;&quot;min&quot;&#93; = 45,} ,&#91;&quot;high&quot;&#93; = 0,&#91;&quot;open&quot;&#93; = 0,&#91;&quot;volume&quot;&#93; = 0,} <br /><br />Что я делаю не так? <br />
			<i>15.08.2019 22:48:19, Олег.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39329/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39329/topic1542/</guid>
			<pubDate>Thu, 15 Aug 2019 22:48:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39170/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7VVSRpSr" href="/user/13203/" bx-tooltip-user-id="13203">Олег</a> написал:<br />Ссылка битая, есть другой источник?<br />=============<br />Добрый день.<br />Можно скачать на сайте по ссылке: <noindex><a href="https://arqatech.com/upload/iblock/398/INDICATORS.zip" target="_blank" rel="nofollow">https://arqatech.com/upload/iblock/398/INDICATORS.zip</a></noindex> <br />
			<i>05.08.2019 05:11:58, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39170/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39170/topic1542/</guid>
			<pubDate>Mon, 05 Aug 2019 05:11:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message39169/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ссылка битая, есть другой источник? <br />
			<i>04.08.2019 15:02:10, Олег.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message39169/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message39169/topic1542/</guid>
			<pubDate>Sun, 04 Aug 2019 15:02:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14100/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7CaBjzOv" href="/user/891/" bx-tooltip-user-id="891">Антон  Иволгин</a> написал:<br />Можно где-то скачать открытый код?<br />=============<br />Добрый день.<br /><br />Готовый код можно скачать по ссылке: <br /><noindex><a href="ftp://ftp.quik.ru/public/INDICATORS.zip" target="_blank" rel="nofollow">ftp://ftp.quik.ru/public/INDICATORS.zip</a></noindex><br /><br />В архиве это индикатор PC.lua <br />
			<i>17.03.2016 10:28:56, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14100/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14100/topic1542/</guid>
			<pubDate>Thu, 17 Mar 2016 10:28:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14074/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно где-то скачать открытый код? <br />
			<i>16.03.2016 21:14:00, Антон  Иволгин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14074/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14074/topic1542/</guid>
			<pubDate>Wed, 16 Mar 2016 21:14:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>индикатор Price Channel, не могу получить корректные данные.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14073/topic1542/">индикатор Price Channel, не могу получить корректные данные.</a></b> <i>верхняя линия - &quot;upper&quot;, нижняя &quot;lower&quot;?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&nbsp;{PRICE,1,low} &lt;= {PRICE_CHANNEL,lower} реагирует на обе линии<br />и<br />{PRICE,1,hi} &gt;= {RTS_PRICE_CHANNEL,upper} то же самое, ловит обе линии, может вместо upper и lower что-то другое вводить? <br />
			<i>16.03.2016 21:08:55, Антон  Иволгин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14073/topic1542/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14073/topic1542/</guid>
			<pubDate>Wed, 16 Mar 2016 21:08:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
