<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Робот-сканер нескольких инструментов в Quik Lua]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Робот-сканер нескольких инструментов в Quik Lua форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 23 Apr 2026 11:58:33 +0300</pubDate>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69692/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_E6g1wnKY" href="/user/16069/" bx-tooltip-user-id="16069">Алексей А.</a> написал:<br />Не смог понять<br />=============<br />Блин, это ж так прост оказалось))))))<br />
====code====
<pre>&nbsp;&nbsp;&nbsp;instruments={{"AFKS", 1, 0.001, os.time()+1}, {"AFLT", 1, 0.01, os.time()+2}, {"AGRO", 1, 0.2, os.time()+3}}
&nbsp;&nbsp;&nbsp;for _,val in ipairs(instruments) do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(val&#91;1&#93;.." "..val&#91;2&#93;.." "..val&#91;3&#93;.." "..val&#91;4&#93;)
&nbsp;&nbsp;&nbsp;end
</pre>
============= <br />
			<i>24.05.2023 17:00:56, Алексей А..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69692/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69692/topic8072/</guid>
			<pubDate>Wed, 24 May 2023 17:00:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69690/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_evGHnLYG" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />instruments={{&quot;class1&quot;,&quot;sec1&quot;},{&quot;class2&quot;,&quot;sec2&quot;},{&quot;class3&quot;,&quot;sec3&quot;},{&quot;class4&quot;,&quot;sec4&quot;}}<br />for _,val in ipairs(instruments) do<br /> &nbsp; message(val&#91;1&#93;..&quot; &quot;..val&#91;2&#93;)<br />end<br />=============<br />Не смог понять, как работает pair или ipairs, если много массивов...<br />Поэтому сделал так:<br /><br />
====code====
<pre>function main ()
&nbsp;&nbsp;&nbsp;ticker = {"AFKS", "AFLT", "AGRO"}
&nbsp;&nbsp;&nbsp;lot = {"1", "1", "1"}
&nbsp;&nbsp;&nbsp;pricestep = {"0.001", "0.01", "0.2"}
&nbsp;&nbsp;&nbsp;trans_id = {os.time()+1, os.time()+2, os.time()+3}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;for i = 1, #ticker do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds = CreateDataSource("TQBR", ticker&#91;i&#93;, INTERVAL_D1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(400) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CandleNum = ds:Size()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;priceO = ds:O(CandleNum)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;orderprice = priceO * 1.05 - priceO * 1.05%pricestep&#91;i&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message ("Тикер "..ticker&#91;i&#93;..". Количество лотов: "..lot&#91;i&#93;..". Шаг цены: "..pricestep&#91;i&#93;..". Номер транзакции: "..trans_id&#91;i&#93;..". Цена: "..orderprice)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;-- и дальше код ........
end
</pre>
============= <br />
			<i>24.05.2023 16:48:24, Алексей А..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69690/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69690/topic8072/</guid>
			<pubDate>Wed, 24 May 2023 16:48:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69656/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_BnFGhyqz" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал: for или while, можно даже goto, хотя это уже извращение.<br />=============<br />Спасибо, нашел по ним информацию, изучаю. <br />
			<i>23.05.2023 10:44:30, Алексей А..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69656/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69656/topic8072/</guid>
			<pubDate>Tue, 23 May 2023 10:44:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69649/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_g1C87j2B" href="/user/16069/" bx-tooltip-user-id="16069">Алексей А.</a> написал:<br />Не подскажете, при помощи чего можно сделать цикл перебора инструментов?<br />=============<br />Да хотя бы так<br />
====code====
<pre>instruments={{"class1","sec1"},{"class2","sec2"},{"class3","sec3"},{"class4","sec4"}}
for _,val in ipairs(instruments) do
&nbsp;&nbsp; message(val&#91;1&#93;.." "..val&#91;2&#93;)
end
</pre>
=============
<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_5bxGJitM" href="/user/16069/" bx-tooltip-user-id="16069">Алексей А.</a> написал:<br />С &quot;вечным циклом&quot; и проверками разобрался.<br />=============<br />Разобрался, говорите?<br />На счет проверок вас впереди ждет не мало &quot;сюрпризов&quot;, скоро это поймете. <br />
			<i>23.05.2023 06:16:02, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69649/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69649/topic8072/</guid>
			<pubDate>Tue, 23 May 2023 06:16:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69646/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_2H2fLBs3" href="/user/16069/" bx-tooltip-user-id="16069">Алексей А.</a>, Как и любой другой цикл: for или while, можно даже goto, хотя это уже извращение. <br />
			<i>23.05.2023 00:41:36, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69646/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69646/topic8072/</guid>
			<pubDate>Tue, 23 May 2023 00:41:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69643/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо за ответ. С &quot;вечным циклом&quot; и проверками разобрался.<br />Не подскажете, при помощи чего можно сделать цикл перебора инструментов? <br />
			<i>22.05.2023 20:46:50, Алексей А..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69643/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69643/topic8072/</guid>
			<pubDate>Mon, 22 May 2023 20:46:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69641/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_YCG1omgZ" href="/user/16069/" bx-tooltip-user-id="16069">Алексей А.</a> написал:<br />Подскажите, пожалуйста, что добавить в скрипт, чтобы можно было запустить его один раз, чтобы постоянно мониторил цену, пока не отключишь его.<br />=============<br />Если вкратце, то<br />Добавить цикл который будет крутить майн пока не остановите<br />Добавить цикл перебора инструментов<br />Добавить 100500 проверок, чтобы скрипт не скупил все растущие бумаги на все деньги )) <br />
			<i>22.05.2023 20:03:45, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69641/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69641/topic8072/</guid>
			<pubDate>Mon, 22 May 2023 20:03:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Робот-сканер нескольких инструментов в Quik Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69635/topic8072/">Робот-сканер нескольких инструментов в Quik Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всем добрый день.<br /><br />Есть такой код Lua, который работает только по одному инструменту: при запуске в Quik смотрит цену открытия и закрытия, и если цена закрытия становится больше цены открытия на 5%, то покупает по рынку 1 лот. <br /><br />Подскажите, пожалуйста, что добавить в скрипт, чтобы можно было запустить его один раз, чтобы постоянно мониторил цену, пока не отключишь его.<br />А если необходимо сканировать несколько инструментов, например, SIBN, SBER, как нужно изменить скрипт?<br /><br />
====code====
<pre>stopped = false
function OnStop()
&nbsp;&nbsp;&nbsp;stopped = true
&nbsp;&nbsp;&nbsp;return 5000
end

function main()
&nbsp;&nbsp;&nbsp;ticker = "SIBN"
&nbsp;&nbsp;&nbsp;ds1, err = CreateDataSource("TQBR", ticker, INTERVAL_D1);
&nbsp;&nbsp;&nbsp;sleep(400)
&nbsp;&nbsp;&nbsp;CandleNum = ds1:Size()
&nbsp;&nbsp;&nbsp;PriceC = ds1:C(CandleNum)
&nbsp;&nbsp;&nbsp;PriceO = ds1:O(CandleNum)
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;if PriceC &#62; PriceO * 1.05 then -- Если цена закрытия становится больше цены открытия на 5%, то покупаем по рынку 1 лот
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACTION = 'NEW_ORDER',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACCOUNT = 'xxxxxxxxxxx',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPERATION = 'B', -- 'B' - покупка, 'S' - продажа
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLASSCODE = 'TQBR', 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SECCODE = ticker, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRICE = tostring(0), 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QUANTITY = tostring(1), -- количество лотов
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRANS_ID = tostring(1000), -- идентификатор транзакции, чтобы программа распознавала транзакции, когда много сделок
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE = 'M'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Err_A = sendTransaction(A)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("error: "..Err_A)
&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;
end

</pre>
=============
<br />Я начал изучать Lua на прошлой неделе, поэтому мой уровень почти нулевой. Буду благодарен, если дадите какие-либо наводки, что изучать. <br />
			<i>22.05.2023 15:20:30, Алексей А..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69635/topic8072/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69635/topic8072/</guid>
			<pubDate>Mon, 22 May 2023 15:20:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
