<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: требуется написание скрипта для quick]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме требуется написание скрипта для quick форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 09:09:29 +0300</pubDate>
		<item>
			<title>требуется написание скрипта для quick</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32300/topic3810/">требуется написание скрипта для quick</a></b> <i>требуется написание индикатора для терминала quick</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день. Требуется написание индикатора для торгового терминала quick<br /><br /><br />Канал Регрессии (Polynomial Regression Channel)<br />Канал Регрессии состоит из двух параллельных линий, равноудалённый сверху и снизу от линии тренда линейной регрессии. Расстояние между границами канала и линией регрессии равно значению отклонения максимальной цены закрытия от линии регрессии. <br /><br /><br /><br />Канал квадратичной (параболической) регрессии<br />КОД mt4<br /><br /><br />#property indicator_chart_window<br />#property indicator_buffers 3<br />#property indicator_color1 LimeGreen<br />#property indicator_color2 Gold<br />#property indicator_color3 Gold<br /><br /><br />extern int degree = 3;<br />extern double kstd = 2.0;<br />extern int bars = 250;<br />extern int shift = 0;<br /><br /><br />//-----<br />double fx&#91;&#93;,sqh&#91;&#93;,sql&#91;&#93;;<br /><br />double ai&#91;10,10&#93;,b&#91;10&#93;,x&#91;10&#93;,sx&#91;20&#93;;<br />double sum;<br />int ip,p,n,f;<br />double qq,mm,tt;<br />int ii,jj,kk,ll,nn;<br />double sq;<br /><br />int i0 = 0;<br /><br />//+------------------------------------------------------------------+<br />//| Custom indicator initialization function &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />//+------------------------------------------------------------------+<br />int init()<br />{<br /> &nbsp;SetIndexBuffer(0, fx);<br /> &nbsp;SetIndexBuffer(1, sqh);<br /> &nbsp;SetIndexBuffer(2, sql);<br /><br /> &nbsp;SetIndexStyle(0, DRAW_LINE);<br /> &nbsp;SetIndexStyle(1, DRAW_LINE);<br /> &nbsp;SetIndexStyle(2, DRAW_LINE);<br /><br /> &nbsp;SetIndexEmptyValue(0, 0.0);<br /> &nbsp;SetIndexEmptyValue(1, 0.0);<br /> &nbsp;SetIndexEmptyValue(2, 0.0);<br /> &nbsp;<br /> &nbsp;SetIndexShift(0, shift);<br /> &nbsp;SetIndexShift(1, shift);<br /> &nbsp;SetIndexShift(2, shift);<br /><br /> &nbsp;return(0);<br />}<br /><br />//+------------------------------------------------------------------+<br />//| Custom indicator deinitialization function &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />//+------------------------------------------------------------------+<br />int deinit()<br />{<br /> &nbsp;return(0);<br />}<br /><br />//+------------------------------------------------------------------+<br />//| Custom indicator iteration function &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br />//+------------------------------------------------------------------+<br />int start()<br />{<br /> &nbsp;if (Bars &lt; bars) return;<br /><br /><br /> &nbsp;int mi; // &nbsp;start<br /> &nbsp;ip = bars;<br /> &nbsp;p=ip; //<br /> &nbsp;sx&#91;1&#93;=p+1; //<br /> &nbsp;nn = degree+1;<br /><br /> &nbsp;SetIndexDrawBegin(0, Bars-p-1);<br /> &nbsp;SetIndexDrawBegin(1, Bars-p-1);<br /> &nbsp;SetIndexDrawBegin(2, Bars-p-1);<br /><br />//----------------------sx-------------------------------------------------------------------<br /> &nbsp;for(mi=1;mi&lt;=nn*2-2;mi++) // mi �� 1 nn*2-2<br /> &nbsp;{<br /> &nbsp; &nbsp;sum=0;<br /> &nbsp; &nbsp;for(n=i0;n&lt;=i0+p;n++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; sum+=MathPow(n,mi);<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;sx&#91;mi+1&#93;=sum;<br /> &nbsp;}<br /> &nbsp;//----------------------syx-----------<br /> &nbsp;for(mi=1;mi&lt;=nn;mi++)<br /> &nbsp;{<br /> &nbsp; &nbsp;sum=0.00000;<br /> &nbsp; &nbsp;for(n=i0;n&lt;=i0+p;n++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; if(mi==1) sum+=Close&#91;n&#93;;<br /> &nbsp; &nbsp; &nbsp; else sum+=Close&#91;n&#93;*MathPow(n,mi-1);<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;b&#91;mi&#93;=sum;<br /> &nbsp;}<br />//===============Matrix=====================================<WBR/>&shy;============================================================<WBR/>&shy;======<br /> &nbsp;for(jj=1;jj&lt;=nn;jj++)<br /> &nbsp;{<br /> &nbsp; &nbsp;for(ii=1; ii&lt;=nn; ii++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; kk=ii+jj-1;<br /> &nbsp; &nbsp; &nbsp; ai&#91;ii,jj&#93;=sx&#91;kk&#93;;<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br />//===============Gauss======================================<WBR/>&shy;============================================================<WBR/>&shy;======<br /> &nbsp;for(kk=1; kk&lt;=nn-1; kk++)<br /> &nbsp;{<br /> &nbsp; &nbsp;ll=0;<br /> &nbsp; &nbsp;mm=0;<br /> &nbsp; &nbsp;for(ii=kk; ii&lt;=nn; ii++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; if(MathAbs(ai&#91;ii,kk&#93;)&gt;mm)<br /> &nbsp; &nbsp; &nbsp; {<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mm=MathAbs(ai&#91;ii,kk&#93;);<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ll=ii;<br /> &nbsp; &nbsp; &nbsp; }<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;if(ll==0) return(0);<br /> &nbsp; &nbsp;if (ll!=kk)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; for(jj=1; jj&lt;=nn; jj++)<br /> &nbsp; &nbsp; &nbsp; {<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tt=ai&#91;kk,jj&#93;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ai&#91;kk,jj&#93;=ai&#91;ll,jj&#93;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ai&#91;ll,jj&#93;=tt;<br /> &nbsp; &nbsp; &nbsp; }<br /> &nbsp; &nbsp; &nbsp; tt=b&#91;kk&#93;;<br /> &nbsp; &nbsp; &nbsp; b&#91;kk&#93;=b&#91;ll&#93;;<br /> &nbsp; &nbsp; &nbsp; b&#91;ll&#93;=tt;<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;for(ii=kk+1;ii&lt;=nn;ii++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; qq=ai&#91;ii,kk&#93;/ai&#91;kk,kk&#93;;<br /> &nbsp; &nbsp; &nbsp; for(jj=1;jj&lt;=nn;jj++)<br /> &nbsp; &nbsp; &nbsp; {<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(jj==kk) ai&#91;ii,jj&#93;=0;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else ai&#91;ii,jj&#93;=ai&#91;ii,jj&#93;-qq*ai&#91;kk,jj&#93;;<br /> &nbsp; &nbsp; &nbsp; }<br /> &nbsp; &nbsp; &nbsp; b&#91;ii&#93;=b&#91;ii&#93;-qq*b&#91;kk&#93;;<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br /> &nbsp;x&#91;nn&#93;=b&#91;nn&#93;/ai&#91;nn,nn&#93;;<br /> &nbsp;for(ii=nn-1;ii&gt;=1;ii--)<br /> &nbsp;{<br /> &nbsp; &nbsp;tt=0;<br /> &nbsp; &nbsp;for(jj=1;jj&lt;=nn-ii;jj++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; tt=tt+ai&#91;ii,ii+jj&#93;*x&#91;ii+jj&#93;;<br /> &nbsp; &nbsp; &nbsp; x&#91;ii&#93;=(1/ai&#91;ii,ii&#93;)*(b&#91;ii&#93;-tt);<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br />//==========================================================<WBR/>&shy;============================================================<WBR/>&shy;=====<br /> &nbsp;for(n=i0;n&lt;=i0+p;n++)<br /> &nbsp;{<br /> &nbsp; &nbsp;sum=0;<br /> &nbsp; &nbsp;for(kk=1;kk&lt;=degree;kk++)<br /> &nbsp; &nbsp;{<br /> &nbsp; &nbsp; &nbsp; sum+=x&#91;kk+1&#93;*MathPow(n,kk);<br /> &nbsp; &nbsp;}<br /> &nbsp; &nbsp;fx&#91;n&#93;=x&#91;1&#93;+sum;<br /> &nbsp;}<br />//-----------------------------------Std-----------------------------------------------------------------------------------<br /> &nbsp;sq=0.0;<br /> &nbsp;for(n=i0;n&lt;=i0+p;n++)<br /> &nbsp;{<br /> &nbsp; &nbsp;sq+=MathPow(Close&#91;n&#93;-fx&#91;n&#93;,2);<br /> &nbsp;}<br /> &nbsp;sq=MathSqrt(sq/(p+1))*kstd;<br /><br /> &nbsp;for(n=i0;n&lt;=i0+p;n++)<br /> &nbsp;{<br /> &nbsp; &nbsp;sqh&#91;n&#93;=fx&#91;n&#93;+sq;<br /> &nbsp; &nbsp;sql&#91;n&#93;=fx&#91;n&#93;-sq;<br /> &nbsp;}<br /><br /> &nbsp;return(0);<br />}<br />// eof <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=5323&" width="834" height="394" /><br /><i>20.07.2018 18:23:38, Stap.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32300/topic3810/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32300/topic3810/</guid>
			<pubDate>Fri, 20 Jul 2018 18:23:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
