<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Максимальное значение TRANS_ID для транзакций]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Максимальное значение TRANS_ID для транзакций форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 06 Apr 2026 06:15:18 +0300</pubDate>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79097/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			====code====
<pre>--предположим у Вас 4 числовых параметра&nbsp;&nbsp;X1&#60;1024(10бит),X2&#60;1024(10бит),X3&#60;64(6 бит),X4&#60;64(6 бит)
--Вам надо их упаковать в одно число transID, которое 32 бита.

function set_to_transID(x1,x2,x3,x4) return (((((x2&#60;&#60;10)+x1)&#60;&#60;10)+x3)&#60;&#60;6)+x4; end&nbsp;&nbsp;--упаковываем

function get_from_transID(Y)&nbsp;&nbsp;-- распаковываем
local m1=(1&#60;&#60;6)-1; local z=Y&#62;&#62;6; local z1=z&#62;&#62;10;&nbsp;&nbsp;return&nbsp;&nbsp;z1&#38;((1&#60;&#60;10)-1), z1&#62;&#62;10, z&#38;m1,Y&#38;m1;
end&nbsp;&nbsp;

--тест:
local transID=set_to_transID(1023,1021,63,62);
print(transID)
x1,x2,x3,x4=get_from_transID(transID);
print(x1,x2,x3,x4)
</pre>
=============
результат:
====code====
<pre>&#62;D:/lua53/lua53.exe -e "io.stdout:setvbuf 'no'" "пример.lua" 
68585197566
1023&nbsp;&nbsp;&nbsp;1021&nbsp;&nbsp;&nbsp;63&nbsp;&nbsp;&nbsp;62
&#62;Exit code: 0
</pre>
============= <br />
			<i>11.07.2025 08:14:31, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79097/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79097/topic9208/</guid>
			<pubDate>Fri, 11 Jul 2025 08:14:31 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79096/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_a6dH0mvh" href="/user/16669/" bx-tooltip-user-id="16669">Сергей Че</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/14523/" target="_blank" rel="nofollow">BlaZed</a></noindex> написал:<br />Я шифрую в trans_id время, номер робота и порядковый номер транзакции<br />И значение всегда уникально и увеличивается постоянно в течении сессии<br /><br />Что вы в нем хранить то собираетесь что вам текущего размера не хватает?<br />=============<br /> Не подскажете формулу, как вы всё это упаковываете в число?<br /><br />Я пока только тренируюсь в написании своего первого торгового робота, но уже нопял, что по номеру транзакции надо уметь выявлять, что этот ордер/сделка -- следствие той самой транзакции, чтобы не спутать с ордерами/сделками, инициированными другими скриптами.<br />=============<br />Вот моя функция
====code====
<pre>function TransID() -- Уникальное в течении дня увеличивающиеся число от 1 до 2147483647 (макс. полож. 32 битное число)
&nbsp;&nbsp;trans_id_count=(trans_id_count and (trans_id_count+1)%100 or 0) -- Счетчик транзакций, от 0 до 99 и по кругу
&nbsp;&nbsp;return string.format("%02d%02d%02d%01d%02d",dt.hour,dt.min,dt.sec,robot_id,trans_id_count)%2147483647 -- Уникальный идентификатор транзакций
end
</pre>
=============
есть в ней один неучтенный момент, если в одну секунду будет две транзакции и в этот же момент произойдет переход счетчика с 99 на 0, тогда trans_id уменьшится.<br />Но шансы на это очень малы, так что принебрег <br />
			<i>11.07.2025 04:30:40, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79096/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79096/topic9208/</guid>
			<pubDate>Fri, 11 Jul 2025 04:30:40 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79095/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Если бы <B>TRANS_ID</B> был строкой (скажем с макс. кол-вом символом символов = 255), то туда можно было записать всё, что угодно, без проблем. Даже можно было бы сериализовать небольшую таблицу. Удобно же. Тем более <B>TRANS_ID</B> -- это данные только для пользователя, самой системе на этот параметр наплевать, она его никак не проверяет.<br />Всё равно всё отправляется на сервер в строковом виде (даже числа). <br />
			<i>11.07.2025 03:29:33, Сергей Че.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79095/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79095/topic9208/</guid>
			<pubDate>Fri, 11 Jul 2025 03:29:33 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79094/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_A9e236GB" href="/user/14523/" bx-tooltip-user-id="14523">BlaZed</a> написал:<br />Я шифрую в trans_id время, номер робота и порядковый номер транзакции<br />И значение всегда уникально и увеличивается постоянно в течении сессии<br /><br />Что вы в нем хранить то собираетесь что вам текущего размера не хватает?<br />=============<br />Не подскажете формулу, как вы всё это упаковываете в число?<br /><br />Я пока только тренируюсь в написании своего первого торгового робота, но уже нопял, что по номеру транзакции надо уметь выявлять, что этот ордер/сделка -- следствие той самой транзакции, чтобы не спутать с ордерами/сделками, инициированными другими скриптами. <br />
			<i>10.07.2025 22:18:01, Сергей Че.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79094/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79094/topic9208/</guid>
			<pubDate>Thu, 10 Jul 2025 22:18:01 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79093/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Я шифрую в trans_id время, номер робота и порядковый номер транзакции<br />И значение всегда уникально и увеличивается постоянно в течении сессии<br /><br />Что вы в нем хранить то собираетесь что вам текущего размера не хватает? <br />
			<i>10.07.2025 22:04:38, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79093/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79093/topic9208/</guid>
			<pubDate>Thu, 10 Jul 2025 22:04:38 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>Максимальное значение TRANS_ID для транзакций</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message79090/topic9208/">Максимальное значение TRANS_ID для транзакций</a></b> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Где-то прочитал, что TRANS_ID -- уникальный идентификационный номер заявки со значениями от «1» до «2 147 483 647»<br /><br />То есть получается от 1 до 2^32 - 1.<br />Это когда Квик был ещё 32-битным? Надеюсь сегодня это значение гораздо больше.<br />Поправьте меня, если я не прав. <br />
			<i>10.07.2025 20:14:08, Сергей Че.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message79090/topic9208/</link>
			<guid>http://forum.quik.ru/messages/forum1/message79090/topic9208/</guid>
			<pubDate>Thu, 10 Jul 2025 20:14:08 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
	</channel>
</rss>
