<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 08 Apr 2026 20:59:17 +0300</pubDate>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25919/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_yKioGKe6" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />Если посмотреть внимательно на вопрос, то станет ясно, что он был об обезличенных сделках (OnAllTrade), а не о сделках пользователя терминала (OnTrade).<br /><br /><br />=============<br />Оу... май пардон :(<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_baiY9riV" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />Не знаю, что надо делать с мордами невнимательных комментаторов.<br /><br />=============<br />Вероятно тоже бить. Суют морды не в свое дело :) <br />
			<i>24.07.2017 07:35:46, Imersio Arrigo.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25919/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25919/topic220/</guid>
			<pubDate>Mon, 24 Jul 2017 07:35:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25918/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если посмотреть <I><U>внимательно</U></I> на вопрос, то станет ясно, что он был об <I><U>обезличенных</U></I> сделках (OnAllTrade), а не о сделках пользователя терминала (OnTrade).<br /><br />Не знаю, что надо делать с мордами невнимательных комментаторов.<br /><br />Отдельные биты, как я понимаю, были сделаны <I>разработчиками</I> терминала из-за того, что в обезличенных &nbsp;сделках, представляющих собой данные по <I>индексам</I>, оба бита нулевые. <br />
			<i>24.07.2017 07:30:51, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25918/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25918/topic220/</guid>
			<pubDate>Mon, 24 Jul 2017 07:30:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25917/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_qY0VG7MU" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp;SELL_FLAG&nbsp;&nbsp;=&nbsp;&nbsp; 1 
 local&nbsp;&nbsp;BUY_FLAG&nbsp;&nbsp;=&nbsp;&nbsp; 2 

 function&nbsp;&nbsp; OnAllTrade (allTrade)
&nbsp;&nbsp;&nbsp;&nbsp; .. .
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;buySell&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp; bit.band (currTrade.flags, BUY_FLAG)&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;BUY_FLAG&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buySell&nbsp;&nbsp;=&nbsp;&nbsp; 1 
&nbsp;&nbsp;&nbsp;&nbsp; elseif&nbsp;&nbsp; bit.band (currTrade.flags, SELL_FLAG)&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;SELL_FLAG&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buySell&nbsp;&nbsp;=&nbsp;&nbsp; -&nbsp;&nbsp;1 
&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp; .. .
 end&nbsp;&nbsp; </pre>
=============
<br />=============<br />Да за такое морду бить надо.<br />Разные биты на один флаг? Смеялсо.<br /><br />====quote====<br />бит 2 (0x4)Заявка на продажу, иначе – на покупку.<br />=============<br /><br />local &nbsp;SELL_FLAG &nbsp;= 2<br />if &nbsp; bit.band (currTrade.flags, SELL_FLAG) &nbsp;= &nbsp;= &nbsp;SELL_FLAG then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; buySell &nbsp;= &nbsp; - &nbsp;1<br />else<br /> &nbsp; &nbsp; buySell &nbsp;= + &nbsp;1<br />fi<br /><br />и никак иначе. А первый бит<br />====quote====<br />бит 1 (0x2) Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена<br />=============<br />Никакого отношения к направлению не имеет.<br /><br />И этот человек пишет боты на заказ... ужос <br />
			<i>24.07.2017 07:13:48, Imersio Arrigo.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25917/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25917/topic220/</guid>
			<pubDate>Mon, 24 Jul 2017 07:13:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25916/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>local SELL_FLAG = 1
local BUY_FLAG = 2

function OnAllTrade(allTrade)
&nbsp;&nbsp;&nbsp;&nbsp;...
&nbsp;&nbsp;&nbsp;&nbsp;local buySell = 0
&nbsp;&nbsp;&nbsp;&nbsp;if bit.band(currTrade.flags, BUY_FLAG) == BUY_FLAG then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buySell = 1
&nbsp;&nbsp;&nbsp;&nbsp;elseif bit.band(currTrade.flags, SELL_FLAG) == SELL_FLAG then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buySell = -1
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;...
end</pre>
============= <br />
			<i>24.07.2017 06:57:10, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25916/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25916/topic220/</guid>
			<pubDate>Mon, 24 Jul 2017 06:57:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25910/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Подскажите как правильно работать с флагами при получении обезличенных сделок? <br />
			<i>23.07.2017 11:01:59, Никита Лапков.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25910/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25910/topic220/</guid>
			<pubDate>Sun, 23 Jul 2017 11:01:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1661/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bKo1Rc2I" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> пишет: <br /><br />Возможно, что так сделано для того, <br />чтобы неподготовленным пользователям (а таких большинство) "жизнь медом не казалась".<br /><br />=============<br />Битовая маска flags из описания сделки выдается из хранилища quik без каких-либо изменений.<br /><br />Экономия памяти на упаковке битов очень существенна, если учесть, что сделок в памяти квика в течение дня накапливается миллионы. <br />
			<i>03.03.2015 01:36:37, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1661/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1661/topic220/</guid>
			<pubDate>Tue, 03 Mar 2015 01:36:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1647/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tY4EctM4" href="/user/688/" bx-tooltip-user-id="688">Николай Бехтерев</a> пишет: <br />Зачем было вводить эти биты, какая-то экономия на памяти?)))<br /><br />=============<br />Все еще смешнее на самом деле это не экономия, а лишние затраты, <br />так как битовая операция &nbsp;bit.band(order&#91;"flags"&#93;,4) <br />занимает места больше, <br />чем экономия памяти на упаковке флагов.<br />--------------------------------------<br />Возможно, что так сделано для того, <br />чтобы неподготовленным пользователям (а таких большинство) "жизнь медом не казалась". <br />
			<i>02.03.2015 18:28:52, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1647/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1647/topic220/</guid>
			<pubDate>Mon, 02 Mar 2015 18:28:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1612/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CLMbdctp" href="/user/718/" bx-tooltip-user-id="718">Руслан Руслан</a> пишет: <br />bit.band<br /><br />=============<br />
====code====
<pre>if bit.band(order&#91;"flags"&#93;,4)&#62;0 
then 
 </pre>
=============
Не сразу понял эту штуку, пока не включил калькулятор и не увидел, как выглядит в двоичной системе цифра 4! <br />Зачем было вводить эти биты, какая-то экономия на памяти?))) <br />
			<i>02.03.2015 03:32:56, Николай Бехтерев.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1612/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1612/topic220/</guid>
			<pubDate>Mon, 02 Mar 2015 03:32:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1594/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />поэтому подскажите плиз, функция bit.band - это стандартная функция Lua или она из какой-то библиотеки сторонних разработчиков? <br /><br />=============<br />стандартная. AND - это логическое ИЛИ только для битовых флагов, написанное в виде функции. Посмотрите в справке. bAnd, bOr, bNot соответствуют and, or, not в обычных логических операциях. <br />
			<i>01.03.2015 13:14:17, Руслан Руслан.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1594/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1594/topic220/</guid>
			<pubDate>Sun, 01 Mar 2015 13:14:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1593/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Нашел ее описание в руководстве по QLua, раздел "Функции для работы с битовыми масками в структурах данных":<br /><br />Функция возвращает результат битовой операции AND над аргументами. Аргументов может быть несколько, при этом обязательные аргументы x1 и x2. <br />NUMBER bit.band(NUMBER x1, NUMBER x2, ...) <br />
			<i>01.03.2015 12:58:19, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1593/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1593/topic220/</guid>
			<pubDate>Sun, 01 Mar 2015 12:58:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1591/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xZdH1hIt" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br /><br />====quote====<br /> Руслан Руслан пишет: <br />бит 2 (0x4)Заявка на продажу, иначе – на покупку. Данный флаг для сделок и сделок для исполнения определяет направление сделки (BUY/SELL)- т.е. вам надо проверить состояние 4го бита - (0х4)<br /><br />=============<br />Почему же надо проверять состояния 4-го бита, если в документации идет речь о 2-м?<br />(0х4) - это не номер бита, а значение числа, имеющего единицу в данном бите и нули во всех остальных.<br /><br />В Lua я не очень силен, поэтому подскажите плиз, функция bit.band - это стандартная функция Lua или она из какой-то библиотеки сторонних разработчиков? Где можно увидеть ее описание?<br /><br />=============<br />Для меня это осталось загадкой, на выяснение которой я не стал тратить время. Видимо там значение бита проверяется, а не его порядковый номер. <br />вот щас быстренько написал:<br /><br />if bit.band(order&#91;"flags"&#93;,1)&gt;0<br />then<br />message("akt")<br />else<br />message("not akt")<br />end <br /><br />выставляю лимитную заявку, выдает - akt, снимаю заявку, выдает - not akt.<br />хотя проверка акт/неакт в руководстве написано проверяется в "бит 0" <br />
			<i>01.03.2015 12:46:03, Руслан Руслан.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1591/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1591/topic220/</guid>
			<pubDate>Sun, 01 Mar 2015 12:46:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1590/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_B40FcNO4" href="/user/718/" bx-tooltip-user-id="718">Руслан Руслан</a> пишет: <br />бит 2 (0x4)Заявка на продажу, иначе – на покупку. Данный флаг для сделок и сделок для исполнения определяет направление сделки (BUY/SELL)- т.е. вам надо проверить состояние 4го бита - (0х4)<br /><br />=============<br />Почему же надо проверять состояния 4-го бита, если в документации идет речь о 2-м?<br />(0х4) - это не номер бита, а значение числа, имеющего единицу в данном бите и нули во всех остальных.<br /><br />В Lua я не очень силен, поэтому подскажите плиз, функция bit.band - это стандартная функция Lua или она из какой-то библиотеки сторонних разработчиков? Где можно увидеть ее описание? <br />
			<i>01.03.2015 12:16:29, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1590/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1590/topic220/</guid>
			<pubDate>Sun, 01 Mar 2015 12:16:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1589/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			бит 2 (0x4) &nbsp;Заявка на продажу, иначе – на покупку. Данный флаг для сделок и сделок для исполнения определяет направление сделки (BUY/SELL) &nbsp;- т.е. вам надо проверить состояние 4го бита - (0х4). Если он ноль, то покупка, если 1 - то продажа. <br /><br />if &nbsp;bit.band(order&#91;"flags"&#93;,4)&gt;0 <br />then<br />-- заявка на продажу<br />else<br />-- заявка на покупку<br />end <br />
			<i>01.03.2015 12:07:32, Руслан Руслан.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1589/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1589/topic220/</guid>
			<pubDate>Sun, 01 Mar 2015 12:07:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1572/topic220/">Подсобите с битовыми флагами на примере выяснения позиции из таблицы OnTrade( )?</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В моей справочной литературе по LUA про битовые флаги ничего нет, в примерах мудрёно как-то, а в хелпе слишком скудная информация!<br />допустим имеем:<br />
====code====
<pre>function OnTrade(order)
&nbsp;&nbsp;&nbsp;table_order = order
end
</pre>
=============
как выяснить направление сделки? <br />
			<i>28.02.2015 20:36:15, Николай Бехтерев.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1572/topic220/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1572/topic220/</guid>
			<pubDate>Sat, 28 Feb 2015 20:36:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
