<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Работа с OnOrder]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Работа с OnOrder форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 23 May 2026 19:27:47 +0300</pubDate>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47856/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_5GHKtIBW" href="/user/1797/" bx-tooltip-user-id="1797">Вадим</a> написал:<br />Кажется я понял, что колбэк функция возвращает два состояния заявки - старое и новое<br /><br />Заявка на Покупку<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Номер &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Флаг Dec/Hex/Bin<br />Thu Aug 13 21:55:00 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 21:55:00 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 22:12:43 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 22:12:43 2020: 26203598248162 &nbsp;26 / #1A / 00011010<br /><br />Заявка на Продажу<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Номер &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Флаг Dec/Hex/Bin<br />Thu Aug 13 21:56:27 2020: 26203598274028 &nbsp;29 / #1D / 00011101<br />Thu Aug 13 21:56:27 2020: 26203598274028 &nbsp;29 / #1D / 00011101<br />Thu Aug 13 22:24:21 2020: 26203598274028 &nbsp;29 / #1E / 00011101<br />Thu Aug 13 22:24:21 2020: 26203598274028 &nbsp;30 / #1E / 00011110<br /><br />В случае первого появления заявки оба состояния новые<br />В случае последующих изменений старое+новое состояние<br />=============<br />Воспринимайте колбек, как сигнал на бесчисленное множество событий, из которых Вам надо очень малое число.<br />Поэтому не надо пытаться их все понять.<br />---------------<br />Надо всегда ставить фильтр лишь того, что нужно. <br />Остальное - игнорировать.<br />В реалии &nbsp;событий может быть хоть тысяча, но вам нужно лишь два.<br />Вместо того , чтобы выяснять что это за событие, определитесь что же конкретно нужно Вам.<br />-----------------------<br />В итоге роботу будут безразличны &nbsp;все события в мире, кроме тех, которые нужны Вам. <br />
			<i>20.08.2020 07:02:35, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47856/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47856/topic1190/</guid>
			<pubDate>Thu, 20 Aug 2020 07:02:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47728/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Кажется я понял, что колбэк функция возвращает два состояния заявки - старое и новое<br /><br />Заявка на Покупку<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Номер &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Флаг Dec/Hex/Bin<br />Thu Aug 13 21:55:00 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 21:55:00 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 22:12:43 2020: 26203598248162 &nbsp;25 / #19 / 00011001<br />Thu Aug 13 22:12:43 2020: 26203598248162 &nbsp;26 / #1A / 00011010<br /><br />Заявка на Продажу<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Номер &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Флаг Dec/Hex/Bin<br />Thu Aug 13 21:56:27 2020: 26203598274028 &nbsp;29 / #1D / 00011101<br />Thu Aug 13 21:56:27 2020: 26203598274028 &nbsp;29 / #1D / 00011101<br />Thu Aug 13 22:24:21 2020: 26203598274028 &nbsp;29 / #1E / 00011101<br />Thu Aug 13 22:24:21 2020: 26203598274028 &nbsp;30 / #1E / 00011110<br /><br />В случае первого появления заявки оба состояния новые<br />В случае последующих изменений старое+новое состояние <br />
			<i>13.08.2020 23:51:59, Вадим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47728/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47728/topic1190/</guid>
			<pubDate>Thu, 13 Aug 2020 23:51:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message12263/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пример <noindex><a href="https://forum.quik.ru/user/1604/" target="_blank" rel="nofollow">Вячеслав</a></noindex>а &nbsp;работает, проблема была в логике<br />спасибо. <br />
			<i>08.02.2016 09:02:05, bulat.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message12263/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message12263/topic1190/</guid>
			<pubDate>Mon, 08 Feb 2016 09:02:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message12231/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&nbsp;один ... может задать столько вопросов, <br />на которые 100 умных затрахаются отвечать.<br />------------------------- <br />Это сладкое слово - ХАЛЯВА. <br />
			<i>07.02.2016 09:23:35, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message12231/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message12231/topic1190/</guid>
			<pubDate>Sun, 07 Feb 2016 09:23:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message12229/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Надо контролировать изменение лимитов.<br />И при их изменении шевелиться с заявками.<br />=============<br /><br />1. <B>Гарантированно</B> ли при изменении лимита в системе <B>всегда уже</B> есть информация по заявке (сделке), вызвавшей его (лимита) изменение?<br />2. При постановке (исполнении) нескольких заявок подряд зачастую лимит может <B>измениться</B> только один раз. &nbsp; <br />
			<i>06.02.2016 21:55:55, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message12229/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message12229/topic1190/</guid>
			<pubDate>Sat, 06 Feb 2016 21:55:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message12227/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я уже писал как решать данную проблему.<br />Повторю еще раз.<br />Надо контролировать изменение лимитов.<br />И при их изменении шевелиться с заявками.<br />тогда будет по ... сколько раз у вас сработает OnOrder <br />
			<i>06.02.2016 18:26:27, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message12227/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message12227/topic1190/</guid>
			<pubDate>Sat, 06 Feb 2016 18:26:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message12018/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://forum.quik.ru/user/1604/" target="_blank" rel="nofollow">Вячеслав</a></noindex>, отчасти помогло), вместо 3-4 стало &nbsp; 1-2 <br />
			<i>02.02.2016 15:14:53, bulat.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message12018/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message12018/topic1190/</guid>
			<pubDate>Tue, 02 Feb 2016 15:14:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message11989/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			bulat,<br />
====code====
<pre>transactions = {};

function OnOrder(order)
&nbsp;&nbsp;&nbsp;&nbsp;if (transactions&#91;order.order_num&#93;) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;transactions&#91;order.order_num&#93; = true;

&nbsp;&nbsp;&nbsp;&nbsp;-- .....
end</pre>
============= <br />
			<i>01.02.2016 23:30:49, Вячеслав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message11989/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message11989/topic1190/</guid>
			<pubDate>Mon, 01 Feb 2016 23:30:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message11987/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />просто сохраните номер заявки, полученный в OnOrder, и если придёт еще один OnOrder с тем же номером заявки - ничего не делайте. сразу выходите из обработчика.<br />=============<br />Можете примерно показать, как это выглядит на луа? <br />
			<i>01.02.2016 21:41:45, bulat.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message11987/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message11987/topic1190/</guid>
			<pubDate>Mon, 01 Feb 2016 21:41:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message11971/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Избавиться от повторных колбэков в OnTrade нельзя.<br />Вы можете только предусмотреть их игнорирование в коде, например сравнивая номер сделки. <br />
			<i>01.02.2016 17:55:31, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message11971/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message11971/topic1190/</guid>
			<pubDate>Mon, 01 Feb 2016 17:55:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message11962/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			не получается избавиться от повторных колбеков OnTrade. Поясните пожалуйста, как с этим быть? <br />
			<i>01.02.2016 14:28:05, bulat.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message11962/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message11962/topic1190/</guid>
			<pubDate>Mon, 01 Feb 2016 14:28:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message11961/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Может покажете на примере? <br />
			<i>01.02.2016 14:03:49, bulat.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message11961/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message11961/topic1190/</guid>
			<pubDate>Mon, 01 Feb 2016 14:03:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10969/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_G1shfyRk" href="/user/82/" bx-tooltip-user-id="82">swerg</a> пишет: <br />Ну т.е. проблема ваша решена, в смысле ответ получен? или что-то еще не понятным осталось?<br /><br />=============<br />фактически да. пришлось изобретать костыли <br />
			<i>17.12.2015 11:56:40, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10969/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10969/topic1190/</guid>
			<pubDate>Thu, 17 Dec 2015 11:56:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10963/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну т.е. проблема ваша решена, в смысле ответ получен? или что-то еще не понятным осталось? <br />
			<i>17.12.2015 06:36:03, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10963/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10963/topic1190/</guid>
			<pubDate>Thu, 17 Dec 2015 06:36:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10941/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lvDqaqex" href="/user/82/" bx-tooltip-user-id="82">swerg</a> пишет: <br />Ну, не получить OnTransReply - это сильно капец что должно произойти, хоть и возможно.<br />А "исполнилась заявка" - это значит сделку надо ловить, вообще-то. OnTrade.<br /><br />По поводу номера заявки: так вы просто сохраните номер заявки, полученный в OnOrder, и если придёт еще один OnOrder с тем же номером заявки - ничего не делайте. сразу выходите из обработчика.<br /><br />=============<br />логика программы вроде такая:<br />OnTransReply - колбек на все транзакции (заявки, стоп-заявки и т.д.)<br />OnOrder - колбек на постановку заявки или изменение состояния заявки (поставилась, исполнена, отменена, частично исполнена, удалена и т.д.)<br />OnTrade - колбек на сделку.<br /><br />OnTransReply не подходит, так как будет вызываться чаще и не вызывается на ручные заявки. <br />OnTrade - не подходит, так как надо проверять по заявке еще и остаток.<br />по логике мне нужен колбек на OnOrder, чтобы поймать изменение заявки на Исполнена, чтобы разрешить постановку новых заявок. в том числе (позже) обрабатывать мои ручные заявки. <br />
			<i>16.12.2015 11:34:02, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10941/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10941/topic1190/</guid>
			<pubDate>Wed, 16 Dec 2015 11:34:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10924/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну, не получить OnTransReply - это сильно капец что должно произойти, хоть и возможно.<br />А "исполнилась заявка" - это значит сделку надо ловить, вообще-то. OnTrade.<br /><br />По поводу номера заявки: так вы просто сохраните номер заявки, полученный в OnOrder, и если придёт еще один OnOrder с тем же номером заявки - ничего не делайте. сразу выходите из обработчика. <br />
			<i>15.12.2015 22:25:53, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10924/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10924/topic1190/</guid>
			<pubDate>Tue, 15 Dec 2015 22:25:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10920/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			делал и на OnTransReply. но не прокатило по такой же причине. переделал на OnOrder.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_DcRY9q0p" href="/user/82/" bx-tooltip-user-id="82">swerg</a> пишет: <br />охранять номера заявок, для которых был вызов OnOrder.<br /><br />=============<br />для чего мне номер заявки? заявка будет одна. мне надо чтобы после выполнения роботу разрешить выставлять новые. <br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_wRNntKdW" href="/user/82/" bx-tooltip-user-id="82">swerg</a> пишет: <br />Кстати, почитайте еще раз справку. OnOrder - это получение терминалом заявки от биржи или изменение каких-то параметров заявки.<br /><br />=============<br />цитата из руководства: <br /><br />====quote====<br />2.2.4 OnOrder<br />Функция вызывается терминалом QUIK при получении новой заявки или при изменении<br />параметров существующей заявки.<br /><br />=============<br />догадываюсь что отличие OnOrder от OnTransReply в том, что первый для заявок, второй для всех транзакций (Стоп-заявки, заявки и т.д.)<br /><br />но в свое время ознакомился с <noindex><a href="http://forum-archive.quik.ru/forum/lua/113513/113513/" target="_blank" rel="nofollow">http://forum-archive.quik.ru/forum/lua/113513/113513/</a></noindex><br />и понравилось то, что "Имейте ввидк, что "OnTransReply может просто не прийти" - цитата сотрудников ARQA. "<br /><br />оказывается я не одинок. <noindex><a href="https://forum.quik.ru/forum10/topic996/" target="_blank" rel="nofollow">https://forum.quik.ru/forum10/topic996/</a></noindex><br /><br />идея такая: получил сигнал. выставил заявку. получить колбек по исполнению заявки и значит можно делать новые заявки при сигнале.<br />при торговле на часовом таймфрейме я могу получать сигналы в течении этого часа и робот может молотить заявки пока не придет обновление о количестве. <br />
			<i>15.12.2015 21:37:03, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10920/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10920/topic1190/</guid>
			<pubDate>Tue, 15 Dec 2015 21:37:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10914/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Сохранять номера заявок, для которых был вызов OnOrder.<br />Кстати, почитайте еще раз справку. OnOrder - это получение терминалом заявки от биржи или изменение каких-то параметров заявки.<br />А ответ на транзакцию (trans_reply) ловится в событии OnTransReply. <br />
			<i>15.12.2015 19:58:40, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10914/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10914/topic1190/</guid>
			<pubDate>Tue, 15 Dec 2015 19:58:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Работа с OnOrder</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message10912/topic1190/">Работа с OnOrder</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			простенький робот со скользяшками. <br />интересующие куски кода:<br /><br /><br />
====code====
<pre>TRANS_ID = 1

function main()
&nbsp;&nbsp;&nbsp;while is_run do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(350)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;robot()
&nbsp;&nbsp;&nbsp;end
end

function robot()
&nbsp;&nbsp;&nbsp;--сигнал на вход
&nbsp;&nbsp;&nbsp;if (price ~= 0) and (need_order) and (quantity_total() &#60; Maximum_quantity) and (quantity_total() &#62; 0-Maximum_quantity) then --проверка на цену, необходимость выставления заявки и что текущее количество не больше разрешенного для лонга/шорта
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetOrder("B", price, 1) --выставляем заявку
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;need_order = false --условие, что есть заявка, то новую не ставим
&nbsp;&nbsp;&nbsp;end
end

function SetOrder(type, price, qua) -- подать заявку
&nbsp;&nbsp;&nbsp;&nbsp;Status =&nbsp;&nbsp;tonumber(getParamEx(ClassCode,&nbsp;&nbsp;SecCode, "status").param_value);&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if (Status ~= 1) then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeToLog("Status of " .. SecCode .. " is " .. Status)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;(qua == 0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeToLog("QUANTITY is 0")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;(price == 0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeToLog("Price is 0")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;&nbsp;&nbsp;trans = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"CLASSCODE"&#93;=ClassCode,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"SECCODE"&#93;=SecCode,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACTION"&#93;="NEW_ORDER",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACCOUNT"&#93;=ACCOUNT,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"CLIENT_CODE"&#93;=CLIENT_CODE,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"TYPE"&#93;="L",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"OPERATION"&#93;=type,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"QUANTITY"&#93;=tostring(qua),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"PRICE"&#93;=tostring(price),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"TRANS_ID"&#93;=TRANS_ID
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;local res = sendTransaction(trans)
end

function OnOrder(trans_reply) -- обработка&nbsp;&nbsp;событий по заявке
&nbsp;&nbsp;&nbsp;&nbsp;nord = trans_reply&#91;"order_num"&#93;&nbsp;&nbsp;-- номер заявки ORDERNUM&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;if nord==nil or nord==0 or nord=="0" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Заявка не выставилась",1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;need_order = true
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;elseif tostring(trans_reply&#91;"trans_id"&#93;) == tostring(TRANS_ID) then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeToLog(table2string(trans_reply))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if trans_reply&#91;"flags"&#93; == 24 or trans_reply&#91;"flags"&#93; == 26 or trans_reply&#91;"flags"&#93; == 28 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if trans_reply&#91;"balance"&#93; == 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;need_order = true --здесь условие, что выставленная заявка выполнилась и дальше контроль только на превышение разрешенного от депо
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;
end</pre>
=============
<br />вопрос у меня следующего характера. сигналы получаю по идентификатору скользяшки. <br />НО! функция OnOrder срабатывает три или четыре раза с одинаковыми флагами<br />вот возвращаемая таблица по функции<br /><br />withdraw_datetime={week_day=1;hour=0;ms=0;mcs=0;day=1;month=1;sec=0;year=1601;<br />min=0;};price=10242;value_entry_type=0;balance=0;repo_value_balance=0;value=20<br />484;qty=2;passive_only_order=0;class_code=SPBFUT;activation_time=0;userid=*****;expiry=-1;flags=28;linkedorder=0;ordernum=********;sec_code=SRH6;s<br />ide_qualifier=0;client_code=********;firmid=SPBFUT;datetime={week_day=2;hour=13<br />;ms=937;mcs=937000;day=15;month=12;sec=52;year=2015;min=13;};yield=0;reject_re<br />ason=;capacity=0;acnt_type=0;repo2value=0;start_discount=0;min_qty=0;ext_order<br />_flags=0;exec_type=0;order_num=******;repovalue=0;repoterm=0;accruedint=0<br />;account=******;seccode=SRH6;uid=******;brokerref=********;exchange_code=;settl<br />ecode=;price2=0;trans_id=1;bank_acc_id=;<br /><br />и таких строчек несколько. соответственно несколько. <br />временами заявка срабатывает, а таблица FUTURES_CLIENT_HOLDINGS не обновляет количество в позиции и выставляется новая заявка, которая превышает лимит по возможному количеству.<br />возврат количества<br /><br /><br />
====code====
<pre>function quantity_total() --подсчет количество позиций
&nbsp;&nbsp;&nbsp;&nbsp;local q_total=0
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;for i = 0,getNumberOf("FUTURES_CLIENT_HOLDINGS") - 1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if getItem("FUTURES_CLIENT_HOLDINGS",i).sec_code == SecCode then -- ЕСЛИ строка по нужному инструменту&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q_total = getItem("FUTURES_CLIENT_HOLDINGS",i).totalnet
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if q_total== nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return q_total -- возвращаем количество позиций
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;
&nbsp;&nbsp;&nbsp;&nbsp;end;
&nbsp;&nbsp;&nbsp;&nbsp;return 0
end</pre>
=============
<br />как мне контролировать, чтобы только одна заявка заявка выставлялась? <br />
			<i>15.12.2015 17:56:58, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message10912/topic1190/</link>
			<guid>http://forum.quik.ru/messages/forum10/message10912/topic1190/</guid>
			<pubDate>Tue, 15 Dec 2015 17:56:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
