<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: QUIK (версия 7.0.1.5)]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме QUIK (версия 7.0.1.5) форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 18 May 2026 13:29:54 +0300</pubDate>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message76798/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KrGYrz7b" href="/user/1624/" bx-tooltip-user-id="1624">sao</a> написал:<br />Прошу разработчиков зарегистрировать пожелание:Ни в коем случае не делать никаких trans_id=nil !!<br /><br />В руководстве четко прописано что поле trans_id имеет тип NUMBER. Соответственно программисты (в частности я) в своих скриптах считают что в этом поле может быть только число. В Lua значение nil это отдельный тип переменной, и например выражение t.trans_id&gt;0 приведет к ошибке и вылету скрипта. Почему я должен перелопачивать десятки тысяч строк кода в десятках своих скриптов и вводить множество ненужных проверок, из-за того, что кому-то вдруг приспичило получать nil?<br />=============<br /><br />Есть же отрицательные числа. Если значение ещё не определенных параметров будет отрицательным, ничего перелопачивать не придётся. <br />
			<i>16.10.2024 03:40:30, Ziveleos.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message76798/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message76798/topic1082/</guid>
			<pubDate>Wed, 16 Oct 2024 03:40:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69580/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_YPdU6JTn" href="/user/16097/" bx-tooltip-user-id="16097">Cyber</a> написал:<br />Ясно, знкчит нужно городить таблицу и поиск по ней.<br />А случайно в OnTrade не добавили уникальный номер ответа? Вроде даже запрос делали на добавление, чтоб ответы повторяющиеся группировать?<br />=============<br />Если у Вас колбеки в каждом скрипте, то Вы можете получать текущий trans_id в колбеке OnTransReply <br />
			<i>17.05.2023 18:51:16, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69580/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69580/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 18:51:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69579/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ясно, знкчит нужно городить таблицу и поиск по ней.<br />А случайно в OnTrade не добавили уникальный номер ответа? Вроде даже запрос делали на добавление, чтоб ответы повторяющиеся группировать? <br />
			<i>17.05.2023 18:21:10, Cyber.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69579/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69579/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 18:21:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69578/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_NyZ9aBIX" href="/user/16097/" bx-tooltip-user-id="16097">Cyber</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/16097/" target="_blank" rel="nofollow">Cyber</a></noindex> &nbsp;написал:<br />Так я не понял, если торгуем только одним инструментом во всем терминале, то достаточно проверки<br />if(TradeId&gt;lastTradeId) ?<br />Номера идут по возрастанию всегда?<br />А если несколько скриптов, каждый по одному инструменту, то тоже достаточно этого условия?<br />=============<br /> &nbsp;что такое &quot;TradeId&quot;?<br />=============<br /> TRANS_ID<br />=============<br />TRANS_ID - это номер транзакции, который вы придумываете сами. &nbsp;Если он уникальный и вы его увеличиваете на каждой транзакции, то он будет увеличиваться. &nbsp;<br />Если у Вас несколько скриптов в которых вы посылаете транзакции, то Вам надо синхронизировать в них генерацию TRANS_ID чтобы было уникально и возрастало. <br />
			<i>17.05.2023 17:47:15, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69578/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69578/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 17:47:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69577/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vDKmtrg7" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/16097/" target="_blank" rel="nofollow">Cyber</a></noindex> написал:<br />Так я не понял, если торгуем только одним инструментом во всем терминале, то достаточно проверки<br />if(TradeId&gt;lastTradeId) ?<br />Номера идут по возрастанию всегда?<br />А если несколько скриптов, каждый по одному инструменту, то тоже достаточно этого условия?<br />=============<br /> что такое &quot;TradeId&quot;?<br />=============<br />TRANS_ID <br />
			<i>17.05.2023 17:02:34, Cyber.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69577/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69577/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 17:02:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69576/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_p2J3PJXU" href="/user/16097/" bx-tooltip-user-id="16097">Cyber</a> написал:<br />Так я не понял, если торгуем только одним инструментом во всем терминале, то достаточно проверки<br />if(TradeId&gt;lastTradeId) ?<br />Номера идут по возрастанию всегда?<br />А если несколько скриптов, каждый по одному инструменту, то тоже достаточно этого условия?<br />=============<br />что такое &quot;TradeId&quot;? <br />
			<i>17.05.2023 16:58:09, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69576/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69576/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 16:58:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69574/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Так я не понял, если торгуем только одним инструментом во всем терминале, то достаточно проверки<br />if(TradeId&gt;lastTradeId) ?<br />Номера идут по возрастанию всегда?<br />А если несколько скриптов, каждый по одному инструменту, то тоже достаточно этого условия? <br />
			<i>17.05.2023 15:21:04, Cyber.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69574/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69574/topic1082/</guid>
			<pubDate>Wed, 17 May 2023 15:21:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66688/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TKFGGwwi" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br />А я вот решил почему-то ещё и ждать прихода самой сделки, использую OnTrade(). Может это и не надо. Что скажут разработчики? Нужен ли двойной контроль?<br />=============<br />Ветка сильно разрослась трудно понять что требуется от разработчиков.<br />Если вопрос в том как получить факт исполнения заявки то он есть в самой заявке в параметре flags <br />бит 1 (0x2) &nbsp;Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена <br />
			<i>10.11.2022 11:22:55, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66688/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66688/topic1082/</guid>
			<pubDate>Thu, 10 Nov 2022 11:22:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66586/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wFl1PYRP" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Ответ есть в указанном разделе.<br />=============<br />Ваш ответ похоже соответствует действительности. Я пришёл к такому же выводу. Но... Так как описано в документации квика, это нечто. Там нет разделения описания по акциям и по фьючерсам. В этом самом 5-ом разделе есть подраздел &nbsp;&quot;Вввод заявки&quot;, а в нём подподраздел &quot;Окно «Ввод заявки»&quot;, там есть пункты 4 и 5 и там так написано, что ничего конкретного относительно акций и фьючерсов и вообще как попало написано <br />
			<i>03.11.2022 20:59:33, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66586/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66586/topic1082/</guid>
			<pubDate>Thu, 03 Nov 2022 20:59:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66438/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UcIt17XP" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />читайте Раздел 5. Торговые операции клиента. Руководство пользователя QUIK.там все написано.<br />=============<br /> Ничего путнего там не написано. Я это читал раньше. На мой вопрос там ответа нет.<br />=============<br />Если правильно понял Ваш вопрос, то вас интересует в чем различие рыночной заявки по акциям и по фьючерсам.<br />-------------------------------------------------<br />Ответ есть в указанном разделе.<br />вот он: <br /><B>для акций: </B><br />«Рыночная» – признак заявки без указания цены исполнения.<br />Такая заявка исполняется на бирже по ценам имеющихся встречных заявок,<B> начиная с лучшей из них.</B><br />--------------------------<br /><B>Для фьючерсов:</B><br /> «Рыночная» в пустое поле «Цена» подставляется значение <B>«Максимально возможная цена</B>», а при подаче заявки на продажу – <B>«Минимально возможная цена»</B> для данного инструмента.<br />«Рыночная» – &nbsp;при наличии встречного предложения заявка исполняется по цене не хуже, чем значение, указанное в поле.<br />--------------------------<br />Т е для акции расчет требуемых средств будет выполнен по лучшей &nbsp;цене, а для фьючерсов фактически<B> по наихудшей цене</B>. <br />
			<i>25.10.2022 06:49:55, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66438/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66438/topic1082/</guid>
			<pubDate>Tue, 25 Oct 2022 06:49:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66436/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dRwXB6mY" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />читайте Раздел 5. Торговые операции клиента. Руководство пользователя QUIK.там все написано.<br />=============<br />Ничего путнего там не написано. Я это читал раньше. На мой вопрос там ответа нет. <br />
			<i>24.10.2022 19:48:05, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66436/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66436/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 19:48:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66435/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_GN1Z4LoV" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15768/" target="_blank" rel="nofollow">Alexander</a></noindex> написал:<br />Вот ещё хочу тут спросить старожилов по такому поводу. Скрипт на Lua сначала делает продажу акций Лукойл по рынку в шорт 10 шт через sendTransaction() при этом естественно ставлю TYPE=&quot;M&quot;, PRICE=&quot;0&quot;.<br />Транзакция проходит, заявка исполнилась нормально. Следующая транзакция на покупку фьючерса &quot;LKZ2&quot;, т.е. LKOH-12.22 в количестве 1шт так же по рынку, где в sendTransaction() установлено так же TYPE=&quot;M&quot;, PRICE=&quot;0&quot;. Но при этом транзакция с ошибкой: Ошибка создания заявки. &#91;GW&#93;&#91;332&#93; &quot;Нехватка средств по лимитам клиента.&quot; Пытаюсь купить данный фьючерс вручную в квике, установив галочку в окне ввода заявки &quot;Рыночная&quot; - результат опять та же самая ошибка!<br />В результате фьючерс купил таки вручную, указав цену на покупку из стакана равную лучшей цене продажи. Транзакция прошла без ошибок и заявка тут же исполнилась. Да мог бы поставить цену покупки и выше чем лучшая цена продажи на несколько пунктов, это я знаю, и заявка ушла бы так по лучшей рыночной цене.<br />Но вопрос: почему sendTransaction() работает на покупку/продажу акций по рынку с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot;, а на &nbsp;покупку/продажу фьючерса с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot; выдаёт ошибку: &quot;Нехватка средств по лимитам клиента.&quot; и я вынужден ставить цену хуже рынка, чтобы заявка ушла по рынку? Заявка то в конечном итоге прошла, значит средств достаточно!<br />=============<br /> Рыночных заявок на срочном рынке нет, на самом деле. Брокер Они отправит их по верхней|нижней границе допустимого ценового диапазона. Так происходит, потому что размер ГО, блокируемого под сделку, зависит от цены сделки. И чем дальше цена от цены последнего клиринга, там ГО будет выше. Хотя реальная сделка и будет не так далеко, но расчет ГО у брокера будет по цене ордера. Так что на сделку в 200 пунктах от цены клиринга может и хватает, а вот уже на сделку в 2000 пунктах - нет. Но такое происходит, если торговать на границе доступных средств. Когда средств достаточно, то и &quot;по рынку&quot; пройдет сделка.<br />=============<br />Ну как бы есть или нет на срочном рынке заявки по рынку это вопрос отдельный, потому как например фьючерсы на юань у меня спокойно скрипт покупал и продавал по рынку по 1 шт(от шёлка мышкой, так просто для ускорения исполнения писал, чтобы не вводить вручную). Я так же склонялся и склоняюсь к тому, что ГО разное на разных ценах и по границам Min/Max оно скорее всего превысило - об этом подумал сразу. Но, что интересно, раньше вроде бы, если мне память не изменяет было такое, да - вручную ввод заявки по фьючерсу на одной цене - ГО показывает одно, на другой цене дальше к границе стакана - ГО другое. Но сейчас хоть на какой цене ни щёлкай - ГО одно и то же показывает в окне ввода заявки, оно точно соответствует тому ГО, что в ТТТ для инструмента. Поэтому и решил здесь спросить. <br />
			<i>24.10.2022 19:14:48, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66435/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66435/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 19:14:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66431/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_lNWxNhIq" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a>, Ха-ха-ха! Нет, я допускаю, что nikolz настолько тупой, чтобы пытаться изображать из себя кукловода, но вот в то, что ЕГО робот специально ставит в стакан заявки, чтобы сбить с толку других роботов, верить категорически отказываюсь - по той же причине. Нормальным скриптам (моему, например) весь этот суходроч глубоко по барабану - он вообще не знает, что такое стакан. И по рынку я, кстати, тоже никогда не торговал. <br />
			<i>24.10.2022 15:56:57, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66431/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66431/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:56:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66430/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_z0P7h5S7" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br />Вот ещё хочу тут спросить старожилов по такому поводу. Скрипт на Lua сначала делает продажу акций Лукойл по рынку в шорт 10 шт через sendTransaction() при этом естественно ставлю TYPE=&quot;M&quot;, PRICE=&quot;0&quot;.<br />Транзакция проходит, заявка исполнилась нормально. Следующая транзакция на покупку фьючерса &quot;LKZ2&quot;, т.е. LKOH-12.22 в количестве 1шт так же по рынку, где в sendTransaction() установлено так же TYPE=&quot;M&quot;, PRICE=&quot;0&quot;. Но при этом транзакция с ошибкой: Ошибка создания заявки. &#91;GW&#93;&#91;332&#93; &quot;Нехватка средств по лимитам клиента.&quot; Пытаюсь купить данный фьючерс вручную в квике, установив галочку в окне ввода заявки &quot;Рыночная&quot; - результат опять та же самая ошибка!<br />В результате фьючерс купил таки вручную, указав цену на покупку из стакана равную лучшей цене продажи. Транзакция прошла без ошибок и заявка тут же исполнилась. Да мог бы поставить цену покупки и выше чем лучшая цена продажи на несколько пунктов, это я знаю, и заявка ушла бы так по лучшей рыночной цене.<br />Но вопрос: почему sendTransaction() работает на покупку/продажу акций по рынку с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot;, а на &nbsp;покупку/продажу фьючерса с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot; выдаёт ошибку: &quot;Нехватка средств по лимитам клиента.&quot; и я вынужден ставить цену хуже рынка, чтобы заявка ушла по рынку? Заявка то в конечном итоге прошла, значит средств достаточно!<br />=============<br />Рыночных заявок на срочном рынке нет, на самом деле. Брокер Они отправит их по верхней|нижней границе допустимого ценового диапазона. Так происходит, потому что размер ГО, блокируемого под сделку, зависит от цены сделки. И чем дальше цена от цены последнего клиринга, там ГО будет выше. Хотя реальная сделка и будет не так далеко, но расчет ГО у брокера будет по цене ордера. Так что на сделку в 200 пунктах от цены клиринга может и хватает, а вот уже на сделку в 2000 пунктах - нет. Но такое происходит, если торговать на границе доступных средств. Когда средств достаточно, то и &quot;по рынку&quot; пройдет сделка. <br />
			<i>24.10.2022 15:53:42, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66430/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66430/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:53:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66429/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rUP9wOCz" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br />Вот ещё хочу тут спросить старожилов по такому поводу. Скрипт на Lua сначала делает продажу акций Лукойл по рынку в шорт 10 шт через sendTransaction() при этом естественно ставлю TYPE=&quot;M&quot;, PRICE=&quot;0&quot;.<br />Транзакция проходит, заявка исполнилась нормально. Следующая транзакция на покупку фьючерса &quot;LKZ2&quot;, т.е. LKOH-12.22 в количестве 1шт так же по рынку, где в sendTransaction() установлено так же TYPE=&quot;M&quot;, PRICE=&quot;0&quot;. Но при этом транзакция с ошибкой: Ошибка создания заявки. &#91;GW&#93;&#91;332&#93; &quot;Нехватка средств по лимитам клиента.&quot; Пытаюсь купить данный фьючерс вручную в квике, установив галочку в окне ввода заявки &quot;Рыночная&quot; - результат опять та же самая ошибка!<br />В результате фьючерс купил таки вручную, указав цену на покупку из стакана равную лучшей цене продажи. Транзакция прошла без ошибок и заявка тут же исполнилась. Да мог бы поставить цену покупки и выше чем лучшая цена продажи на несколько пунктов, это я знаю, и заявка ушла бы так по лучшей рыночной цене.<br />Но вопрос: почему sendTransaction() работает на покупку/продажу акций по рынку с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot;, а на &nbsp;покупку/продажу фьючерса с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot; выдаёт ошибку: &quot;Нехватка средств по лимитам клиента.&quot; и я вынужден ставить цену хуже рынка, чтобы заявка ушла по рынку? Заявка то в конечном итоге прошла, значит средств достаточно!<br />=============<br />читайте <br />Раздел 5. Торговые операции клиента. Руководство пользователя QUIK.<br />там все написано. <br />
			<i>24.10.2022 15:49:15, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66429/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66429/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:49:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66428/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот ещё хочу тут спросить старожилов по такому поводу. Скрипт на Lua сначала делает продажу акций Лукойл по рынку в шорт 10 шт через sendTransaction() при этом естественно ставлю TYPE=&quot;M&quot;, PRICE=&quot;0&quot;.<br />Транзакция проходит, заявка исполнилась нормально. Следующая транзакция на покупку фьючерса &quot;LKZ2&quot;, т.е. LKOH-12.22 в количестве 1шт так же по рынку, где в sendTransaction() установлено так же TYPE=&quot;M&quot;, PRICE=&quot;0&quot;. Но при этом транзакция с ошибкой: Ошибка создания заявки. &#91;GW&#93;&#91;332&#93; &quot;Нехватка средств по лимитам клиента.&quot; Пытаюсь купить данный фьючерс вручную в квике, установив галочку в окне ввода заявки &quot;Рыночная&quot; - результат опять та же самая ошибка!<br />В результате фьючерс купил таки вручную, указав цену на покупку из стакана равную лучшей цене продажи. Транзакция прошла без ошибок и заявка тут же исполнилась. Да мог бы поставить цену покупки и выше чем лучшая цена продажи на несколько пунктов, это я знаю, и заявка ушла бы так по лучшей рыночной цене.<br />Но вопрос: почему sendTransaction() работает на покупку/продажу акций по рынку с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot;, а на &nbsp;покупку/продажу фьючерса с значениями TYPE=&quot;M&quot;, PRICE=&quot;0&quot; выдаёт ошибку: &quot;Нехватка средств по лимитам клиента.&quot; и я вынужден ставить цену хуже рынка, чтобы заявка ушла по рынку? Заявка то в конечном итоге прошла, значит средств достаточно! <br />
			<i>24.10.2022 15:20:36, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66428/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66428/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:20:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66427/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1S7gez0D" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />1. Я уже говорил, что Ваше выставление и снятие 200 тысяч заявок за 4 часа иллюстрирует лишь полную беспомощность алгоритма торговли - у нормальных людей заявки ставятся не для того, чтобы их снимать, а для того, чтобы они исполнялись. Мои заявки, например, исполняются в 90% случаев и более.<br />=============<br />Владимир, а может быть nikolz специально ставит в стакан заявки и потом их снимает не для того, чтобы исполнить, а может быть для того, чтобы сбить с толку других роботов, заставить их сработать, или нет, мало ли? <br />
			<i>24.10.2022 15:17:10, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66427/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66427/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:17:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66426/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Yz29HT7I" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15768/" target="_blank" rel="nofollow">Alexander</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/15578/" target="_blank" rel="nofollow">Alexey Danin</a></noindex> &nbsp;написал:<br />Здравствуйте.<br /> Но я спрашиваю конкретно для своего наипростейшего случая, что описал выше. Например - покупка 1 лота. Нужен контроль того, что покупка 1-го лота 100% прошла и только тогда подавать на продажу того же 1-го лота. Какой алгоритм контроля применить посоветует техподдержка? Уж куда проще то? Мой алгоритм подойдёт? Или можно его упростить, например - вообще не использовать OnTrade()? Достаточно проверить OnOrder() где баланс = 0? Сейчас использую и то и то. А надо ли? Вроде работает.<br />=============<br /> <br />=============<br /> Объясняю как я делаю это.<br />--------------------------------<br />Например, циклический тест &nbsp;выставления и снятия заявки.<br />Это тест подобен Вашей задаче.<br />Отличие лишь в том, что я контролировал снятие заявки, а Вы контролируете исполнение заявки.<br />Но алгоритм , описанный ниже решает обе задачи.<br />================<br />Результат тестирования алгоритма,<br /> показал его безошибочную работу при случайном выставлении и снятии заявки по 200 инструментам.<br />За 4 часа теста на демо сервере выставлено и снято 200 тысяч заявок без единой ошибки.<br />==================<br />Алгоритм:<br />------------------------------<br />Преамбула:<br />Робот - это конечный автомат, который изменяет свое состояние в зависимости от внешних сигналов и своей цели.<br />Источником внешних сигналов являются колбеки.<br />------------------------<br />В моем роботе задействованы все колбеки, описанные в документации библиотеки QLua<br />Заверяю Вас, что лишних колбеков нет.<br />Вы можете не использовать какие-либо колбеки, но это подобно тому, что у человека отключить какой-либо орган.<br />-------------------------------<br />Если Вы колбек выкидываете, то ваш робот не видит многих событий и просто зависнет в один прекрасный момент. <br />===========<br />Если инструмент, по которому я хотел бы выставить заявку активен <br />,т е произошло событие по данному инструменту ( сделка, изменение заявки),<br /> то проверяем по таблице заявок есть ли активная и &nbsp;по таблице транзакций есть ли активная &nbsp; по этому инструменту.<br />----------------------<br />Если есть активная , то новая заявка не выставляется, иначе выставляется.<br />-----------------<br />В более продвинутом алгоритме выполняется анализ актуальности текущего состояния , но это уже другая задача.<br /> &nbsp;<br />=============<br />Ну я собственно использую большинство колбэков, и для контроля исполнения использую и OnOrder() и OnTrade() впаре чисто для повышения надёжности. Хотя уверен, что и OnTrade() было бы вполне достаточно. Работает и ладно. <br />
			<i>24.10.2022 15:13:37, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66426/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66426/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:13:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66425/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4mNk5O8T" href="/user/15578/" bx-tooltip-user-id="15578">Alexey Danin</a> написал:<br />Здравствуйте.<br /><br /> <br />====quote====<br /><noindex><a href="/user/15768/" target="_blank" rel="nofollow">Alexander</a></noindex> написал:<br />Какой алгоритм контроля применить посоветует техподдержка? Уж куда проще то? Мой алгоритм подойдёт? Или можно его упростить, например - вообще не использовать OnTrade()? Достаточно проверить OnOrder() где баланс = 0? Сейчас использую и то и то. А надо ли?<br />=============<br /> Вы можете протестировать Ваши алгоритмы, проанализировать и выбрать более эффективный для Вас. Протестировать можно на учебном сервере &nbsp;<noindex><a href="https://arqatech.com/ru/support/demo/" target="_blank" rel="nofollow">QUIK Junior</a></noindex> .<br />=============<br />О как! Интересно. Даже не знал, что есть такая возможность. Учтём. <br />
			<i>24.10.2022 15:10:27, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66425/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66425/topic1082/</guid>
			<pubDate>Mon, 24 Oct 2022 15:10:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66396/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_hYaEq2f6" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br />Какой алгоритм контроля применить посоветует техподдержка? Уж куда проще то? Мой алгоритм подойдёт? Или можно его упростить, например - вообще не использовать OnTrade()? Достаточно проверить OnOrder() где баланс = 0? Сейчас использую и то и то. А надо ли?<br />=============<br />Вы можете протестировать Ваши алгоритмы, проанализировать и выбрать более эффективный для Вас. Протестировать можно на учебном сервере <noindex><a href="https://arqatech.com/ru/support/demo/" target="_blank" rel="nofollow">QUIK Junior</a></noindex>. <br />
			<i>20.10.2022 19:14:30, Alexey Danin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66396/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66396/topic1082/</guid>
			<pubDate>Thu, 20 Oct 2022 19:14:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66291/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_X2qmBjdY" href="/user/62/" bx-tooltip-user-id="62">nikolz</a>, Какой-то клинический бред.<br /><br />1. Я уже говорил, что Ваше выставление и снятие 200 тысяч заявок за 4 часа иллюстрирует лишь полную беспомощность алгоритма торговли - у нормальных людей заявки ставятся не для того, чтобы их снимать, а для того, чтобы они исполнялись. Мои заявки, например, исполняются в 90% случаев и более.<br /><br />2. В моем роботе задействован ОДИН колбек, и он называется OnTrade. Есть, правда, ещё и OnStop, но только для того, чтобы не было потери данных, поскольку при нажатии кнопки &quot;Остановить&quot; скрипт теряет управление - Антон в своё время подробно рассказывал, почему. Так что заверяю Вас, что ВСЕ колбеки лишние, кроме этих двух, да и то второй нужен только для компенсации глюка в софте Квика. Это рудиментарные органы и должны быть вырезаны к чертям собачьим для блага человека. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br /><br />3. Я выбросил (точнее, даже не задействовал) все остальные колбеки, перенёс все расчёты в поток main (избавился от этого маразма с потоками), и давно уже забыл, что такое зависание Квика, хотя ранее доводилось видеть и internal error, и unknown hard error, и даже general protection error. А вот если Вы подключите всю эту дребедень, тогда Ваш робот вообще ничего не увидит и просто зависнет в один прекрасный момент. И таких прекрасных моментов будет ой как много!<br /><br />4. Я вообще не контролирую исполнение заявки: пришёл OnTrade - значит, исполняется, а на нет и суда нет. И в таблицу заявок лезу крайне редко, только для снятия активных заявок. И снятие заявки не контролирую: послал KILL_ORDER - и пусть канает! И это ЕДИНСТВЕННАЯЯ таблица, в которую я вообще лезу (не считая ТТТ, конечно).<br /><br />5. Выставление заявки НИКАК не зависит от того, активна ли предыдущая. Вернее, у меня-то как раз зависит, но это алгоритм такой: новая заявка не выставляется, если не исполнена или не снята предыдущая по этому тикеру и даже если курс не сдвинулся относительно предыдущей сделки на какую-то величину, а вот выставляется она не потому, что нет активных заявок, а по целой куче других критериев, чтобы сделка была не абы какой, а прибыльной. А вот Борис, например, выставляет целый веер заявок, многие из которых остаются активными в течение достаточно длительного времени.<br /><br />Короче, &quot;смотри пункт первый&quot;. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp; <br />
			<i>15.10.2022 12:08:25, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66291/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66291/topic1082/</guid>
			<pubDate>Sat, 15 Oct 2022 12:08:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66289/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_iR0xlLtX" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15578/" target="_blank" rel="nofollow">Alexey Danin</a></noindex> написал:<br />Здравствуйте.<br /> Но я спрашиваю конкретно для своего наипростейшего случая, что описал выше. Например - покупка 1 лота. Нужен контроль того, что покупка 1-го лота 100% прошла и только тогда подавать на продажу того же 1-го лота. Какой алгоритм контроля применить посоветует техподдержка? Уж куда проще то? Мой алгоритм подойдёт? Или можно его упростить, например - вообще не использовать OnTrade()? Достаточно проверить OnOrder() где баланс = 0? Сейчас использую и то и то. А надо ли? Вроде работает.<br /><br />=============<br /><br />=============<br />Объясняю как я делаю это.<br />--------------------------------<br />Например, циклический тест &nbsp;выставления и снятия заявки.<br />Это тест подобен Вашей задаче.<br />Отличие лишь в том, что я контролировал снятие заявки, а Вы контролируете исполнение заявки.<br />Но алгоритм , описанный ниже решает обе задачи.<br />================<br />Результат тестирования алгоритма,<br /> показал его безошибочную работу при случайном выставлении и снятии заявки по 200 инструментам.<br />За 4 часа теста на демо сервере выставлено и снято 200 тысяч заявок без единой ошибки.<br />==================<br />Алгоритм:<br />------------------------------<br />Преамбула:<br />Робот - это конечный автомат, который изменяет свое состояние в зависимости от внешних сигналов и своей цели.<br />Источником внешних сигналов являются колбеки.<br />------------------------<br />В моем роботе задействованы все колбеки, описанные в документации библиотеки QLua<br />Заверяю Вас, что лишних колбеков нет.<br />Вы можете не использовать какие-либо колбеки, но это подобно тому, что у человека отключить какой-либо орган.<br />-------------------------------<br />Если Вы колбек выкидываете, то ваш робот не видит многих событий и просто зависнет в один прекрасный момент. <br />===========<br />Если инструмент, по которому я хотел бы выставить заявку активен <br />,т е произошло событие по данному инструменту ( сделка, изменение заявки),<br /> то проверяем по таблице заявок есть ли активная и &nbsp;по таблице транзакций есть ли активная &nbsp; по этому инструменту.<br />----------------------<br />Если есть активная , то новая заявка не выставляется, иначе выставляется.<br />-----------------<br />В более продвинутом алгоритме выполняется анализ актуальности текущего состояния , но это уже другая задача.<br /> &nbsp; <br />
			<i>15.10.2022 10:40:19, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66289/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66289/topic1082/</guid>
			<pubDate>Sat, 15 Oct 2022 10:40:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66286/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_5aJgbcKV" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a>, Я вообще не использую OnOrder. Никогда не использовал. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> Только OnTrade. <br />
			<i>14.10.2022 21:47:47, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66286/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66286/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:47:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66285/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А я вот решил почему-то ещё и ждать прихода самой сделки, использую OnTrade(). Может это и не надо. Что скажут разработчики? Нужен ли двойной контроль? <br />
			<i>14.10.2022 21:42:21, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66285/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66285/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:42:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66284/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7hjxYfj8" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/15768/" target="_blank" rel="nofollow">Alexander</a></noindex>, У меня заявки могут исполняться за произвольное количество сделок, так что любой приход OnTrade, не отфильтрованный как дубль, корректирует оставшееся количество лотов в заявке, а сам элемент стека удаляется уже в другом месте - либо по снятию, либо действительно по нулевому остатку.<br />=============<br />Ваш алгоритм в принцине понял. В конечном итоге полное исполнение всё равно идёт по балансу в OnOrder(). <br />
			<i>14.10.2022 21:38:33, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66284/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66284/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:38:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66282/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У меня сейчас для заявки в 1 лот алгоритм такой. OnOrder(): если для моей заявки balance == 0 - ставлю один флаг. Пришёл OnTrade()&#91;сделка прошла значит&#93; с моей заявкой - ставлю другой флаг и беру цену из него и в переменную. Функция контроля иcполнения ждёт появления обоих флагов, если пришли, то цену беру из переменной. Так же внутри OnOrder() &nbsp;и OnTrade() использую ещё свои флаги для того чтобы отбрасывать ненужные их вызовы - по сути OnOrder() как только пришёл в балансе ноль - ставлю флаг, следующий вызов проверяет этот флаг и если он есть, то игнорирую вызов, так же и в OnTrade(), как пришла моя сделка - ставлю флаг, чтобы отсекать другие возможные её вызовы. Вот и думаю, может просто достаточно только OnOrder() и брать из неё цену исполнения и достаточно? <br />
			<i>14.10.2022 21:34:41, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66282/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66282/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:34:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66281/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_UxTeL9kN" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a>, У меня заявки могут исполняться за произвольное количество сделок, так что любой приход OnTrade, не отфильтрованный как дубль, корректирует оставшееся количество лотов в заявке, а сам элемент стека удаляется уже в другом месте - либо по снятию, либо действительно по нулевому остатку. <br />
			<i>14.10.2022 21:34:41, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66281/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66281/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:34:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66280/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Kz0ESL3E" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/15768/" target="_blank" rel="nofollow">Alexander</a></noindex>, Почему нельзя? Можно. Только вот мой личный &quot;рекорд&quot; в ожидании подтверждения исполнения заявки составляет семнадцать с половиной минут, и это наверняка не предел. А робот, тем не менее, написан и работает &quot;вот прям ща&quot;. Не со 100%-ной уверенностью, поменьше, но работает. И написан он с головы до пят на чистейшем Lua. :: <br /> <br /> Нет, Вы не путайте заявку и сделку. Если заявка именно в 1 лот, то остаток гарантированно в нуле, и сам факт прихода OnTrade говорит о том, что заявка исполнена (обычно в трёх экземплярах). По большому счёту, гарантирует идентификацию только совпадение trans_id, поскольку order_num формируется не нами, и я его, как правило, вообще не знаю. А вот для контроля исполнения заявки лично у меня заведён специальный стек активных заявок, из которого полностью исполненные или снятые заявки удаляются уже по таймеру.<br />=============<br />Контроль исполнения заявки, которая например в вашем стеке у которой 1 лот контролируется по balanse == 0? <br />
			<i>14.10.2022 21:22:11, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66280/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66280/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:22:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66279/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_yMFE3faU" href="/user/15768/" bx-tooltip-user-id="15768">Alexander</a>, Почему нельзя? Можно. Только вот мой личный &quot;рекорд&quot; в ожидании подтверждения исполнения заявки составляет семнадцать с половиной минут, и это наверняка не предел. А робот, тем не менее, написан и работает &quot;вот прям ща&quot;. Не со 100%-ной уверенностью, поменьше, но работает. И написан он с головы до пят на чистейшем Lua. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br /> <br /> Нет, Вы не путайте заявку и сделку. Если заявка именно в 1 лот, то остаток гарантированно в нуле, и сам факт прихода OnTrade говорит о том, что заявка исполнена (обычно в трёх экземплярах). По большому счёту, гарантирует идентификацию только совпадение trans_id, поскольку order_num формируется не нами, и я его, как правило, вообще не знаю. А вот для контроля исполнения заявки лично у меня заведён специальный стек активных заявок, из которого полностью исполненные или снятые заявки удаляются уже по таймеру. <br />
			<i>14.10.2022 21:13:18, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66279/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66279/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 21:13:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>QUIK (версия 7.0.1.5)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message66278/topic1082/">QUIK (версия 7.0.1.5)</a></b> <i>function OnTrade(trade), трехкратный вызов на одно событие.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Короче, ещё спрошу так. Отправил заявку например на покупку 1 лота. В OnTrade() проверил, что &nbsp;order.trans_id == моему TRANS_ID и order.order_num == TRANSACTION_COMPLETED&#91;tostring(order.trans_id)&#93;, короче отфильтровал по своей заявке и проверил что order.balance == 0. Этого достаточно для контроля исполнения заявки? <br />
			<i>14.10.2022 20:59:58, Alexander.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message66278/topic1082/</link>
			<guid>http://forum.quik.ru/messages/forum10/message66278/topic1082/</guid>
			<pubDate>Fri, 14 Oct 2022 20:59:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
