<?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>Mon, 11 May 2026 00:40:18 +0300</pubDate>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31448/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_2pK8qq3K" href="/user/901/" bx-tooltip-user-id="901">Suntor</a>, гран мерси за четкие и исчерпывающие объяснения!!! &nbsp; <br />
			<i>01.06.2018 14:34:06, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31448/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31448/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 14:34:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31444/topic3699/">Сортировка и фильтрация таблиц 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_Z2ukVd7E" href="/user/6622/" bx-tooltip-user-id="6622">Ирина</a> написал:<br />
====code====
<pre>min_stop_order = min_stop_order or stop_order
min_stop_order = (min_stop_order.condition_price &#60;= stop_order.condition_price) and min_stop_order or stop_order&nbsp;&nbsp;</pre>
=============
зациклился мой мозг минут на 15 на первой итерации, а на второй ушел на больничный... Если знак не перепутан (ищем мы минимум), поясните, пожалуйста.<br /><br />=============<br />Первая строчка — это типовой шаблон-паттерн первичной инициализации переменной с nil значением:<B>x = x or V</B><br />Если <B>x == nil</B> вначале, то ей будет присвоено значение <B>V</B>, а если <B>x ~= nil</B>, то она будет присвоена сама себе и сохранит значение.<br /><br />В моём примере первая строчка нужна, чтобы не было ошибки во второй. Так как во второй строчке идёт обращение к элементу .condition_price переменной min_stop_order, и если эта переменная равна nil при первом проходе, то просто произойдёт ошибка обращение к элементу nil таблицы, то-есть <B><span class="bx-font" style="color:#ff0000">(nil).condition_price</span></B><br /><br />Сама вторая строчка, такой же стандартный шаблон-паттерн присвоения по условию: <B>x = (exp) and A or B</B><br />Если <B>exp == true</B>, то <B>x = A</B>, иначе <B>x = B</B>.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_0D117reC" href="/user/6622/" bx-tooltip-user-id="6622">Ирина</a> написал:<br />Из спортивного интереса, SearchItems тут сэкономит миллисекунду? Вроде того:
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; fn (par)
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;par =&nbsp;&nbsp;=&nbsp;&nbsp;4&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp; true 
&nbsp;&nbsp;&nbsp;&nbsp; else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp; false 
&nbsp;&nbsp;&nbsp;&nbsp; end 
 end 
 local&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; SearchItems ( "stop_orders" ,&nbsp;&nbsp;0 ,&nbsp;&nbsp;getNumberOf ( "stop_orders" ) -&nbsp;&nbsp;1 , fn,&nbsp;&nbsp;"condition" )

 local&nbsp;&nbsp;min_stop_order&nbsp;&nbsp;=&nbsp;&nbsp; nil 
 for&nbsp;&nbsp;i =&nbsp;&nbsp;0 ,&nbsp;&nbsp;# i -&nbsp;&nbsp;1&nbsp;&nbsp; do 
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;stop_order&nbsp;&nbsp;=&nbsp;&nbsp; getItem ( "stop_orders" , i)
&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order&nbsp;&nbsp;=&nbsp;&nbsp;min_stop_order&nbsp;&nbsp;or&nbsp;&nbsp;stop_order
&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order&nbsp;&nbsp;=&nbsp;&nbsp;(min_stop_order.condition_price&nbsp;&nbsp;&#60;&nbsp;&nbsp;=&nbsp;&nbsp;stop_order.condition_price)&nbsp;&nbsp;and&nbsp;&nbsp;min_stop_order&nbsp;&nbsp;or&nbsp;&nbsp;stop_order
 end 
&nbsp;&nbsp;</pre>
=============
<br />=============<br />Наоборот, перебор такой же по времени, но при этом написали лишний код, усложнили, добавили выделением памяти под таблицу индексов и пр...<br />К тому же, у вас там ряд ошибок. Переменной i обозначили как саму таблицу индексов, так и сам индекс. А также убрали одну из проверок на возврат getItem значения nil, что лучше не делать, даже если вы уверены, что по индексам вам не должно вернуться nil. Это просто неправильный стиль программирования. Проверки на ошибки должны присутствовать всегда.<br /><br />P.S. Смотрю, с утра были бурные обсуждения пары строчек кода... ))) <br />
			<i>01.06.2018 14:15:48, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31444/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31444/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 14:15:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31442/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Думается мне, что наличие первой строки объясняется какими-то особенностями сравнения с nil? &nbsp; <br />
			<i>01.06.2018 13:49:07, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31442/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31442/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 13:49:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31439/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Удачи <br />
			<i>01.06.2018 13:04:04, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31439/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31439/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 13:04:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31438/topic3699/">Сортировка и фильтрация таблиц 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_5lD98L2M" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Если в скобках ложь. &quot;and&quot; &nbsp;вернет ложь. &nbsp; &quot;or&quot; будет сравнивать ложь и &nbsp;stop_order вернет stop_order .<br />Если в скобках истина . &quot;and&quot; &nbsp;вернет min_stop_order . &nbsp; &quot;or&quot; будет сравнивать min_stop_order &nbsp;и &nbsp;stop_order. Вернет min_stop_order (т.к.min_stop_order - истина).<br />=============<br />Да, да, всё верно излагаете. Я так и читала, только с личным глюком. Респект за терпение! &nbsp; <br />
			<i>01.06.2018 13:01:12, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31438/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31438/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 13:01:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31437/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну и глюк у меня случился!!! Конечно, знак не перепутан, это у меня глаза min_stop_order.condition_price и stop_order.condition_price местами перепутали! Мозг-то на больничном.<br />Извините! <br /><a class="blog-p-user-name" id="bp_nMngzWHH" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a>, спасибо за попытки объяснить! <br />
			<i>01.06.2018 12:57:46, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31437/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31437/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:57:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31436/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если в скобках ложь. &quot;and&quot; &nbsp;вернет ложь. &nbsp; &quot;or&quot; будет сравнивать ложь и &nbsp;stop_order вернет stop_order .<br />Если в скобках истина . &quot;and&quot; &nbsp;вернет min_stop_order . &nbsp; &quot;or&quot; будет сравнивать min_stop_order &nbsp;и &nbsp;stop_order. Вернет min_stop_order (т.к.min_stop_order - истина). <br />
			<i>01.06.2018 12:56:03, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31436/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31436/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:56:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31435/topic3699/">Сортировка и фильтрация таблиц 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_WsrU5m4a" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Нет. т.к. в скобках может быть как истина так и ложь.<br />=============<br />речь только об истине (когда наткнулись на нужное значение). <br />
			<i>01.06.2018 12:47:16, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31435/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31435/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:47:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31434/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_V51n6Gis" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a>, не заметила сразу, что это<br />====quote====<br /><a class="blog-p-user-name" id="bp_U8kaZt1G" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Т.е. первую строку нельзя сравнивать с куском второй.<br />=============<br />Вы на другой мой чайниковский вопрос отвечали... Но всё равно непонятно. Не надо первую строку ни с чем сравнивать. Её надо убрать. Само сравнение есть во второй. <br />
			<i>01.06.2018 12:44:40, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31434/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31434/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:44:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31433/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />т.е. &quot;and&quot; всегда будет возвращать предыдущий min_stop_order, а &quot;or&quot; его подхватывать.<br />=============<br />Нет. т.к. в скобках может быть как истина так и ложь. <br />
			<i>01.06.2018 12:44:36, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31433/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31433/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:44:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31430/topic3699/">Сортировка и фильтрация таблиц 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_wSnt61FV" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Т.е. первую строку нельзя сравнивать с куском второй.<br />=============<br />вот это вообще непонятно, Вы о чем? <br />
			<i>01.06.2018 12:24:52, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31430/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31430/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:24:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31428/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			т.е. &quot;and&quot; всегда будет возвращать предыдущий min_stop_order, а &quot;or&quot; его подхватывать. <br />
			<i>01.06.2018 12:22:58, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31428/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31428/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:22:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31426/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я то же самое написала выше.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_r0A9MBte" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a> написал:<br />Во второй сначала вычисляется &quot;and&quot;<br />=============<br />И таким образом, при сравнении истин, новое минимальное значение никогда не будет присвоено. <br />
			<i>01.06.2018 12:18:49, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31426/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31426/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 12:18:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31422/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><br />====quote====<br />И ещё вопросик по:<table class="data-table"><tr><th>Цитата</th></tr><tr><td><noindex><a href="https://forum.quik.ru/user/901/" target="_blank" rel="nofollow">Suntor</a></noindex> &nbsp; написал: &nbsp; <table class="data-table"><tr><th>Код</th></tr><tr><td>min_stop_order = min_stop_order or stop_order<br />min_stop_order = (min_stop_order.condition_price &lt;= stop_order.condition_price) and min_stop_order or stop_order</td></tr></table></td></tr></table>Логическая операция первой строки полностью присутствует во второй. Зачем она, первая строка?<br />=============<br /><br />=============<br />В первой строке &quot;or&quot; вернет min_stop_order , если это истина.<br />Во второй сначала вычисляется &quot;and&quot;, и только потом &quot;результат and&quot; or stop_order. Т.е. первую строку нельзя сравнивать с куском второй. <br />
			<i>01.06.2018 11:57:39, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31422/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31422/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 11:57:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31421/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_J4xYD6Xv" href="/user/3226/" bx-tooltip-user-id="3226">Игорь Б</a>, При первом проходе присваивается значение stop_order (т.к. min_stop_order = nil). При втором, если в stop_order нужное нам меньшее значение, оставляется первое min_stop_order.condition_price (неравенство в скобках - истина, min_stop_order - истина, соответственно, &quot;and&quot; берет min_stop_order, а &quot;or&quot; на нем же и останавливается). Где я ошибаюсь? <br />
			<i>01.06.2018 11:54:29, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31421/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31421/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 11:54:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31420/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Вот тут <br /><br />Код<br /><br /><br />min_stop_order = min_stop_order or stop_order<br />min_stop_order = (min_stop_order.condition_price &lt;= stop_order.condition_price) and min_stop_order or stop_order<br /> <br />зациклился мой мозг минут на 15 на первой итерации, а на второй ушел на больничный... Если знак не перепутан (ищем мы минимум), поясните, пожалуйста. <br />=============<br /><br />Полезные идиомы Lua с использованием and и or. <br />Знак не перепутан. Ищем мин. из двух чисел. <br />
			<i>01.06.2018 11:44:13, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31420/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31420/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 11:44:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31419/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Вот тут<table class="data-table"><tr><th>Код</th></tr><tr><td>min_stop_order = min_stop_order or stop_order<br />min_stop_order = (min_stop_order.condition_price &lt;= stop_order.condition_price) and min_stop_order or stop_order</td></tr></table>зациклился мой мозг минут на 15 на первой итерации, а на второй ушел на больничный... Если знак не перепутан (ищем мы минимум), поясните, пожалуйста. <br />=============<br />Полезные идиомы Lua с использованием and и or.<br />Знак не перепутан. Ищем мин. из двух чисел. &nbsp; <br />
			<i>01.06.2018 11:37:44, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31419/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31419/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 11:37:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31418/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И ещё вопросик по:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_szcm7lIG" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал: &nbsp; &nbsp; &nbsp; &nbsp;
====code====
<pre>min_stop_order = min_stop_order or stop_order
min_stop_order = (min_stop_order.condition_price &#60;= stop_order.condition_price) and min_stop_order or stop_order
</pre>
=============
<br />=============<br />Логическая операция первой строки полностью присутствует во второй. Зачем она, первая строка? <br />
			<i>01.06.2018 11:30:28, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31418/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31418/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 11:30:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31414/topic3699/">Сортировка и фильтрация таблиц 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_s0P0uRet" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br />Да и вообще, то что вы описали можно сделать без всяких сортировок в одном цикле прохода по таблице стоп-заявок. Ну типа такого:<br /><br />=============<br />Здорово! Для моих целей - за глаза! Спасибо большое!<br /><br />Вот тут 
====code====
<pre>min_stop_order = min_stop_order or stop_order
min_stop_order = (min_stop_order.condition_price &#60;= stop_order.condition_price) and min_stop_order or stop_order</pre>
=============
зациклился мой мозг минут на 15 на первой итерации, а на второй ушел на больничный... Если знак не перепутан (ищем мы минимум), поясните, пожалуйста.<br /><br />Таблицу min_stop_order Вы не объявляете фигурными скобками, потому как она автоматом перенимает тип stop_order или это с nil связано?<br /><br />Из спортивного интереса, SearchItems тут сэкономит миллисекунду? Вроде того:
====code====
<pre>function fn(par)
&nbsp;&nbsp;&nbsp;&nbsp;if par==4 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false
&nbsp;&nbsp;&nbsp;&nbsp;end
end
local i = SearchItems("stop_orders", 0, getNumberOf("stop_orders")-1, fn, "condition")

local min_stop_order = nil
for i=0, #i-1 do
&nbsp;&nbsp;&nbsp;&nbsp;local stop_order = getItem("stop_orders", i)
&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = min_stop_order or stop_order
&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = (min_stop_order.condition_price &#60;= stop_order.condition_price) and min_stop_order or stop_order
end
</pre>
============= <br />
			<i>01.06.2018 10:50:18, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31414/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31414/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 10:50:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31406/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Даже ещё проще:
====code====
<pre>local min_stop_order = nil
for i=0,getNumberOf("stop_orders")-1 do
&nbsp;&nbsp;&nbsp;&nbsp;local stop_order = getItem("stop_orders", i)
&nbsp;&nbsp;&nbsp;&nbsp;if stop_order and stop_order.condition == 4 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = min_stop_order or stop_order
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = (min_stop_order.condition_price &#60;= stop_order.condition_price) and min_stop_order or stop_order
&nbsp;&nbsp;&nbsp;&nbsp;end
end</pre>
============= <br />
			<i>01.06.2018 02:03:07, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31406/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31406/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 02:03:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31405/topic3699/">Сортировка и фильтрация таблиц 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_kWKCTork" href="/user/6622/" bx-tooltip-user-id="6622">Ирина</a> написал:<br /> Suntor &nbsp;, с фильтрацией согласна. Но тянуть каждый getItem-ом... Сколько времени уйдет на сотню заявок?<br />table.sort сама б не нашла, спасибо.<br />=============<br />А без getItem сами элементы не получите, SearchItems возвращает таблицу только с индексами этих элементов... таков порядок работы этих ф-ций... 100 заявок это мало. Уйдут миллисекунды на современных ПК разумеется... ))) Ну вы можете конечно в саму ф-цию fn для SearchItems сразу в тело встроить сохранение найденных элементов куда вам надо.<br /><br />Да и вообще, то что вы описали можно сделать без всяких сортировок в одном цикле прохода по таблице стоп-заявок. Ну типа такого:<br />Поиск стоп-заявки на продажу с минимальной стоп-ценой:
====code====
<pre>local condition_price = nil
local min_stop_order = nil
for i=0,getNumberOf("stop_orders")-1 do
&nbsp;&nbsp;&nbsp;&nbsp;local stop_order = getItem("stop_orders", i)
&nbsp;&nbsp;&nbsp;&nbsp;if stop_order and stop_order.condition == 4 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;condition_price = condition_price or stop_order.condition_price
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = min_stop_order or stop_order
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if condition_price &#62; stop_order.condition_price then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;condition_price = stop_order.condition_price
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_stop_order = stop_order
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
end</pre>
=============
— код написал от руки, прямо сюда, не проверяя... доработайте его напильником, перепроверьте... но суть думаю понятна. <br />
			<i>01.06.2018 01:46:16, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31405/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31405/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 01:46:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31404/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_o15gPoJY" href="/user/901/" bx-tooltip-user-id="901">Suntor</a>, с фильтрацией согласна. Но тянуть каждый getItem-ом... Сколько времени уйдет на сотню заявок?<br />table.sort сама б не нашла, спасибо. <br />
			<i>01.06.2018 00:33:35, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31404/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31404/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 00:33:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31403/topic3699/">Сортировка и фильтрация таблиц 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_Oz0G7JBN" href="/user/6622/" bx-tooltip-user-id="6622">Ирина</a> написал:<br />Вопрос: Можно ли командами из скрипта отфильтровать таблицу, чтобы исключить заявки с посторонними флагами, видами и др. параметрами<br />=============<br />Можно сначала через SearchItems найти все элементы таблицы по нужным параметрам, и потом получить их через getItem и сохранить в свою таблицу.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_cAJKsw0v" href="/user/6622/" bx-tooltip-user-id="6622">Ирина</a> написал:<br />и отсортировать, чтобы интересующая заявка получила заведомо известный индекс 0 или getNumberOf-1 ?<br />=============<br />...и потом эту свою таблицу отсортировать через table.sort уже по требуемому параметру, например цене. <br />
			<i>01.06.2018 00:07:47, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31403/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31403/topic3699/</guid>
			<pubDate>Fri, 01 Jun 2018 00:07:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сортировка и фильтрация таблиц QUIK средствами Lua</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message31399/topic3699/">Сортировка и фильтрация таблиц QUIK средствами Lua</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Задача: выудить из таблицы стоп-заявок активную стоп-заявку определенной направленности и вида с минимальной стоп-ценой.<br />Вопрос: Можно ли командами из скрипта отфильтровать таблицу, чтобы исключить заявки с посторонними флагами, видами и др. параметрами, и отсортировать, чтобы интересующая заявка получила заведомо известный индекс 0 или getNumberOf-1 ? <br />
			<i>31.05.2018 23:09:13, Ирина.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message31399/topic3699/</link>
			<guid>http://forum.quik.ru/messages/forum10/message31399/topic3699/</guid>
			<pubDate>Thu, 31 May 2018 23:09:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
