<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Почему не полностью отрабатывает onTrade()?]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=294</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=294&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Почему не полностью отрабатывает onTrade()?».]]></description>
		<lastBuildDate>Wed, 17 Jul 2019 11:34:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Почему не полностью отрабатывает onTrade()?]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2389#p2389</link>
			<description><![CDATA[<p>Если внутри колбека у вас ошибка, синтаксиса, например, то исключения не будет, просто на ошибке будет завершена работа функции. Проверьте свои 50 строк кода. И вообще нужно убрать весь код из колбека в main. Тогда вы и поймаете исключение, посмотрите №строки и поправите ошибку.<br />Вот эту строку измените:<br />if tostring(trade[&quot;order_num&quot;])==tostring(idOrder) then<br />на:<br />if trade.order_num == idOrder then</p><p>без надобности не нужно применять функции преобразования типов, это долгие функции. idOrder если вы получили в OnOrder, то это число и в OnTrade тоже число, вот и сравнивайте 2 числа.</p>]]></description>
			<author><![CDATA[null@example.com (kalikazandr)]]></author>
			<pubDate>Wed, 17 Jul 2019 11:34:22 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2389#p2389</guid>
		</item>
		<item>
			<title><![CDATA[Почему не полностью отрабатывает onTrade()?]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2388#p2388</link>
			<description><![CDATA[<p>Не могу понять, почему то код внутри onTrade иногда прерывается во время исполнения, а иногда исполняется полностью.<br />Я думал может потому что 50 строк кода многовато для колбэка onTrade() и следующий ответы прерывают функцию, но непонятно почему тогда самый последний, из 3, ответов не обрабатывается полностью.</p><br /><p>Вот код:<br /></p><div class="codebox"><pre><code>function OnTrade(trade)
    techLog(&quot;=====================OnTrade(): started&quot;)
    
    toLog(&quot;OnTrade(): recieved:&quot;..tostring(trade)..&quot; trade[order_num]=&quot;..tostring(trade[&quot;order_num&quot;])..&quot; idOrder=&quot;..tostring(idOrder))
    techLog(&quot;OnTrade(): recieved:&quot;..tostring(trade)..&quot; trade[order_num]=&quot;..tostring(trade[&quot;order_num&quot;])..&quot; idOrder=&quot;..tostring(idOrder))
    if tostring(trade[&quot;order_num&quot;])==tostring(idOrder) then --Это пришел трейд по нашему ордеру?
        techLog(&quot;OnTrade(tradeByRegistredOrder): started&quot;)
        --50 строк вырезанного кода
    end
    techLog(&quot;=====================OnTrade(): finish&quot;)    
end</code></pre></div><br /><p>Вот лог:<br /></p><div class="codebox"><pre><code>07/12/19 15:30:20 =====================OnTrade(): started
07/12/19 15:30:20 OnTrade(): recieved:table: 0701EBE8 trade[order_num]=36210678172 idOrder=36210678172
07/12/19 15:30:20 OnTrade(tradeByRegistredOrder): started
07/12/19 15:30:20 =====================OnTrade(): started
07/12/19 15:30:20 OnTrade(): recieved:table: 0701E878 trade[order_num]=36210678172 idOrder=36210678172
07/12/19 15:30:20 OnTrade(tradeByRegistredOrder): started
07/12/19 15:30:20 =====================OnTrade(): started
07/12/19 15:30:20 OnTrade(): recieved:table: 07012938 trade[order_num]=36210678172 idOrder=36210678172
07/12/19 15:30:20 OnTrade(tradeByRegistredOrder): started</code></pre></div><p>Причем на некоторых трейдах код работает норм и доходит до<br /></p><div class="codebox"><pre><code>=====================OnTrade(): finish</code></pre></div><p>, а на некоторых нет.</p>]]></description>
			<author><![CDATA[null@example.com (SAMOKILLER)]]></author>
			<pubDate>Wed, 17 Jul 2019 10:21:12 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2388#p2388</guid>
		</item>
	</channel>
</rss>
