<?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>Sat, 04 Apr 2026 13:02:43 +0300</pubDate>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2156/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_iW4qJzXs" href="/user/54/" bx-tooltip-user-id="54">Серж</a> пишет: <br />Имеется ввиду хронология среди однотипных колбеков?<br />Разнотипные колбеки придут в произвольном порядке, и не обязательно в том, в каком они бы пришли, не будь этой задержки, верно?<br /><br />=============<br />Да все верно сказанно <br />
			<i>17.03.2015 12:57:37, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2156/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2156/topic279/</guid>
			<pubDate>Tue, 17 Mar 2015 12:57:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2128/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UNo2ySRh" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />если один колбек занял терминал, то он не получает данных с сервера.<br />как только отвиснет, получит пропущенные данные. таким образом, хронология восстановится.<br /><br />=============<br />Имеется ввиду хронология среди однотипных колбеков?<br />Разнотипные колбеки придут в произвольном порядке, и не обязательно в том, в каком они бы пришли, не будь этой задержки, верно? <br />
			<i>17.03.2015 00:17:08, Серж.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2128/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2128/topic279/</guid>
			<pubDate>Tue, 17 Mar 2015 00:17:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2120/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_x0BIVzsU" href="/user/137/" bx-tooltip-user-id="137">sam063rus</a> пишет: <br />а также, вы, таким образом, нам гарантируете, что ни один колбек не пропадёт/будет добавлен в очередь и когда-нибудь обработан?<br /><br />=============<br />если один колбек занял терминал, то он не получает данных с сервера.<br />как только отвиснет, получит пропущенные данные. таким образом, хронология восстановится. <br />
			<i>16.03.2015 18:01:44, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2120/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2120/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 18:01:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2108/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rOEf5wUd" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Колбеки в LUA работают в одном потоке. пока один колбек занят остальные ждут.<br /><br />=============<br /><ul><li>т.е. у вас, получается, &nbsp;реализован механизм очереди колбеков и петля её обработки (на манер windows getmessageque, dispatchmessage и т.п. только, разумеется, &nbsp;с использованием других функций)?<li>а также, вы, таким образом, нам гарантируете, что ни один колбек не пропадёт/будет добавлен в очередь и когда-нибудь обработан?<br /></ul> <br />
			<i>16.03.2015 15:22:01, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2108/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2108/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 15:22:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2107/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Nd0d6ZSE" href="/user/230/" bx-tooltip-user-id="230">dimka</a> пишет: <br />SetTableNotificationCallback() - я так понимаю устанавливает тоже колбэк на события в таблице ? Значит получается отрабатывая колбэк нажатия кнопки мыши - kill_all_order()... OnOrder() не сработает или я неправильно понял?<br /><br />=============<br />SetTableNotificationCallback тоже работает в основном потоке<br />Соответственно пока работает цикл в kill_all_order остальные колбеки не придут.<br />Соответственно, как уже было сказано, мы не рекомендуем выполнять в колбеках какие-либо тяжелые манипуляции. <br />
			<i>16.03.2015 14:23:24, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2107/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2107/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 14:23:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2105/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UshghvVj" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br /><br />====quote====<br /> dimka пишет: <br />2) Если выполняется OnOrder() остальные On...()<br /><br />=============<br />Колбеки в LUA работают в одном потоке. пока один колбек занят остальные ждут. Именно поэтому мы не рекомендуем выполнять в колбеках какие-либо тяжелый манипуляции.<br /><br />=============<br />SetTableNotificationCallback() - я так понимаю устанавливает тоже колбэк на события в таблице ? Значит получается отрабатывая колбэк нажатия кнопки мыши - kill_all_order() &nbsp;... OnOrder() не сработает или я неправильно понял? <br />
			<i>16.03.2015 13:00:32, dimka.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2105/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2105/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 13:00:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2103/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lrbB2zv5" href="/user/230/" bx-tooltip-user-id="230">dimka</a> пишет: <br />1) Во время работы kill_all_order() будут срабатывать OnOrder(),OnTrade() ?<br /><br />=============<br />OnOrder сработает столько раз сколько изменится статусы заявок которые Вы снимаете<br />OnTrade вообще не сработает, так как Вы работаете с заявками а не со сделками.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_DHOyof8A" href="/user/230/" bx-tooltip-user-id="230">dimka</a> пишет: <br />2) Если выполняется OnOrder() остальные On...()<br /><br />=============<br />Колбеки в LUA работают в одном потоке. пока один колбек занят остальные ждут. Именно поэтому мы не рекомендуем выполнять в колбеках какие-либо тяжелый манипуляции.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_PzJc1Jpy" href="/user/230/" bx-tooltip-user-id="230">dimka</a> пишет: <br />3) Нельзя ли это осветить в документации ?<br /><br />=============<br />Что осветить? <br />
			<i>16.03.2015 12:45:40, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2103/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2103/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 12:45:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2101/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Во 2) пункте общий вопрос имелся ввиду "Во время любого On...() может ли он прерватся новым On...() или отработается текущий On...() до конца и затем другие On...() последовательно из очереди будут отработаны. И кстати эта очередь есть или пришел On...() отработать не смог - выкидываем" <br />
			<i>16.03.2015 12:33:09, dimka.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2101/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2101/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 12:33:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как работает</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message2099/topic279/">Как работает</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Кратенько:<br />Нужно снять все заявки ...<br />Нажимаем левую кнопку мыши и через установленный обработчик(методом SetTableNotificationCallback) на это нажатие<br />выполянем kill_all_order() ... также установлен OnOrder()...OnTrade()<br /><br />-- убираем 1 заявку<br />function kill_order(atri)<br /> &nbsp; &nbsp;local trans = {<br />	 &nbsp; &nbsp;&#91;"ACTION"&#93; = "KILL_ORDER",<br />....тыр-тыр<br />		 &nbsp; &nbsp;}<br /> &nbsp; &nbsp;local res = sendTransaction(trans)<br />end<br /><br />local function fnorder(psecode,pflags)<br /> &nbsp; &nbsp;if psecode ~= sec then return false end<br /> &nbsp; &nbsp;if bit.band(pflags, 1)~=0 then return true end<br />end<br /><br />-- убираем все заявки<br />function kill_all_order()<br />local t1 = SearchItems("orders", 0, getNumberOf("orders") +1, fnorder,"sec_code,flags")<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if t1 ~= nil then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for i = 1, #t1, 1 do<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;atri = getItem("orders", t1&#91;i&#93;)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;kill_order(atri)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end<br />end<br /><br />Вопрос!<br />1) Во время работы kill_all_order() будут срабатывать OnOrder(),OnTrade() ?<br />2) Если выполняется OnOrder() остальные On...() ждут последовательно в очереди или пришло событие начинаем отрабатывать ?<br />3) Нельзя ли это осветить в документации ? <br />
			<i>16.03.2015 12:26:56, dimka.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message2099/topic279/</link>
			<guid>http://forum.quik.ru/messages/forum10/message2099/topic279/</guid>
			<pubDate>Mon, 16 Mar 2015 12:26:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
