<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: or и цикл while]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме or и цикл while форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 03:24:31 +0300</pubDate>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22095/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wSJMSRgV" href="/user/3183/" bx-tooltip-user-id="3183">funjpg</a> написал:<br />В такой ситуации, вопрос в сторону биржи, почему она присылает 0<br />=============<br />Биржа тут не при чём. Это QUIK косячит: когда не может получить значение параметра (например, параметр не задан в списках) он подставляет туды 0 и говорит, что result="1" <br />
			<i>01.02.2017 18:05:03, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22095/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22095/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 18:05:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22094/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KKvkeAlg" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br /><br />Такая проверка не гарантирует корректного получения данных. Вы легко можете получить <br />
====code====
<pre>tradingstatus&nbsp;&nbsp;=&nbsp;&nbsp;{param_type =&nbsp;&nbsp;"2" , param_value =&nbsp;&nbsp;"0.000000" , result =&nbsp;&nbsp;"1" , param_image =&nbsp;&nbsp;"" } 
</pre>
=============
в то время, как на самом деле param_value = 4 <br />=============<br /><br />В такой ситуации, вопрос в сторону биржи, почему она присылает 0, когда ожидаемое значение 4. А пока, будем ждать пока не придет 4 или 3 или ошибка getParamEx() для выхода из цикла.<br /><br />кстати, 1-й вариант, там к tradingStatus.result нужно применить tonumber(), для корректной работы или 0 взять в &quot; &quot; типа == &quot;0&quot; <br />
			<i>01.02.2017 18:01:09, funjpg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22094/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22094/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 18:01:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22093/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			в то время, как на самом деле param_value = 4 <br />
			<i>01.02.2017 17:18:22, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22093/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22093/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 17:18:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22092/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KOyus8Og" href="/user/3183/" bx-tooltip-user-id="3183">funjpg</a> написал:<br />if tonumber(tradingStatus.result) == 1 then<br />=============<br />Такая проверка не гарантирует корректного получения данных. Вы легко можете получить <br />
====code====
<pre>tradingstatus = {param_type="2", param_value="0.000000", result="1", param_image=""}</pre>
============= <br />
			<i>01.02.2017 17:15:34, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22092/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22092/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 17:15:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22091/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_qJLytBxi" href="/user/2047/" bx-tooltip-user-id="2047">Станислав</a> написал:<br />Такой подход к организации ожидания события не дает права на ошибку и при любом некорректном входном параметре или ошибки выполнения getParamEx навсегда &quot;повесит&quot; скрипт<br />=============<br />согласен с замечаниями, сократил код, да так, что стал непонятен. под &quot;status&quot; имел ввиду результат функции getParamEx<br />варианты с изменениями и дополнениями.
====code====
<pre>while true do 
 tradingStatus = getParamEx(class,"GAZP","tradingstatus") 
 status = tonumber(tradingStatus.param_value)
 if status == 4 then break end
 if status == 3 then break end
 if tradingStatus.result == 0 then break end
 sleep (1000)
end</pre>
=============
или <br /><br />
====code====
<pre>while true do 
 tradingStatus = getParamEx(class,"GAZP","tradingstatus")
&nbsp;&nbsp;if tonumber(tradingStatus.result) == 1 then
&nbsp;&nbsp; status = tonumber(tradingStatus.param_value)
&nbsp;&nbsp; if status == 4 then break end
&nbsp;&nbsp; if status == 3 then break end
&nbsp;&nbsp;else break end
 sleep (1000)
end 
</pre>
============= <br />
			<i>01.02.2017 16:41:08, funjpg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22091/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22091/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 16:41:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22089/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Такой подход к организации ожидания события не дает права на ошибку и при любом некорректном входном параметре или ошибки выполнения getParamEx навсегда &quot;повесит&quot; скрипт <br />
			<i>01.02.2017 16:02:19, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22089/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22089/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 16:02:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22088/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>while true do
 if status == 4 then break end
 if status == 3 then break end
 sleep (1000)
end</pre>
=============
как вариант <br />
			<i>01.02.2017 15:51:46, funjpg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22088/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22088/topic2497/</guid>
			<pubDate>Wed, 01 Feb 2017 15:51:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22064/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_d2sdZGnk" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />while tradingstatus &lt;3 <br /><br />=============<br />этот не подойдёт, потому что он будет срабатывать и на 0. А ведь 0 - это признак закрытой сессии. В это время робот должен спать. <br />
			<i>31.01.2017 21:22:59, Космонавт.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22064/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22064/topic2497/</guid>
			<pubDate>Tue, 31 Jan 2017 21:22:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22062/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В итоге три варианта:<br />while tradingstatus &lt;3 <br />while tradingstatus ~= 4 and tradingstatus ~= 3 <br />while not (tradingstatus == 4 or tradingstatus == 3) <br /><br /><table class="data-table"><tr><th><br /></th></tr><tr><td></td></tr></table> <br />
			<i>31.01.2017 21:09:26, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22062/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22062/topic2497/</guid>
			<pubDate>Tue, 31 Jan 2017 21:09:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22061/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Vz9xa5sR" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br /><br />====quote====<br /> Космонавт &nbsp; написал:<br />Николай, <br />циферка 3 - аукцион открытия, <br />4 - аукцион закрытия (перед ней и после неё есть ещё периоды со своими цифрами, не помню их названий)<br />0 - сессия закрыта.<br /><br />Я понял вашу мысль про оператор and, но не могу понять как это работает. Мне ведь нужно срабатывание либо одного условия (премаркет), либо второго (постмаркет), а не одновременно обоих (and)<br />=============<br />Согласен, должно быть or.<br />Тогда, в чем вопрос?<br />=============<br />нет or не будет работать. <br />
			<i>31.01.2017 21:04:38, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22061/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22061/topic2497/</guid>
			<pubDate>Tue, 31 Jan 2017 21:04:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22060/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8167Kfs2" href="/user/256/" bx-tooltip-user-id="256">Космонавт</a> написал:<br />Николай, <br />циферка 3 - аукцион открытия, <br />4 - аукцион закрытия (перед ней и после неё есть ещё периоды со своими цифрами, не помню их названий)<br />0 - сессия закрыта.<br /><br />Я понял вашу мысль про оператор and, но не могу понять как это работает. Мне ведь нужно срабатывание либо одного условия (премаркет), либо второго (постмаркет), а не одновременно обоих (and)<br />=============<br />Согласен, должно быть or.<br />Тогда, в чем вопрос? <br />
			<i>31.01.2017 21:01:36, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22060/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22060/topic2497/</guid>
			<pubDate>Tue, 31 Jan 2017 21:01:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22039/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			а понял<br />можете не объяснять <br />
			<i>30.01.2017 19:03:11, Космонавт.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22039/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22039/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 19:03:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22038/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>while not (tradingstatus == 4 or tradingstatus == 3) do</pre>
=============
то же, что и <br />
====code====
<pre>while tradingstatus ~= 4 and tradingstatus ~= 3 do</pre>
============= <br />
			<i>30.01.2017 18:58:19, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22038/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22038/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 18:58:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22037/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Николай, <br />циферка 3 - аукцион открытия, <br />4 - аукцион закрытия (перед ней и после неё есть ещё периоды со своими цифрами, не помню их названий)<br />0 - сессия закрыта.<br /><br />Я понял вашу мысль про оператор and, но не могу понять как это работает. Мне ведь нужно срабатывание либо одного условия (премаркет), либо второго (постмаркет), а не одновременно обоих (and) <br />
			<i>30.01.2017 18:55:02, Космонавт.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22037/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22037/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 18:55:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22028/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<B>Возможные состояния торгов по финансовому инструменту. </B><br />Константа &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Описание<br />N &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Недоступно для торгов<br />O &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Период открытия<br />C &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Торги закрыты<br />F &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Период закрытия<br />B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Перерыв<br />T &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Торговая сессия<br />------------------------------------ &nbsp;<br />Если так то Ваш оператор надо записать так:<br /> &nbsp; while getParamEx(class,&quot;GAZP&quot;,&quot;tradingstatus&quot;).param_value)~='O' and getParamEx(class,&quot;GAZP&quot;,&quot;tradingstatus&quot;).param_value)~='F' do &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sleep (1000) &nbsp; &nbsp; &nbsp;end &nbsp; <br /><br />------------------------ &nbsp;<br />В любом случае замените or на and <br />
			<i>30.01.2017 16:00:45, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22028/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22028/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 16:00:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22027/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			а где Вы взяли коды состояний?<br />вроде бы должно быть так:<br /> &nbsp;Возможные состояния торгов по финансовому инструменту. &nbsp;<table class="data-table"><tr><td> &nbsp; Константа &nbsp; </td><td> &nbsp; Описание &nbsp; </td></tr><tr><td> &nbsp; N &nbsp; </td><td> &nbsp; Недоступно для торгов &nbsp; </td></tr><tr><td> &nbsp; O &nbsp; </td><td> &nbsp; Период открытия &nbsp; </td></tr><tr><td> &nbsp; C &nbsp; </td><td> &nbsp; Торги закрыты &nbsp; </td></tr><tr><td> &nbsp; F &nbsp; </td><td> &nbsp; Период закрытия &nbsp; </td></tr><tr><td> &nbsp; B &nbsp; </td><td> &nbsp; Перерыв &nbsp; </td></tr><tr><td> &nbsp; T &nbsp; </td><td> &nbsp; Торговая сессия &nbsp; </td></tr></table> <br />
			<i>30.01.2017 15:57:54, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22027/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22027/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 15:57:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22026/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			например так:<br /> &nbsp; while tonumber(getParamEx(class,&quot;GAZP&quot;,&quot;tradingstatus&quot;).param_value)&lt;3 do &nbsp;sleep (1000) &nbsp; &nbsp; &nbsp;end &nbsp; <br />
			<i>30.01.2017 15:54:37, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22026/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22026/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 15:54:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>or и цикл while</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22016/topic2497/">or и цикл while</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			господа, слегка запутался с циклом типа while<br />
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;while tonumber(getParamEx(class,"GAZP","tradingstatus").param_value)~=4 or tonumber(getParamEx(class,"GAZP","tradingstatus").param_value)~=3 do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep (1000) 
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp; </pre>
=============
&quot;Спать 1 секунду, пока не наступил пре-маркет или пост-маркет&quot;.<br />Но в первой строчке - ошибка. Это условие не выполняется никогда. Подскажите пожалуйста как написать правильно. <br />
			<i>30.01.2017 12:22:55, Космонавт.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22016/topic2497/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22016/topic2497/</guid>
			<pubDate>Mon, 30 Jan 2017 12:22:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
