<?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; Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=140</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=140&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Вставил задержку sleep() - терминал вылетает. Почему?!».]]></description>
		<lastBuildDate>Tue, 18 Aug 2015 19:33:17 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1608#p1608</link>
			<description><![CDATA[<div class="quotebox"><cite>sam063rus пишет:</cite><blockquote><div class="quotebox"><cite>ascerdfg пишет:</cite><blockquote><p>а может просто не использовать p_file:close() ?</p></blockquote></div><p>а может:<br />вообще не открывать файл и не писать туда?</p></blockquote></div><p>Зачем же так категорично? А вот закрывать файл не обязательно. После закрытия терминала с ошибкой, данные таки в файле появляются.</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Tue, 18 Aug 2015 19:33:17 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1608#p1608</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1451#p1451</link>
			<description><![CDATA[<div class="quotebox"><cite>ascerdfg пишет:</cite><blockquote><div class="codebox"><pre><code>----
function OnStop(stop_flag) 
    is_run=false
    -- p_file:close()
end</code></pre></div><p> а если раскоментить строку -- p_file:close(), то квик ругается. Почему?</p></blockquote></div><p>сделайте так:<br /></p><div class="codebox"><pre><code>function OnStop(stop_flag) 
    is_run=false
    if p_file then
       p_file:close()
    end
end</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (kalikazandr)]]></author>
			<pubDate>Mon, 06 Jul 2015 10:54:02 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1451#p1451</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1417#p1417</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Fri, 26 Jun 2015 19:20:09 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1417#p1417</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1416#p1416</link>
			<description><![CDATA[<p>а может просто не использовать p_file:close() ?</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Fri, 26 Jun 2015 19:11:10 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1416#p1416</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1413#p1413</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Fri, 26 Jun 2015 05:32:09 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1413#p1413</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1412#p1412</link>
			<description><![CDATA[<div class="codebox"><pre><code>p_file=io.open(&quot;D:\\Program Files\\Lua\\1\\log.txt&quot;, &quot;w&quot;) -- Тут поставите нужный вам путь

is_run=true

function main()
    while is_run do
        sleep(1100)
        p_file:write(os.date()..&quot; заявка &quot;..&quot;\n&quot;)
    end
end


function OnStop(stop_flag) 
    is_run=false
    -- p_file:close()
end</code></pre></div><p> а если раскоментить строку -- p_file:close(), то квик ругается. Почему?</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Fri, 26 Jun 2015 04:03:49 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1412#p1412</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1101#p1101</link>
			<description><![CDATA[<p>Похоже что пауза работает только в &quot;майн&quot; и это единственное решение.</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Fri, 06 Mar 2015 12:42:13 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1101#p1101</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1093#p1093</link>
			<description><![CDATA[<div class="quotebox"><cite>ascerdfg пишет:</cite><blockquote><p>А если я хочу получать сообщения с задержкой 8 секунд</p></blockquote></div><p>Можно поместить цикл внутри main() и там читать таблицу с именем &quot;all_trades&quot; через функции getItem, getOrderByNumber, getNumberOf и SearchItems<br />При чтении находить сделки со временем отстающим на 8 секунд - и их выводить.</p><p>Никакого OnAllTrades() тогда и не нужно.</p><p>Только не понятно зачем такое может понадобиться?</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Thu, 05 Mar 2015 18:50:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1093#p1093</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1089#p1089</link>
			<description><![CDATA[<p>А просто цикл, не в коллбэке можно организовать? А в нём уже всю программу разместить...</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Thu, 05 Mar 2015 17:57:59 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1089#p1089</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1088#p1088</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Thu, 05 Mar 2015 17:13:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1088#p1088</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1087#p1087</link>
			<description><![CDATA[<p>Спасибо, пришлось пихать в цикл main()<br /></p><div class="codebox"><pre><code>-- Вывод в сообщение цены последней сделки, если она Si-3.15

p_seccode=&quot;SiH5&quot; --Код инструмента Si-3.15

is_run=true

function trad(price_s)

t = {

            [&quot;CLASSCODE&quot;]=&quot;SPBFUT&quot;,

            [&quot;SECCODE&quot;]=&quot;SiH5&quot;,

            [&quot;ACTION&quot;]=&quot;NEW_ORDER&quot;,

            [&quot;ACCOUNT&quot;]=&quot;41100JB&quot;,

            [&quot;CLIENT_CODE&quot;]=&quot;65399&quot;,

            [&quot;TYPE&quot;]=&quot;L&quot;,
            
            [&quot;OPERATION&quot;]=&quot;B&quot;,

            [&quot;QUANTITY&quot;]=&quot;1&quot;,

            [&quot;PRICE&quot;]=tostring(price_s),
            
            [&quot;TRANS_ID&quot;]=&quot;1&quot;,

      }
      
      res=sendTransaction(t)

end

function delet_order()

t = {

            [&quot;CLASSCODE&quot;]=&quot;SPBFUT&quot;,

            [&quot;SECCODE&quot;]=&quot;SiH5&quot;,

            [&quot;ACTION&quot;]=&quot;KILL_ALL_FUTURES_ORDERS&quot;,
            
            [&quot;ACCOUNT&quot;]=&quot;41100JB&quot;,

            [&quot;CLIENT_CODE&quot;]=&quot;65399&quot;,

            [&quot;BASE_CONTRACT&quot;]=&quot;Si&quot;,

            [&quot;TRANS_ID&quot;]=&quot;1&quot;,

      }

      res=sendTransaction(t)

end


function main()

      while is_run do

            sleep(1000)

            trad(price_s) --ставим заявку

            sleep(8000)
            
            delet_order() -- удаляем все заявки

      end

end

function OnStop(stop_flag)

      is_run=false

end


function OnAllTrade(alltrade) -- табличные данные 

    if tostring(alltrade[&quot;sec_code&quot;])==p_seccode then -- tostring - переводим в строковые данные 

        message(tostring(alltrade[&quot;price&quot;]..&quot; code=&quot;..alltrade[&quot;sec_code&quot;]))
    end

end</code></pre></div><p>А если я хочу получать сообщения с задержкой 8 секунд</p><div class="codebox"><pre><code>...
function main()

   while is_run do

      sleep(8000)
            
      function OnAllTrade(alltrade) -- табличные данные 

         if tostring(alltrade[&quot;sec_code&quot;])==p_seccode then 

            message(tostring(alltrade[&quot;price&quot;]))
    
          end

      end

   end

end

function OnStop(stop_flag)

      is_run=false

end</code></pre></div><p>Скрипт ничего не выводит. Как правильно написать?</p>]]></description>
			<author><![CDATA[null@example.com (ascerdfg)]]></author>
			<pubDate>Thu, 05 Mar 2015 16:40:24 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1087#p1087</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1086#p1086</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Thu, 05 Mar 2015 13:02:40 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1086#p1086</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1085#p1085</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Thu, 05 Mar 2015 12:41:21 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1085#p1085</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1084#p1084</link>
			<description><![CDATA[<p><strong>sam063rus</strong> ловко догадался, без иронии!</p><p>В самом деле - наверняка у терминала просто достаточно быстро кончается память, ведь всех сделок поступает очень много - а терминал их не может обрабатывать из-за Sleep.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Thu, 05 Mar 2015 12:00:24 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1084#p1084</guid>
		</item>
		<item>
			<title><![CDATA[Re: Вставил задержку sleep() - терминал вылетает. Почему?!]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1073#p1073</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Thu, 05 Mar 2015 08:00:24 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1073#p1073</guid>
		</item>
	</channel>
</rss>
