<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Фильтрация транзакций &quot;своего&quot; робота]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Фильтрация транзакций &quot;своего&quot; робота форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 20 May 2026 02:37:21 +0300</pubDate>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68470/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_x2o30AkZ" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Прикольно, Но &nbsp;выдать id=last_seen_trans_id + 1 &nbsp;квику очень сложно.<br />--------------------------------<br />Попробуйте угадать, почему.<br />=============<br />Я не хочу гадать. Для себя эту проблему для текущей версии квика я решил. Арке просьба сделать вменяемое решение, не требующее костылей. <br />
			<i>28.02.2023 15:08:17, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68470/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68470/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 15:08:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68469/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Прикольно, Но &nbsp;выдать id=last_seen_trans_id + 1 &nbsp;квику очень сложно.<br />--------------------------------<br />Попробуйте угадать, почему. <br />
			<i>28.02.2023 14:28:03, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68469/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68469/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 14:28:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68468/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_cR9G4Dfc" href="/user/56/" bx-tooltip-user-id="56">Максим</a> написал:<br />Откуда вы знаете, что не выдаст? Завтра они начнут для ручных транзакций выдавать last_seen_trans_id + 1 и привет. Ваша система тоже рухнет. Моя тоже какое-то время держалась, пока они ноль возвращали.<br />=============<br />Будет завтра -будет завтрак.<br />Можете и дальше гадать. <br />
			<i>28.02.2023 14:25:26, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68468/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68468/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 14:25:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68467/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Откуда вы знаете, что не выдаст? Завтра они начнут для ручных транзакций выдавать last_seen_trans_id + 1 и привет. Ваша система тоже рухнет. Моя тоже какое-то время держалась, пока они ноль возвращали. <br />
			<i>28.02.2023 13:22:51, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68467/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68467/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 13:22:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68466/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_cNfsyzxP" href="/user/56/" bx-tooltip-user-id="56">Максим</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/56/" target="_blank" rel="nofollow">Максим</a></noindex> &nbsp;написал:<br />Картинка<br />=============<br /> &nbsp;Я делаю так:<br />------------------------------<br />назначаем роботам номера<br />например<br /> &nbsp;num_bot=134548 <br />а текущее значение &nbsp; id=125657 &nbsp; -номер транзакции<br />-----------<br />формирует для отправки серверу<br /> trans_id=id+(num_bot&lt;&lt;31) <br />---------------<br />из принятого c сервера trans_id <br />й транзакции с сервера вычисляем<br /> num_bot &nbsp;=trans_id&gt;&gt;31 <br /> id=trans_id&amp;0xffffffff <br />-----------------<br />По такой схеме, Вы можете иметь более миллиарда &nbsp;роботов, которые могут послать более миллиарда уникальных транзакций<br />=============<br /> У меня похожая схема, но сгенерированные номера транзакции могут быть от 111. В десятичной системе: transid + botid + botidlen. В итоге номера перекрываются.<br />Но даже если я просто взведу старший бит как признак моей транзакции, нет никаких гарантий, что Квик не выдаст и такой большой trans id. Хотелось бы надёжного решения, а выходит только какая-то магия. В этом-то и проблема.<br />=============<br />В моем варианте ничего не перекрывается Более того квик не выдаст такие trans_id, так как для номера робота 1 и id=1 &nbsp;, &nbsp;trans_id =2147483649 <br />Диапазон номеров роботов и id от 1 до двух миллиардов <br />
			<i>28.02.2023 13:04:33, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68466/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68466/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 13:04:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68464/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uTF9hgrK" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/56/" target="_blank" rel="nofollow">Максим</a></noindex> написал:<br />Картинка<br />=============<br /> Я делаю так:<br />------------------------------<br />назначаем роботам номера<br />например<br /> &nbsp;num_bot=134548 <br />а текущее значение &nbsp; id=125657 &nbsp; -номер транзакции<br />-----------<br />формирует для отправки серверу<br /> trans_id=id+(num_bot&lt;&lt;31) <br />---------------<br />из принятого c сервера trans_id <br />й транзакции с сервера вычисляем<br /> num_bot &nbsp;=trans_id&gt;&gt;31 <br /> id=trans_id&amp;0xffffffff <br />-----------------<br />По такой схеме, Вы можете иметь более миллиарда &nbsp;роботов, которые могут послать более миллиарда уникальных транзакций<br />=============<br />У меня похожая схема, но сгенерированные номера транзакции могут быть от 111. В десятичной системе: transid + botid + botidlen. В итоге номера перекрываются.<br />Но даже если я просто взведу старший бит как признак моей транзакции, нет никаких гарантий, что Квик не выдаст и такой большой trans id. Хотелось бы надёжного решения, а выходит только какая-то магия. В этом-то и проблема. <br />
			<i>28.02.2023 12:19:10, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68464/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68464/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 12:19:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68463/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_b2Wb0fDh" href="/user/56/" bx-tooltip-user-id="56">Максим</a> написал:<br />Картинка<br />=============<br />Я делаю так:<br />------------------------------<br />назначаем роботам номера<br />например<br /><B> num_bot=134548</B><br />а текущее значение<B> &nbsp;id=125657 </B> -номер транзакции<br />-----------<br />формирует для отправки серверу<br /><B>trans_id=id+(num_bot&lt;&lt;31)</B><br />---------------<br />из принятого c сервера trans_id <br />й транзакции с сервера вычисляем<br /><B>num_bot</B><B>=trans_id&gt;&gt;31</B><br /><B>id=trans_id&amp;0xffffffff</B><br />-----------------<br />По такой схеме, Вы можете иметь более миллиарда &nbsp;роботов, которые могут послать более миллиарда уникальных транзакций <br />
			<i>28.02.2023 11:00:01, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68463/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68463/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 11:00:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68461/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Картинка <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=10480&" width="439" height="171" /><br /><i>28.02.2023 09:36:24, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68461/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68461/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 09:36:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68460/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_AhTRIT34" href="/user/15351/" bx-tooltip-user-id="15351">Anzhelika Belokur</a> написал:<br /><noindex><a href="/user/56/" target="_blank" rel="nofollow">Максим</a></noindex>, добрый день.<br /><br />Чем Вам не подходит вариант, озвученный коллегой: &nbsp;<noindex><a href="https://forum.quik.ru/messages/forum10/message30625/topic3423/#message30625" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message30625/topic3423/#message30625</a></noindex> ?<br />Если есть проблемы, просьба описывать их на конкретном примере со скриншотами.<br />=============<br />Так я и использую trans_id. Не подходит то, что раньше квик не выставлял это поле для ручных транзакций, а теперь ставит.<br /><br />[img]data:image/png;base64, *[/img] <br />
			<i>28.02.2023 09:34:53, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68460/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68460/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 09:34:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68459/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_4uXrykDf" href="/user/56/" bx-tooltip-user-id="56">Максим</a>, добрый день.<br /><br />Чем Вам не подходит вариант, озвученный коллегой: <noindex><a href="https://forum.quik.ru/messages/forum10/message30625/topic3423/#message30625" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message30625/topic3423/#message30625</a></noindex>?<br />Если есть проблемы, просьба описывать их на конкретном примере со скриншотами. <br />
			<i>28.02.2023 09:06:48, Anzhelika Belokur.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68459/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68459/topic3508/</guid>
			<pubDate>Tue, 28 Feb 2023 09:06:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68380/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sMkxqRwR" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />brokerref<br />=============<br />Так а туда брокер код клиента подставляет. Мне квик на разных счетах у разных брокеров от 11 до 13 лимит на длину делает. Вместе с кодом клиента выходит 20 макс длина. Если код клиента будет большой, вплоть до 20 (вряд ли, но всё же)? Выходит и не воткнёшь туда transaction id.<br />И как с ФР быть? <noindex><a href="https://forum.quik.ru/messages/forum10/message30624/topic3423/#message30624" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message30624/topic3423/#message30624</a></noindex> Проверил своих брокеров, вроде везде пропускает камент, но что у других? <br />
			<i>21.02.2023 13:37:54, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68380/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68380/topic3508/</guid>
			<pubDate>Tue, 21 Feb 2023 13:37:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68376/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_VwuM1xha" href="/user/56/" bx-tooltip-user-id="56">Максим</a> написал:<br />Тот же вопрос всплыл с новым аспектом. Заявки, поданные через терминал руками, теперь имеют связанные транзакции, у которых есть ID. И теперь совсем не ясно как роботу отличить свои транзакции от ручных. Идеи?<br />=============<br />Для этого лучше использовать brokerref = комментарий транзакции <br />
			<i>21.02.2023 13:03:56, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68376/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68376/topic3508/</guid>
			<pubDate>Tue, 21 Feb 2023 13:03:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message68375/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тот же вопрос всплыл с новым аспектом. Заявки, поданные через терминал руками, теперь имеют связанные транзакции, у которых есть ID. И теперь совсем не ясно как роботу отличить свои транзакции от ручных. Идеи? <br />
			<i>21.02.2023 12:56:41, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message68375/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message68375/topic3508/</guid>
			<pubDate>Tue, 21 Feb 2023 12:56:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30422/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Чтобы при рестарте терминала счётчик не сбрасывался, я у себя реализовал такую схему:<br />1) для значений счётчика выделяется достаточно широкий диапазон чисел от a до b: &#91;a, b);<br />2) периодически, скажем, раз в минуту, значение счётчика сохраняется на диск в файл;<br />3) при запросе номера транзакции в скрипте текущее значение счётчика увеличивается на 1 и, если оно становится равно b, то оно приравнивается a;<br />4) при старте скрипта значение счётчика считывается из файла и увеличивается достаточно большую на величину c и аналогичным образом приводится в диапазон &#91;a, b), чтобы не было пересечений номеров транзакций, которые были посланы после того, как значение счётчика сохранялось в файл.<br /><br />При такой схеме каждому скрипту выделяется свой диапазон номеров и исключаются повторения из-за сбоев и падений терминала.<br /><br />Типичные значения в моих скриптах: a = 123 000 000, b = 124 000 000, c = 1000.<br /><br />Поскольку сейчас планируется сделать номера глобальными для копии терминала, то описанная выше схема потребует выделения всего одного диапазона. Значение c и периодичность записи на диск имеет смысл вынести в конфигурационный файл. <br />
			<i>12.04.2018 06:12:05, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30422/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30422/topic3508/</guid>
			<pubDate>Thu, 12 Apr 2018 06:12:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30418/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />Следует понимать, что такая функция будет доступна только скриптам. Возможно пересечение идентификаторов со скриптами которые такую функцию не используют, скриптами QPILE и внешними транзакциями.<br />Ну и рестарт терминала приведет к сбросу счетчика. <br />
			<i>12.04.2018 04:28:32, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30418/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30418/topic3508/</guid>
			<pubDate>Thu, 12 Apr 2018 04:28:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30408/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nPLQFpe8" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br />Предлагаю разработчикам Quik добавить в систему потокобезопасную функцию выделения новых идентификаторов транзакций.<br />=============<br /><br />Хорошее предложение. Такая функция решила бы сразу много проблем. Если, конечно, не будет слишком тормозной. <br />
			<i>11.04.2018 17:16:09, Илья.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30408/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30408/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 17:16:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30404/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0neohF2L" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br /><br />====quote====<br /> Egor Zaytsev &nbsp; написал:<br /><br />====quote====<br /> Suntor &nbsp; написал:<br />Предлагаю разработчикам Quik добавить в систему потокобезопасную функцию выделения новых идентификаторов транзакций.
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NUMBER AllocTransID()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
=============
...и таким образом закрыть этот вопрос раз и навсегда. Можно зарегистрировать это предложение?<br />=============<br />Просьба уточнить, как по вашему данная функция решит проблему и что именно она должна сделать?<br />=============<br />Данная функция должна выделять уникальный числовой идентификатор транзакции в рамках одной запущенной копии рабочего места Quik.<br /><br />Скрипт Lua получает вызовы OnTransReply (и других событий) на транзакции посланные из других скриптов Lua, и в целом идущие от:<br />• Lua<br />• Trans2quik.dll<br />• QPILE<br />• динамическая загрузка транзакции из файла<br /><br />Если идентификатор транзакции в одном скрипте Lua совпадёт в таким же в другом скрипте Lua, то возникнет путаница, когда чужие ответы будут приняты за свои. Такого быть не должно.<br />Функция AllocTransID() должна гарантировать уникальность получаемого идентификатора между всеми типами клиентов Quik.<br />=============<br />Информацию приняли, спасибо. <br />
			<i>11.04.2018 15:06:26, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30404/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30404/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 15:06:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30403/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_JHuWYiVX" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> написал:<br /><br />====quote====<br /> Suntor &nbsp; написал:<br />Предлагаю разработчикам Quik добавить в систему потокобезопасную функцию выделения новых идентификаторов транзакций.
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;NUMBER AllocTransID()&nbsp;&nbsp;&nbsp;&nbsp;</pre>
=============
...и таким образом закрыть этот вопрос раз и навсегда. Можно зарегистрировать это предложение?<br />=============<br />Просьба уточнить, как по вашему данная функция решит проблему и что именно она должна сделать?<br />=============<br />Данная функция должна выделять уникальный числовой идентификатор транзакции в рамках одной запущенной копии рабочего места Quik.<br /><br />Скрипт Lua получает вызовы OnTransReply (и других событий) на транзакции посланные из других скриптов Lua, и в целом идущие от:<br />• Lua<br />• Trans2quik.dll<br />• QPILE<br />• динамическая загрузка транзакции из файла<br /><br />Если идентификатор транзакции в одном скрипте Lua совпадёт в таким же в другом скрипте Lua, то возникнет путаница, когда чужие ответы будут приняты за свои. Такого быть не должно.<br />Функция AllocTransID() должна гарантировать уникальность получаемого идентификатора между всеми типами клиентов Quik. <br />
			<i>11.04.2018 14:45:31, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30403/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30403/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 14:45:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30400/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_YcFxxIbC" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br />Предлагаю разработчикам Quik добавить в систему потокобезопасную функцию выделения новых идентификаторов транзакций.
====code====
<pre>&nbsp;&nbsp;NUMBER AllocTransID()&nbsp;&nbsp;</pre>
=============
...и таким образом закрыть этот вопрос раз и навсегда. Можно зарегистрировать это предложение?<br />=============<br />Просьба уточнить, как по вашему данная функция решит проблему и что именно она должна сделать? <br />
			<i>11.04.2018 11:50:06, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30400/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30400/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 11:50:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30398/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_jQLSN0io" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br />NUMBER AllocTransID()<br />=============<br />Здравствуйте! <br /> <br /> Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО. <br />
			<i>11.04.2018 11:44:23, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30398/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30398/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 11:44:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30394/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Предлагаю разработчикам Quik добавить в систему потокобезопасную функцию выделения новых идентификаторов транзакций.
====code====
<pre>NUMBER AllocTransID()</pre>
=============
...и таким образом закрыть этот вопрос раз и навсегда. Можно зарегистрировать это предложение? <br />
			<i>11.04.2018 06:41:25, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30394/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30394/topic3508/</guid>
			<pubDate>Wed, 11 Apr 2018 06:41:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30383/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_FIPaUrNE" href="/user/3289/" bx-tooltip-user-id="3289">Илья</a> написал:<br />И это не спасает в случае, когда в систему загружены посторонние роботы.<br />=============<br />На сколько я понял ответы разработчиков, то чужие ID (не ваших роботов) Вы не увидите, так как вы работаете в терминале и вам доступны только ваши сделки (только ваши ID), чужие сделки вы не сможете никак перепутать со своими. Если конечно я правильно понял вашу мысль. <br />
			<i>10.04.2018 15:03:41, Андрей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30383/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30383/topic3508/</guid>
			<pubDate>Tue, 10 Apr 2018 15:03:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30029/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_j0YWGYpo" href="/user/56/" bx-tooltip-user-id="56">Максим</a> написал:<br />Если есть доступ к скриптам, то надёжней будет нечто вроде<br />global_trans_id = trans_id * 10 + robot_id<br />trans_id = trans_id + 1<br /><br />Если роботов до 10 включительно - умножаем trans_id на 10, до 100 - на 100 и т.д.<br /><br />Ну и разбирать обратно это проще простого, пришёл ответ на транзакцию с global_trans_id - берём остаток от деления на 10 (100, 1000, etc) и обрабатываем только если совпадает с текущим robot_id.<br />=============<br />Можно сделать так.<br />Перед формированием номера транзакции (trans_id) проверять его с существующими номерами в таблице заявок через getItem().<br />При совпадении изменять. &nbsp; <br />
			<i>28.03.2018 10:20:11, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30029/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30029/topic3508/</guid>
			<pubDate>Wed, 28 Mar 2018 10:20:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message30007/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7t5CZPUN" href="/user/1466/" bx-tooltip-user-id="1466">Михаил Понамаренко</a> написал:<br />Я сделал через комментарий &nbsp;<noindex><a href="http://pmntrade.ru/positions_history.html" target="_blank" rel="nofollow">http://pmntrade.ru/positions_history.html</a></noindex> <br /><br />=============<br /><br />Спасибо. Подскажите, а как комментарий добавить при отправке транзакции и где его потом считывать?<br /><br />Интересно, есть ли у роботов какой-нибудь уникальный идентификатор, который заранее доступен в системе и который можно было бы использовать в качестве уникального комментария?<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_pF4UwT0W" href="/user/56/" bx-tooltip-user-id="56">Максим</a> написал:<br />Если есть доступ к скриптам, то надёжней будет нечто вроде<br />global_trans_id = trans_id * 10 + robot_id<br />trans_id = trans_id + 1<br /><br />=============<br /><br />Да, тоже думал о таком подходе. Немного напрягает то, что надо нумеровать вручную роботов (лишние телодвижения для пользователя). И это не спасает в случае, когда в систему загружены посторонние роботы. Хотя на практике таких случаев будет скорее всего настолько мало, что ими можно будет пренебречь, упомянув в документации о необходимой осторожности. <br />
			<i>26.03.2018 17:20:15, Илья.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message30007/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message30007/topic3508/</guid>
			<pubDate>Mon, 26 Mar 2018 17:20:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message29991/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если есть доступ к скриптам, то надёжней будет нечто вроде<br />global_trans_id = trans_id * 10 + robot_id<br />trans_id = trans_id + 1<br /><br />Если роботов до 10 включительно - умножаем trans_id на 10, до 100 - на 100 и т.д.<br /><br />Ну и разбирать обратно это проще простого, пришёл ответ на транзакцию с global_trans_id - берём остаток от деления на 10 (100, 1000, etc) и обрабатываем только если совпадает с текущим robot_id. <br />
			<i>25.03.2018 23:32:03, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message29991/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message29991/topic3508/</guid>
			<pubDate>Sun, 25 Mar 2018 23:32:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message29979/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если есть доступ к скрипту.<br />где-то в самом начале до main() поставить<br />trans_id &nbsp; &nbsp; &nbsp;= os.time(); <br /><br />перед выставлением заявки<br />function MyOpenPosition() -- Выставляет заявку на открытие позиции<br /> &nbsp; &nbsp; &nbsp;trans_id = trans_id + 1; -- Получает ID для следующей транзакции<br /> &nbsp; &nbsp; &nbsp;-- Заполняет структуру для отправки транзакции<br /> &nbsp; &nbsp; &nbsp;local Transaction={<br /> &nbsp; &nbsp; &nbsp;ACCOUNT &nbsp; = ACCOUNT_CODE, &nbsp; &nbsp; &nbsp; &nbsp; -- Код счета<br /> &nbsp; &nbsp; &nbsp; ------------------------<br /> &nbsp; &nbsp; &nbsp; &nbsp;-----------------------<br /> &nbsp; &nbsp; &nbsp;TRANS_ID &nbsp;= tostring(trans_id) &nbsp; &nbsp; &nbsp;-- ID транзакции<br /> &nbsp; &nbsp; &nbsp; };<br /> &nbsp; &nbsp; &nbsp; local Res = sendTransaction(Transaction); -- Отправляет транзакцию<br />end;<br />-- Функция вызывается терминалом, когда приходит новая информация таблицы заявок<br />function OnOrder(order)<br /> &nbsp; -- Если пришла информация по нашей транзакции<br /> &nbsp; &nbsp;if order.trans_id == trans_id then --именно наша заявка<br /> &nbsp; &nbsp; &nbsp; &nbsp;order_num = order.order_num; --номер заявки<br /> &nbsp; &nbsp; &nbsp; &nbsp;flag_OnOder = true; &nbsp;--флаг именно наша заявка<br /> &nbsp; &nbsp;end;<br />end; <br />
			<i>23.03.2018 14:23:58, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message29979/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message29979/topic3508/</guid>
			<pubDate>Fri, 23 Mar 2018 14:23:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message29977/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я сделал через комментарий <noindex><a href="http://pmntrade.ru/positions_history.html" target="_blank" rel="nofollow">http://pmntrade.ru/positions_history.html</a></noindex><br />Если нужно разделять одинаковые заявки внутри робота под одним комментарием использую ID. <br />
			<i>23.03.2018 13:27:29, Михаил Понамаренко.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message29977/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message29977/topic3508/</guid>
			<pubDate>Fri, 23 Mar 2018 13:27:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Фильтрация транзакций &quot;своего&quot; робота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message29976/topic3508/">Фильтрация транзакций &quot;своего&quot; робота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br /><br />Подскажите, если я хочу запустить несколько роботов, как можно обеспечить уникальность ID транзакций? Или каким образом сделать так, чтобы каждый робот мог отсеивать &quot;свои&quot; заявки в коллбэках при условии, что работает несколько роботов, часть из которых, возможно, сделана не мной?<br />Фильтрации по коду инструмента мне недостаточно, т.к. я хочу, чтобы разные роботы могли работать по одному инструменту (с разными настройками), при этом у них могут пересекаться идентификаторы транзакций. <br />
			<i>23.03.2018 12:58:11, Илья.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message29976/topic3508/</link>
			<guid>http://forum.quik.ru/messages/forum10/message29976/topic3508/</guid>
			<pubDate>Fri, 23 Mar 2018 12:58:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
