<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Работа с экранной таблицей - нужна помощь]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Работа с экранной таблицей - нужна помощь форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 23 Apr 2026 06:39:07 +0300</pubDate>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41600/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Jd4x5I7X" href="/user/1255/" bx-tooltip-user-id="1255">Николай Колесников</a> написал:<br />думаю этот отбор с помощью скрипта ненужен<br />=============<br />Для бэктеста обязателен. Когда-то были и другие лидеры, которых нынче либо вовсе нет, либо болтаются где-то на задворках. В те давние времена они бы к вам в портфель попали и завезли потом нехилых лосей, а если будете тестить только ныне здравствующих, вы этого не увидите и получите завышенные результаты. Думается, процентов эдак 100 публикуемых граалей таким вот образом и получены. Видел публикации, где аффтары считали корреляции на участке истории, на котором потом этот портфель и тестировали и потом хвалились, как они индекс обгоняют.<br /><br /><br />====quote====<br />даже если все свои деньги разом вложить в сбербанк цена сбербанка с места даже несдвинется<br />=============<br />Она может даже на вас в моменте подвинуться, если в стакан смотреть и ставить лимитник, куда мейкер покажет. А можно и наоборот попасть, это даже попроще будет ) В целом же тут ликвидные не для ликвидности выбираются, система такая (типа). <br />
			<i>17.01.2020 08:16:46, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41600/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41600/topic4997/</guid>
			<pubDate>Fri, 17 Jan 2020 08:16:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41599/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я тоже новичёк &nbsp;,но думаю этот отбор с помощью скрипта ненужен. Ликвидные бумаги они постоянно ликвидные ,и давно известны. Зачем 32 бумаги ,возмите просто 10 &nbsp;самых популярных бумаг . Притом думаю что те кто обращаются на форум имеют столько денег что у них даже сбербанк-п ликвидный ,потому что даже если все свои деньги разом вложить в сбербанк цена сбербанка с места даже несдвинется -:))) <br />
			<i>17.01.2020 07:15:10, Николай Колесников.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41599/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41599/topic4997/</guid>
			<pubDate>Fri, 17 Jan 2020 07:15:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41584/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_riAJ2vE0" href="/user/13507/" bx-tooltip-user-id="13507">ZdenniZ</a> написал:<br />открывать окно квика &quot;покупка/продажа&quot;<br />=============<br />Официально из луа нельзя этого сделать. Через winapi можно схачить, сымитировав соответствующую команду меню, но хак он хак и есть, не факт, что в следующей версии квика что-то не поменяют и предъявлять за &quot;перестало работать&quot; будет некому. А вот это<br /><br />====quote====<br />передав в него необходимый тикер<br />=============<br />всхачить будет сложнее, результат не гарантирован и версионная неустойчивость больше. Это только из спортивного интереса можно попробовать, я б не стал морочиться. <br />
			<i>15.01.2020 22:36:46, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41584/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41584/topic4997/</guid>
			<pubDate>Wed, 15 Jan 2020 22:36:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41580/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо, все так и сделал, все работает )). Теперь вот задался вопросом, можно ли по клику на строку в этой экранной таблице открывать окно квика &quot;покупка/продажа&quot;, передав в него необходимый тикер? Я понимаю, что есть функционал подачи заявок программно, и так впоследствии и сделаю, но пока хочу научиться работать с мышиными евентами. Нигде пока нужной информации не нашел... <br />
			<i>15.01.2020 16:36:07, ZdenniZ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41580/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41580/topic4997/</guid>
			<pubDate>Wed, 15 Jan 2020 16:36:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41526/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И еще здорово было бы вынести построение таблицы в отдельную функцию, чтобы все локальные переменные в этой функции (ненужные после построения таблицы) прибились после ее завершения и не лопали зря ресурсы. <br />
			<i>12.01.2020 05:18:57, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41526/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41526/topic4997/</guid>
			<pubDate>Sun, 12 Jan 2020 05:18:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41525/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_x7ctWwXx" href="/user/13507/" bx-tooltip-user-id="13507">ZdenniZ</a> написал:<br />если оставить эту табличку на экране на некоторое время<br />=============<br />Надо ж в мейне цикл сделать, пока IsRun не сбросится, и OnStop добавить с удалением таблицы и сбросом IsRun. <br />
			<i>12.01.2020 05:15:33, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41525/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41525/topic4997/</guid>
			<pubDate>Sun, 12 Jan 2020 05:15:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41524/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Все получилось в версии скрипта ниже, оказалось проще, чем я думал. Едем дальше )). Единственное, с учебным квиком 8.2.1.13 какая-то ерунда, если оставить эту табличку на экране на некоторое время, квик начинает глючить и помогает только его полный перезапуск...<br />
====code====
<pre>IsRun = true
class_code="QJSIM"
 
function main()
&nbsp;&nbsp; t_id = AllocTable()&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; AddColumn(t_id, 1, "Оборот",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true, QTABLE_STRING_TYPE, 20)
&nbsp;&nbsp; AddColumn(t_id, 2, "Бумага", true, QTABLE_DOUBLE_TYPE,&nbsp;&nbsp; 14)
&nbsp;&nbsp; t = CreateWindow(t_id)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;local seclist = {}
&nbsp;&nbsp;local valtod = {}
&nbsp;&nbsp;local secstring = ""
&nbsp;&nbsp;local iRowInOutTable = 1
&nbsp;&nbsp;local list = {}
&nbsp;&nbsp;local val = 0
&nbsp;&nbsp;local sorttable = {}
&nbsp;&nbsp;local i=1&nbsp;&nbsp;
&nbsp;&nbsp;
 --list = getClassesList()
 --message(list)
&nbsp;&nbsp;seclist = getClassSecurities(class_code)
 
 mt = {}

&nbsp;&nbsp;for SecCode in string.gmatch(seclist, "(&#91;^,&#93;+)") do

&nbsp;&nbsp;--InsertRow(t_id, 1)
 
 valtod = getParamEx(class_code, SecCode, "VALTODAY").param_value
&nbsp;&nbsp;seccode = SecCode
&nbsp;&nbsp;val = tonumber(valtod)
&nbsp;&nbsp; mt&#91;i&#93; = {}&nbsp;&nbsp;&nbsp;&nbsp; -- create a new row
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mt&#91;i&#93;&#91;1&#93; = val
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mt&#91;i&#93;&#91;2&#93; = seccode
&nbsp;&nbsp;i=i+1
&nbsp;&nbsp;&nbsp;end

table.sort(mt, function(a,b) return a&#91;1&#93; &#62; b&#91;1&#93; end) 
for i=1, 32, 1 do
InsertRow(t_id, 1)
SetCell(t_id, iRowInOutTable, 1,&nbsp;&nbsp;tostring(math_round(mt&#91;i&#93;&#91;1&#93;)), 1)
SetCell(t_id, iRowInOutTable, 2, mt&#91;i&#93;&#91;2&#93;, 0)&nbsp;&nbsp;
&nbsp;&nbsp;end
&nbsp;&nbsp; 
message(mt&#91;1&#93;&#91;1&#93;)
end

function math_round (num, idp)
&nbsp;&nbsp; local mult = 10^(idp or 0)
&nbsp;&nbsp; return math.floor(num * mult + 0.5) / mult&nbsp;&nbsp;
end
</pre>
============= <br />
			<i>12.01.2020 04:47:49, ZdenniZ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41524/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41524/topic4997/</guid>
			<pubDate>Sun, 12 Jan 2020 04:47:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41521/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dqd50AiO" href="/user/13507/" bx-tooltip-user-id="13507">ZdenniZ</a> написал:<br /> проблема его системы<br />=============<br />в неявном предположении персистентности рядов ) тксть палю грааль )<br /><br />Загуглите lua merge sort, все написано до нас. <br />
			<i>11.01.2020 14:29:05, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41521/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41521/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 14:29:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41520/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_RKFkALcA" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13507/" target="_blank" rel="nofollow">ZdenniZ</a></noindex> написал:<br />по какому критерию он ликвиды выбирает<br />=============<br /> В этом вся и суть. Если отбирать &quot;тупо по обороту&quot;, на дистанции выдавливается максимум 8% без проскальзываний, комиссий и налогов, плюс просадочки нерадостные, лучше в банк отнести и не париться. <br />=============<br />Мне кажется проблема его системы в неиспользовании трейлинг стопа, он все время в убыток уходит, когда по стопу продает. Я хочу посмотреть что будет с трейлинг-стопом.<br /><br />А насчет мучения, код сортировки нормально не могу написать, может подскажете? ) <br />
			<i>11.01.2020 14:25:28, ZdenniZ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41520/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41520/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 14:25:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41519/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_j3UkpKJ7" href="/user/13507/" bx-tooltip-user-id="13507">ZdenniZ</a> написал:<br />по какому критерию он ликвиды выбирает<br />=============<br />В этом вся и суть. Если отбирать &quot;тупо по обороту&quot;, на дистанции выдавливается максимум 8% без проскальзываний, комиссий и налогов, плюс просадочки нерадостные, лучше в банк отнести и не париться. Справедливости ради, на некоторые другие мысли система может навести. Хотя если в квике ковырять, то можно леса за деревьями не увидеть.<br /><br />А в чем там мучение, ключ - код бумаги, значение - оборот, сортируете в порядке уменьшения оборота, первые 32 - наиболее ликвидные. <br />
			<i>11.01.2020 14:20:09, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41519/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41519/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 14:20:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41518/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vblJH60a" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />А зачем вы вообще в экранную таблицу это все пихаете? Сразу в массив, сортировка, потом выбираете свои 32 бумаги и уже их на экран.<br /><br />PS. Ежли кодите чудодейственную систему со смартлабика с ежедневными скринами, держите спойлер: фигня эта система. Попробуйте выяснить у аффтара, как у него мосэнерго в наиболее ликвидные попало.<br />=============<br /><br />Пробовал выяснить по какому критерию он ликвиды выбирает, молчит )). Экранная таблица - это так, для наглядности. В массив уже все запихал, теперь вот мучаюсь с сортировкой этого массива )). <br />
			<i>11.01.2020 14:03:40, ZdenniZ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41518/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41518/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 14:03:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41517/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А зачем вы вообще в экранную таблицу это все пихаете? Сразу в массив, сортировка, потом выбираете свои 32 бумаги и уже их на экран.<br /><br />PS. Ежли кодите чудодейственную систему со смартлабика с ежедневными скринами, держите спойлер: фигня эта система. Попробуйте выяснить у аффтара, как у него мосэнерго в наиболее ликвидные попало. <br />
			<i>11.01.2020 13:56:29, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41517/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41517/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 13:56:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с экранной таблицей - нужна помощь</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41516/topic4997/">Работа с экранной таблицей - нужна помощь</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всем привет. Я в квике и в луа новичок, но твердо решил разобраться и написать несколько скриптов. Начать решил со скрипта, который из всех торгующихся бумаг выбирает наиболее ликвидные. На данный момент пока получилось только вытащить в экранную таблицу все бумаги и их текущий оборот (VALTODAY), скрипт ниже. Теперь мне необходимо отсортировать полученную таблицу программно по полю &quot;Оборот&quot; от наибольшего значения к наименьшему и выбрать оттуда первые 32 бумаги (т.е. наиболее ликвидные). Как реализовать эту сортировку - ума не приложу. Читал, что нужно сделать отдельную таблицу в виде массива и его уже сортировать через table.sort, но как опросить эту экранную таблицу тоже непонятно и в хелпе ничего такого не нашел... Помогите пожалуйста )).<span class="bx-font" style="color:#373737"><br /></span>
====code====
<pre>IsRun = true
class_code="QJSIM"
 
function main()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_id = AllocTable()&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; AddColumn(t_id, 1, "Бумага",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; true, QTABLE_STRING_TYPE, 20)
&nbsp;&nbsp; AddColumn(t_id, 2, "Оборот", true, QTABLE_DOUBLE_TYPE,&nbsp;&nbsp; 14)
&nbsp;&nbsp; t = CreateWindow(t_id)
 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;local seclist = {}
&nbsp;&nbsp;local valtod = {}
&nbsp;&nbsp;local secstring = ""
&nbsp;&nbsp;local iRowInOutTable = 1
&nbsp;&nbsp;local list = {}
&nbsp;&nbsp;local val = 0
&nbsp;&nbsp;local sorttable = {}
&nbsp;&nbsp;
 --list = getClassesList()
 --message(list)
&nbsp;&nbsp;seclist = getClassSecurities(class_code)
&nbsp;&nbsp; 
&nbsp;&nbsp;for SecCode in string.gmatch(seclist, "(&#91;^,&#93;+)") do
&nbsp;&nbsp;i=1
&nbsp;&nbsp;InsertRow(t_id, i)
 valtod = getParamEx(class_code, SecCode, "VALTODAY").param_value
&nbsp;&nbsp;seccode = SecCode
&nbsp;&nbsp;val = tonumber(valtod)
&nbsp;&nbsp;--message(tostring(val))
&nbsp;&nbsp; SetCell(t_id, iRowInOutTable, 1, seccode)
&nbsp;&nbsp; SetCell(t_id, iRowInOutTable, 2, tostring(math_round(val, 0) ) )
&nbsp;&nbsp; i=i+1
 
&nbsp;&nbsp;end
end

function math_round (num, idp)
&nbsp;&nbsp; local mult = 10^(idp or 0)
&nbsp;&nbsp; return math.floor(num * mult + 0.5) / mult&nbsp;&nbsp;
end

end
</pre>
============= <br />
			<i>11.01.2020 10:08:30, ZdenniZ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41516/topic4997/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41516/topic4997/</guid>
			<pubDate>Sat, 11 Jan 2020 10:08:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
