<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: OnTransReply возвращает order_num = nil]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме OnTransReply возвращает order_num = nil форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:28:45 +0300</pubDate>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58120/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день,<br /><br />&quot;ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMI­T_ORDER&quot; - это &quot;тейк-профит и стоп-лимит по исполнению заявки&quot;. О данном и похожих типах заявок написано в документации, которую мы &nbsp; &nbsp; &nbsp; отправили, в пункте 10. Условная заявка &quot;Стоп-заявка по исполнению&quot; на странице 36. <br />
			<i>22.09.2021 17:07:30, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58120/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58120/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 17:07:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58119/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Например <br />STOP_ORDER_KIND=ACTIVATED_BY_ORDER_TAKE_PROFIT_AND_STOP_LIMI<WBR/>&shy;T_ORDER <br />
			<i>22.09.2021 16:44:19, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58119/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58119/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 16:44:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58118/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день,<br /><br />Могли бы уточнить, про какие типы Вы ведёте речь ? <br />
			<i>22.09.2021 16:41:49, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58118/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58118/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 16:41:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58115/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_706ukDK4" href="/user/15077/" bx-tooltip-user-id="15077">Daniil Pozdnyakov</a>, спасибо, буду изучать. Правда там не все типы, но насколько я понимаю все, которых нет в файле, это комбинация основных? <br />
			<i>22.09.2021 16:07:06, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58115/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58115/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 16:07:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58114/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ну так у стопа две цены - цена активации и цена отправки транзакции в ядро биржи. Стоп ордера живут на сервере брокера, на бирже только лимитки.<br /><br />Если есть профит, то есть цена активации профита, есть защитный спред (то же проскальзывние) и есть отступ. Вот отступ - это как бы скользящий стоп. Когда профит активировался, то риск модуль брокера начинает следить за ценой, если она опустится на величину отступа, то отправляем на биржу ордер. Если же растет дальше, то ничего не делаем. В теории это дает получить больший профит. <br />
			<i>22.09.2021 15:59:51, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58114/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58114/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:59:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58113/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день,<br /><br />для того, чтобы понять, как работают стоп-заявки и что означают поля при вводе заявки, был разработан специальный документ, с которым рекомендуем ознакомиться. Скачать можно по данной <noindex><a href="https://arqatech.com/upload/iblock/385/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%20%D1%81%20%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%BC%D0%B8%20(%D1%81%D1%82%D0%BE%D0%BF%E2%80%93)%20%D0%B7%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8.pdf" target="_blank" rel="nofollow">ссылке</a></noindex> <br />
			<i>22.09.2021 15:56:43, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58113/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58113/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:56:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58112/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			С проскальзыванием понятно, вдруг не мне не хватило, будем продавать/покупать в рамках проскальзывания. <br />
			<i>22.09.2021 15:48:10, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58112/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58112/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:48:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58111/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Так это надо тогда сначала разобраться в логике работы стоп ордеров как таковых. Что такое стоп цена, что такое проскальзывание и зачем цена подачи исполняемой заявки должна быть другой и т.д. <br />
			<i>22.09.2021 15:43:19, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58111/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58111/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:43:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58110/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот только сколько ни смотрел, сколько не читал, все как один говорят/пишут вот тут надо эту цену поставить, тут цена должна быть чуть меньше/больше, а тут вот такая. Т.е. никакого понимания не дают. <br />
			<i>22.09.2021 15:26:59, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58110/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58110/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:26:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58109/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В сети полно видео с объяснением значения полей при вводе стоп-профит заявок. При подаче транзакции - тот же смысл. <br />
			<i>22.09.2021 15:24:19, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58109/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58109/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:24:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58108/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не стал плодить темы, вобщем с order_num разобрался, спасибо. Пришел к выводу что надо брать из таблицы заявок еще и статус заявки, так как бы надежнее :) Сейчас разбираюсь с простым и по исполнению тэйк профитом и стоп лоссом. Вообще в голове сумбур полный, ибо они работают как на покупку так и на продажу. Хочу для начала разобраться с простым. Читаю документацию и вижу это
====code====
<pre>Тэйк-профит и стоп-лимит Лукойл, покупка 1 лота, активация тэйк-профита при достижении цены 2000 с отступом в 5% и защитным спрэдом в 3%, стоп-цена 2222, цена лимитированной заявки 2255, время действия с 10:00:01 по 19:45:45
ACTION=NEW_STOP_ORDER; 
TRANS_ID=10055; 
CLASSCODE= TQBR; 
SECCODE=LKOH; 
ACCOUNT=L01-00000F00; 
CLIENT_CODE=Q7; 
OPERATION=B; 
QUANTITY=1; 
PRICE=2255; 
STOPPRICE=2000; 
STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER; OFFSET=5; 
OFFSET_UNITS=PERCENTS; 
SPREAD=3; 
SPREAD_UNITS=PERCENTS; 
MARKET_TAKE_PROFIT=NO; 
STOPPRICE2=2222; 
IS_ACTIVE_IN_TIME=YES; 
ACTIVE_FROM_TIME=100001; 
ACTIVE_TO_TIME=194545; 
MARKET_STOP_LIMIT=NO
</pre>
=============
В частности недопонимаю когда ее выставлять? Вижу, что операция продажа. Следовательно чтобы что то выставить на продажу надо сначала купить? <br />Как я понимаю здесь, при достижении цены 2000 на уже купленной акции активируется тейк профит? Или же я неверно понимаю логику тэйк профит, активируется когда цена достигнет 2000 + 5% и -3% защитного спреда? При этом условии акция будет продана?<br />Не понятно что такое стоп цена 2222?<br />Да и цена лимитированной заявки 2255 вообще не вписывается в логику. <br />
			<i>22.09.2021 15:16:21, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58108/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58108/topic6719/</guid>
			<pubDate>Wed, 22 Sep 2021 15:16:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58071/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Fi9IcSyt" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />Обрабатывать коллбэк OnOrder? Опять же таки я не нашел в документации ни слова о том при каком условии он вызывается? Только при условии что trans_reply.status = 3 или вообще при любой попытке отправить заявку, даже неудачной?<br />=============<br />OnOrder вызывается при получении новой заявки или при изменении параметров существующей заявки и с OnTransReply никак не связан.<br />Ну то есть при trans_reply.status==3 по логике должен прийти OnOrder (и обычно приходит), но как бы прямой взаимосвязи нет.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ygtW5QTf" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />В первом случае получив и обработав OnOrder можно не запариваться с OnTransReply и его статусом по идее, разве что для информации. Во втором случае в коллбэке OnOrder обязательно нужно проверить trans_reply.status. И опять же появляется другой вопрос, в какой последовательности оба этих коллбэка идут??? Если OnOrder может прийти раньше OnTransReply, то получается полнейшая ерунда, order_num в OnTransReply я получить не могу, а OnOrder не могу обработать, т.к. понятия не имею о статусе заявки...<br />=============<br />А тут все гораздо интереснее, и последовательность прихода этих коллбеков может быть любая, но это совершенно не проблема если мы используем очереди событий для указанных коллбеков.<br />Сначала ищем определенное время в очереди OnTransReply нужный ответ с order_num, либо отлуп.<br />После чего так же определенное время в очереди OnOrder ищем нужную нам заявку. <br />
			<i>20.09.2021 21:11:45, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58071/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58071/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 21:11:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58070/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_AjLLzAvv" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />Но остается открытым вопрос, что же делать то? Но из вашего пояснения получается, что OnTransReply может вызываться на каждую заявку неоднократно? Если это так, достаточно ли фильтровать те, что пришли с order_num = nil и тупо ждать коллбэк с заполненным этим полем, он обязательно появится?<br />=============<br />У себя проверял, при trans_reply.status==3 trans_reply.order_num всегда заполнен и равен номеру заявки (при выставлении - новой, при снятии - снимаемой)<br /><br />Но если я правильно понимаю, то OnTransReply формируется сервером брокера, а не биржей, так что думаю от настроек брокера может зависеть заполненность полей и количество ответов.<br /><br />Вам стоит проверить сколько и каких ответов придет для конкретно вашего случая
====code====
<pre>function OnTransReply(trans_reply) -- Функция вызывается терминалом QUIK при получении ответа на транзакцию пользователя
&nbsp;&nbsp;local str="OnTransReply:"
&nbsp;&nbsp;for k,v in pairs(trans_reply) do
&nbsp;&nbsp;&nbsp;&nbsp;str=str.."&#92;n"..tostring(k).."="..tostring(v)
&nbsp;&nbsp;end
&nbsp;&nbsp;message(str)
end</pre>
=============
И уже в зависимости от результата искать решение. <br />
			<i>20.09.2021 20:36:27, BlaZed.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58070/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58070/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 20:36:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58055/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WJioggPk" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />про 0 (ноль)<br />=============<br />Ага. Что, кстати говоря, косячок-с, по логике нил должен быть, номер-то не изменился у заявки, он просто уже недоступен. <br />
			<i>20.09.2021 12:44:40, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58055/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58055/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 12:44:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58054/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_OF1dsFDC" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /><noindex><a href="/user/54/" target="_blank" rel="nofollow">Старатель</a></noindex>, &nbsp; <noindex><a href="https://forum.quik.ru/messages/forum10/message50381/topic5978/#message50381" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message50381/topic5978/#message50381</a></noindex> <br />=============<br />Так вы про 0 (ноль) (number) <br />
			<i>20.09.2021 12:37:06, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58054/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58054/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 12:37:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58053/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_V1YKZZkw" href="/user/54/" bx-tooltip-user-id="54">Старатель</a>, &nbsp;<noindex><a href="https://forum.quik.ru/messages/forum10/message50381/topic5978/#message50381" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message50381/topic5978/#message50381</a></noindex> <br />
			<i>20.09.2021 12:24:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58053/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58053/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 12:24:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58052/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_JdBpgWZh" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /><B>нил</B> приезжает в OnTransReply при снятии заявки? Это нормальное поведение тогда на некоторых классах.<br />=============<br />В каких классах может быть nil ? <br />
			<i>20.09.2021 12:21:02, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58052/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58052/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 12:21:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58050/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xCfyhNS9" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />Но ведь колбэки именно под это и заточены.<br />=============<br />Ну так они и дернутся в каком-то неведомом порядке и количестве, свою задачу выполнят.<br /><br />Кстати говоря, еще раз перечитал первое сообщение и похоже, что вопрос-то немного о другом, нил приезжает в OnTransReply <I>при снятии</I> заявки? Это нормальное поведение тогда на некоторых классах. Опять же, в описанном мной варианте вас это не должно тревожить, у вас есть trans_id, по которому вы найдете объект транзакции, а из него получите ссылку на объект заявки, которую снимали. В любом случае предлагаю создавать свои объекты для заявок и транзакций, а не полагаться на &quot;выдерну из таблицы&quot;, поскольку в таблице нет одной важной вещи - статуса (вашего, не квиковского), т.е. &quot;что я с этим объектом сделал и чего от него жду&quot;. <br />
			<i>20.09.2021 12:16:44, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58050/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58050/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 12:16:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58045/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_hwD3MJYt" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a>, Только этот колбэк и катит! &nbsp;<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" /> Именно, что он приходит только после факта сделки. Даже если эта сделка &quot;левая&quot; - скрипт заявку не подавал, а сам юзер вручную, через стаканы что-то там купил или продал. У меня заявка ТОЖЕ может сниматься ещё до факта сделки (либо частично исполненная). Да, &quot;чтобы убить заявку до сделки, нужен order_num&quot;, и я его получаю как раз &quot;прямо из таблицы заявок&quot;... чо-то я не понял... что там order_num, а что order_id? Нужен номер заявки для снятия, и он получается либо по OnTrade, либо из таблицы &quot;orders&quot;. <br />
			<i>20.09.2021 11:03:34, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58045/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58045/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 11:03:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58044/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_oiBxxC76" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />Но опять же надо знать order_id, а получить его можно только из OnOrder или OnTransReply еще до факта сделк<br /><br />=============<br />испльзуйте trans_id (вы его сами задаете) и ищите через него Ордер в таблице ордеров <br />
			<i>20.09.2021 10:36:01, QApplication.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58044/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58044/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 10:36:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58043/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Колбеки хороши, но их не гарантированность - убивает идею.<br /><br />У Вас доступны методы прямого перебора таблиц: перед подачей транзакции запоминаете число строк в таблице ордеров, после просто проверяете, что появились новые записи в таблице, проверяя каждую, что это необходимая. Правда если номер транзакции сначала не будет заполнен, то уже возникают сложности. Поэтому можно использовать второй вариант - функция SearchItems. Запоминаете номер транзакции и далее ищете в таблице, когда там появится запись.<br /><br />Далее, что важно в таком сценарии, вы легко запоминаете индекс в &nbsp;таблице, а значит всегда можете обновить информацию по ордеру, без &nbsp;всякого колбека. <br />
			<i>20.09.2021 09:57:21, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58043/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58043/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 09:57:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58039/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_hlXbz2tm" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />Спасение в том, чтобы не закладывать никакой порядок колбеков и даже факт их появления.<br />=============<br />Но ведь колбэки именно под это и заточены.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4JgrNygb" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /> оставил только OnTrade <br />=============<br />Только этот колбэк не катит, ибо он приходить только после факта сделки. А у меня логика другая, заявка может сниматься еще до факта сделки, но чтобы убить заявку до сделки, нужен order_num, а кроме как из OnOrder или OnTransReply я больше не знаю способов как его получить. Разве что кроме как прямо из таблицы заявок TABLE order NUMBER indx getOrderByNumber(STRING class_code, NUMBER order_id), Но опять же надо знать order_id, а получить его можно только из OnOrder или OnTransReply еще до факта сделки. Правда order_id я не проверял... <br />
			<i>20.09.2021 08:51:32, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58039/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58039/topic6719/</guid>
			<pubDate>Mon, 20 Sep 2021 08:51:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58028/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_JfNyhzq0" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />обязательно гляну<br />=============<br />про состояние <noindex><a href="https://forum.quik.ru/forum10/topic5689/" target="_blank" rel="nofollow">trans_reply</a></noindex> - у меня не приходят колбеки со статусом 0 и 1 (на этот вопрос ни кто из разработчиков не ответил), <br /><noindex><a href="https://forum.quik.ru/messages/forum10/message40055/topic4786/#message40055" target="_blank" rel="nofollow">Здесь</a></noindex> сомопроизвольно колбек дергается без направления транзакции и разработчики не знают что это такое <br />
			<i>18.09.2021 22:09:25, QApplication.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58028/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58028/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 22:09:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58027/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_5BYuKT1O" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a>, Что делать? Видимо, то же, что и я: почти сразу выбросил OnOrder вообще, не разбираясь в нюансах, как ПОТЕНЦИАЛЬНО глючный, оставил только OnTrade как минимально необходимый. Проблем с order_num ни разу не испытывал. <br />
			<i>18.09.2021 20:38:21, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58027/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58027/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 20:38:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58026/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_VrskdRn9" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />он обязательно появится?<br />=============<br />Он может и совсем не появиться. Выше <a class="blog-p-user-name" id="bp_50HthYuU" href="/user/9868/" bx-tooltip-user-id="9868">QApplication</a> дал ссылку, там он как раз разбирался с тем, что не приходит. Или если соединение потеряно непосредственно после отправки транзакции. Спасение в том, чтобы не закладывать никакой порядок колбеков и даже факт их появления. Вы хотите создать заявку - создаете объект заявки со статусом &quot;ожидает отправки&quot;, затем создаете объект транзакции со ссылкой на объект заявки и отправляете, меняя статус заявки на &quot;отправлена&quot;, затем колбеки как-то меняют состояние транзакции и заявки, при этом в колбеке транзакции вы также меняете состояние заявки (а ссылка на заявку у вас в транзакции есть). В какой-то момент состояние заявки становится &quot;выставлена&quot;, или даже сразу &quot;исполнена&quot;, или &quot;снята&quot;, или &quot;отвергнута&quot;, или &quot;соединение потеряно, фикзнает что с ней&quot;, тут вам транзакция больше не нужна, вы ее удаляете, не глядя, что там с ней случилось. <br />
			<i>18.09.2021 19:19:10, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58026/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58026/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 19:19:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58025/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_25jpY04z" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a>, спасибо за пояснение. В принципе нечто подобное я себе и представлял. Но остается открытым вопрос, что же делать то? Но из вашего пояснения получается, что OnTransReply может вызываться на каждую заявку неоднократно? Если это так, достаточно ли фильтровать те, что пришли с order_num = nil и тупо ждать коллбэк с заполненным этим полем, он обязательно появится?<br /><a class="blog-p-user-name" id="bp_JlhSUX3E" href="/user/9868/" bx-tooltip-user-id="9868">QApplication</a>, спасибо, обязательно гляну. <br />
			<i>18.09.2021 19:00:45, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58025/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58025/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 19:00:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58024/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_n9G08qs5" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a> написал:<br />OnTransReply <br />=============<br />Вот <noindex><a href="https://forum.quik.ru/messages/forum10/message47697/topic5734/#message47697" target="_blank" rel="nofollow">здесь</a></noindex> есть картики как работает trans_reply and order <br />
			<i>18.09.2021 18:30:02, QApplication.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58024/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58024/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 18:30:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58023/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_3Kx2cQKM" href="/user/15148/" bx-tooltip-user-id="15148">Алексей</a>, &nbsp;если коротко - придет позже еще один OnTransReply уже с номером заявки.<br /><br />Если чуть длиннее, общая проблема состоит в том, что все рассматривают транзакцию как метод класса заявки, и OnTransReply как асинхронный колбек завершения этого метода, то есть примерно так<br />
====code====
<pre>class Order
{
&nbsp;&nbsp;&nbsp;&nbsp;void SendTransaction(...);
&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnTransReply(...);
&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnOrder(...);
};
</pre>
=============
, в то время как транзакция является самостоятельным классом и OnTransReply это событие изменения чего-то в этом классе, т.е. примерно так<br />
====code====
<pre>class Order
{
&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnOrder(...);
};

class Transaction
{
&nbsp;&nbsp;&nbsp;&nbsp;SendTransaction(...);
&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnTransReply(...);
};</pre>
=============
При первом подоходе вы, естественно, ждете однократного события завершения транзакции со всеми полями. При втором нет ничего странного в том, что состояние транзакции меняется в несколько подходов. Когда оно изменится настолько, что дальнейшая судьба транзакции вам станет неинтересна (в вашем случае, когда придет номер заявки), вы можете этот объект удалить и игнорировать дальнейшие его изменения.<br /><br />OnOrder может приходить раньше OnTransReply, но с учетом вышесказанного вас это не будет беспокоить, поскольку состояния классов меняются независимо (хотя как результат изменения состояния транзакции вы будете, скорее всего, и как-то менять состояние ордера). <br />
			<i>18.09.2021 18:29:03, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58023/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58023/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 18:29:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58022/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Принципиально у меня тоже самое, насчет price не проверял, но order_num = nil это точно. &nbsp; <br />
			<i>18.09.2021 17:17:00, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58022/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58022/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 17:17:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnTransReply возвращает order_num = nil</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58020/topic6719/">OnTransReply возвращает order_num = nil</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>function OnTransReply(reply) -- Функция вызывается терминалом QUIK при получении ответа на транзакцию пользователя
&nbsp;&nbsp; ***
&nbsp;&nbsp; if reply.status == 3 then -- Транзакция выполнена
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--------------------------------------------------------------------------------------------
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpCl&#91;n&#93; = rts(n, reply.price)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Num&#91;n&#93; = reply.order_num
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--------------------------------------------------------------------------------------------
&nbsp;&nbsp; elseif reply.status == 2 or reply.status &#62; 3 then -- Произошла ошибка
&nbsp;&nbsp; ***
</pre>
=============
<br />Вот так получаю цену и номер заявки - вопросов не возникало <br />
			<i>18.09.2021 16:25:01, Константин Рейм.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58020/topic6719/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58020/topic6719/</guid>
			<pubDate>Sat, 18 Sep 2021 16:25:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
