<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: OnTransReply - что я делаю не так?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме OnTransReply - что я делаю не так? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 12:53:00 +0300</pubDate>
		<item>
			<title>OnTransReply - что я делаю не так?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47889/topic5751/">OnTransReply - что я делаю не так?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если есть поток транзакций, то надо сохранить &quot;ключи транзакций&quot; и по приходу ответа уже что-то делать.<br />Можете организовать некую таблицу с ключами равными номерам транзакций, а в колбеке проверять, что такой ключ есть и выполнять какие-то действия.<br /><br />Правда Вам стоит сразу задуматься и о некой уникальности ключа транзакции. Сейчас Вы просто смотрите на номер транзакции. Но если Вы запустите два скрипта одновременно, то гарантий уникальности уже не будет. Стоит проверять не только номер, но и инструмент. Плюс при отправке транзакции можно добавить некий комментарий, а в колбеке фильтровать по нему же, чтобы получить свой колбек, а не соседнего скрипта. <br />
			<i>21.08.2020 09:52:23, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47889/topic5751/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47889/topic5751/</guid>
			<pubDate>Fri, 21 Aug 2020 09:52:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply - что я делаю не так?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47873/topic5751/">OnTransReply - что я делаю не так?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_XeK57WEO" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a>, и как можно исправить? <br />
			<i>20.08.2020 15:53:17, Leonid.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47873/topic5751/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47873/topic5751/</guid>
			<pubDate>Thu, 20 Aug 2020 15:53:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply - что я делаю не так?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47872/topic5751/">OnTransReply - что я делаю не так?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В момент когда приходит колбек, номер транзакции уже другой. Вы не знаете когда придет ответ от транзакции, может минут 5 и более приходить. <br />
			<i>20.08.2020 15:10:18, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47872/topic5751/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47872/topic5751/</guid>
			<pubDate>Thu, 20 Aug 2020 15:10:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply - что я делаю не так?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47868/topic5751/">OnTransReply - что я делаю не так?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br /><br />никак не могу разобраться с этой функцией.<br />Есть такая молотилка, которая транзакции шлет, но OnTransReply не срабатывает...
====code====
<pre>local LastStatus&nbsp;&nbsp;&nbsp;&nbsp;= nil
local trans_id=1

local stopped = false
function OnStop()
&nbsp;&nbsp;&nbsp;stopped = true
&nbsp;&nbsp;&nbsp;return 2000
end

function main()

 while stopped == false do

 trans_id=trans_id+1
local OrderSell = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"ACTION"&#93;="NEW_ORDER",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"ACCOUNT"&#93;= "SPBFUT0000",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"OPERATION"&#93; = "B",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"CLASSCODE"&#93;="SPBFUT",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"SECCODE"&#93; = "SRU0",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"PRICE"&#93; = "0",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"QUANTITY"&#93; = tostring(1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"TRANS_ID"&#93; = tostring(trans_id),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#91;"TYPE"&#93; = "M",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local result = sendTransaction(OrderSell)

&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end


function OnTransReply(trans_reply)
&nbsp;&nbsp; if trans_reply.trans_id == trans_id then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if trans_reply.status == LastStatus then return else LastStatus = trans_reply.status end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trans_reply.status == 0&nbsp;&nbsp;&nbsp;&nbsp;then message('OnTransReply(): Транзакция отправлена серверу')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; trans_reply.status == 1&nbsp;&nbsp;&nbsp;&nbsp;then message('OnTransReply(): Транзакция получена на сервер QUIK от клиента')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; trans_reply.status == 2&nbsp;&nbsp;&nbsp;&nbsp;then message('OnTransReply(): Ошибка')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;&nbsp; trans_reply.status == 3&nbsp;&nbsp;&nbsp;&nbsp;then message('OnTransReply(): ТРАНЗАКЦИЯ ВЫПОЛНЕНА')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp; end
end
</pre>
============= <br />
			<i>20.08.2020 14:04:12, Leonid.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47868/topic5751/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47868/topic5751/</guid>
			<pubDate>Thu, 20 Aug 2020 14:04:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
