<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Запись открытого интереса в файл.]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Запись открытого интереса в файл. форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:28:27 +0300</pubDate>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74690/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Открытый интерес можно добавить на график и читать как обычный индикатор. <br />
			<i>29.02.2024 13:50:47, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74690/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74690/topic8535/</guid>
			<pubDate>Thu, 29 Feb 2024 13:50:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74680/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пишите текстовый файл и не парьте себе мозги.<br />Текстовый файл проще отлаживать (можно глазами посмотреть), проще поддерживать.<br />На скорость в общей инфраструктуре работы терминала это не повлияет совершенно. <br />
			<i>28.02.2024 21:27:03, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74680/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74680/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 21:27:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74672/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В QUIK в Lua инты 64 бита. Данные по тикам в документации к CreateDataSource:<br /><br />====quote====<br />Время свечи возвращается с точностью до миллисекунд в виде таблицы с полями:<br />{year, month, day, week_day, hour, min, sec, ms, count}<br />Где:<br />• count – количество тиковых интервалов в секунду. Может принимать значения от «1»<br />до «10000» включительно.<br /><br />=============<br />Используя Lua функцию <noindex><a href="https://www.lua.org/manual/5.3/manual.html#pdf-os.time" target="_blank" rel="nofollow">os.time</a></noindex> из таблицы, полученной от T(номер свечи), можно получить секунды от эпохи (какой именно - поставьте эксперимент и напишите результат). А из полей ms и count - количество миллисекунд и десятых миллисекунд. Для перевода из виндовой эпохи в никсовую гуглите &quot;SECS_BETWEEN_1601_AND_1970_EPOCHS&quot; <br />
			<i>28.02.2024 15:42:37, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74672/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74672/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 15:42:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74671/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			/*@@ <noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_INT_TYPE" target="_blank" rel="nofollow">LUA_INT_TYPE</a></noindex> определяет тип для целых чисел Lua.<br /><br />/* предопределенные параметры для <noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_INT_TYPE" target="_blank" rel="nofollow">LUA_INT_TYPE</a></noindex> */<br />#определить LUA_INT_INT 1<br />#определить LUA_INT_LONG 2<br />#определить LUA_INT_LONGLONG 3<br /><br />/** конфигурация по умолчанию для 64-разрядного Lua (&#39;long long&#39; и &#39;double&#39;)<br /><br />#if !определено(<noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_INT_TYPE" target="_blank" rel="nofollow">LUA_INT_TYPE</a></noindex>)<br />#определить LUA_INT_TYPE &nbsp; &nbsp;<noindex><a href="https://www.lua.org/source/5.3/luaconf.h.html#LUA_INT_LONGLONG" target="_blank" rel="nofollow">LUA_INT_LONGLONG</a></noindex><br />#конечный код <br />
			<i>28.02.2024 15:41:13, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74671/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74671/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 15:41:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74670/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<ul><li>Для справки:<br /><li>Windows: long и int остаются 32-разрядными,<br /><li>а для 64-разрядных целых чисел определены специальные новые типы данных.<br /></ul>-------------------------------- &nbsp;<br /><ul><li>Linux: размер long становится 64-разрядным, в то время как размер int остается 32-разрядным в 64-разрядных версиях Linux.<br /></ul>===========================<br />Распространенные проблемы с 64-разрядной миграцией Visual C ++<br /><br /><p>При использовании компилятора Microsoft C ++ (MSVC) для создания приложений для запуска в 64-разрядной операционной системе Windows вам следует знать о следующих проблемах:</p><ul><li><p> int и a long являются 32-разрядными значениями в 64-разрядных операционных системах Windows. </p><li><p>Для программ, которые вы планируете компилировать для 64-разрядных платформ, следует соблюдать осторожность и не назначать указатели на 32-разрядные переменные. </p><li><p>Указатели являются 64-разрядными на 64-разрядных платформах, и вы усечете значение указателя, если присвоите его 32-разрядной переменной.</p><li><p>size_t, time_t и ptrdiff_t являются 64-разрядными значениями в 64-разрядных операционных системах Windows.</p><li><p>time_t это 32-разрядное значение в 32-разрядных операционных системах Windows в Visual Studio 2005 и более ранних версиях. time_t теперь по умолчанию это 64-разрядное целое число.</p><p>Вы должны знать, где ваш код принимает int значение и обрабатывает его как size_t или time_t значение. Возможно, что число может вырасти до 32-разрядного числа, и данные будут усечены при их передаче обратно в int хранилище.</p></ul><p>Модификатор %x (шестнадцатеричный int формат) printf не будет работать должным образом в 64-разрядной операционной системе Windows. Он будет работать только с первыми 32 битами передаваемого ему значения.</p><ul><li><p>Используйте %I32x для отображения 32-разрядного интегрального типа в шестнадцатеричном формате.</p><li><p>Используйте %I64x для отображения 64-разрядного интегрального типа в шестнадцатеричном формате.</p><li><p>%p (шестнадцатеричный формат указателя) будет работать должным образом в 64-разрядной операционной системе Windows.</p></ul> <br />
			<i>28.02.2024 15:28:31, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74670/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74670/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 15:28:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74668/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			форматы чисел в версиях 5.4,5.3<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_NXXGhvLu" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Луа хранит числа в двух форматах double(8 байт ) и long (4 байта)<br />=============<br /> Насколько я понимаю, у Луа, скомпилированного под 32-разрядную Виндовс, будут форматы float и long (по 4 байта), а если Луа скомпилирован под 64-разрядную Виндовс, то числовые форматы будут только double и int64 (по 8 байтов).<br />=============<br />не возражаю , так как в луа это одна и та же &nbsp;структура. <br />
			<i>28.02.2024 15:18:39, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74668/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74668/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 15:18:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74667/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_PKKywD6N" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Луа хранит числа в двух форматах double(8 байт ) и long (4 байта)<br />=============<br /> Насколько я понимаю, у Луа, скомпилированного под 32-разрядную Виндовс, будут форматы float и long (по 4 байта), а если Луа скомпилирован под 64-разрядную Виндовс, то числовые форматы будут только double и int64 (по 8 байтов).<br />=============<br />уже нет квиков под 32 разрядную версию, так как для хранения номеров сделок надо 64 бита. <br />
			<i>28.02.2024 15:14:30, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74667/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74667/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 15:14:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74666/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В qlua есть os.sysdate() c микросекундами.<br />Преобразовать в бинарный формат можно функцией string.pack(), формат сами задаете: <noindex><a href="https://www.lua.org/manual/5.4/manual.html#6.4.2" target="_blank" rel="nofollow">https://www.lua.org/manual/5.4/manual.html#6.4.2</a></noindex> <br />
			<i>28.02.2024 14:43:24, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74666/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74666/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 14:43:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74665/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h8jAsLQw" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Луа хранит числа в двух форматах double(8 байт ) и long (4 байта)<br />=============<br />Насколько я понимаю, у Луа, скомпилированного под 32-разрядную Виндовс, будут форматы float и long (по 4 байта), а если Луа скомпилирован под 64-разрядную Виндовс, то числовые форматы будут только double и int64 (по 8 байтов). <br />
			<i>28.02.2024 13:48:42, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74665/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74665/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 13:48:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74663/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UU0k5i2e" href="/user/16407/" bx-tooltip-user-id="16407">snurhel</a> написал:<br />Доброго времени суток.<br />В Lua, я совсем новенький, так что просьба не ругаться за банальные вопросы.<br />Я собираюсь записывать историю историю изменения отрытого интереса в бинарный файл, для дальнейшего анализа в другой программе.<br />В формате:<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Время &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Цена Last &nbsp; Значение интереса<br />12.02.2024 &nbsp;16.42.01.074:074244 &nbsp; &nbsp;12.298 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20000<br />Время тика хочу записывать в posix формате(unix время, long 64 бита), но обнаружил что в Lua &nbsp;это время с точностью до секунд, и не микросекунд. <br />Поиск решения внятного ответа не дал, видел что на форуме поднимался этот вопрос, но так ни к чему вроде как и не пришли.<br />Можно ли только средствами языка Lua решить этот вопрос, или надо писать костыли?<br /><br />Для цены хотел использовать double(64 бита), а для открытого интереса integer(32 бита). <br />И вроде как в Lua 5.3 появился целочисленный тип, но я так понял Lua c динамической типизацией, сам присваивает как ему кажется правильней тип, и напрямую это ему не указать.<br />Но в других источниках я читал, что number всегда занимает место 64 бита в формате double, даже если записано целочисленное значение. <br />Так как все-таки Lua записывает числа?<br /><br />И если все-таки размер number меняется, то может ли userdata послужить решением в этом вопросе?<br />Возможно если сам не разберусь, отдам задачу более квалифицированному человеку, но хотелось бы все равно понять, как будет действовать Lua в квике, при записи бинарного файла.<br />Знаю что можно просто все писать в csv, но не хочу тратить время на преобразование строк в числа, хоть и не претендую на HFT, но хотелось бы меньше лишних движений.<br />=============<br />У Вас много вопросов и не понятно, на какой отвечать, но попробую.<br />----------------------<br />Луа хранит числа в двух форматах double(8 байт ) и long (4 байта)<br />------------------------<br />Хранятся эти числа в структуре . В этой же структуре хранятся и указатели.<br />------------------------<br />Поэтому размер не зависит от типа данных.<br />------------------------- &nbsp;<br />Писать бинарный файл можно как запись строк. <br />Луа пишет в файл все байты вне зависимости от значения байта .<br />----------------------- &nbsp;<br />Время с дискретом 0.1 мкс можно получить используя API C for lua. Т е написав или взяв в интернете функцию высокоточного чтения времени.<br />================<br />Но я бы рекомендовал Вам сначала разобраться с реальными задержками данных поступающими в терминал и скоростью реакции вашей программы на их изменение.<br />Потом решать, какие точности измерений Вам необходимы.<br /> &nbsp; <br />
			<i>28.02.2024 12:10:05, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74663/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74663/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 12:10:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74662/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bEvcsj77" href="/user/16407/" bx-tooltip-user-id="16407">snurhel</a> написал:<br />Но в других источниках я читал, что number всегда занимает место 64 бита в формате double, даже если записано целочисленное значение. Так как все-таки Lua записывает числа?<br />=============<br />Lua под х64 записывает числа в форматах int64 (только со знаком), и double (тоже 64). У них там в доке сказано, что тип integer это подтип типа number.<br /><br />Если заглянуть в потроха Lua, то можно усечь, что в байтике, в котором хранится тип переменной number, для integer установлен дополнительный битик. Из-за того, что раньше (говорят, до вер. 5.3) в Lua не было целочисленного типа, теперь в выдаче скриптов приходится видеть дробные значения в полях qty (quantity, количество акций): напр., 12345.0. А при вызовах функций qlua, говорят, этот нолик с точкой надо убирать, напр., через math.floor(order.qty). <br />
			<i>28.02.2024 12:06:31, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74662/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74662/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 12:06:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74661/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_EYjGo53d" href="/user/16407/" bx-tooltip-user-id="16407">snurhel</a>, Это называется &quot;искать на свою задницу приключений&quot;. Записывайте в текстовом формате и забудьте про все эти &quot;проблемы&quot;. А в &quot;другой программе&quot; читайте это и заполняйте те структуры, которые Вам угодно - double, integer - INT64, INT32, INT16, INT8, UNSIGNED или ещё что. Ах, так Вы и сами знаете про csv. ЗАБУДЬТЕ! Время на преобразование строк в числа ничтожно по сравнению с файловыми операциями. Не говоря уже о том, что время чтения исходных данных ничтожно по сравнению с временем их обработки. <br />
			<i>28.02.2024 11:34:12, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74661/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74661/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 11:34:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись открытого интереса в файл.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74660/topic8535/">Запись открытого интереса в файл.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Доброго времени суток.<br />В Lua, я совсем новенький, так что просьба не ругаться за банальные вопросы.<br />Я собираюсь записывать историю историю изменения отрытого интереса в бинарный файл, для дальнейшего анализа в другой программе.<br />В формате:<br />Дата &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Время &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Цена Last &nbsp; Значение интереса<br />12.02.2024 &nbsp;16.42.01.074:074244 &nbsp; &nbsp;12.298 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20000<br />Время тика хочу записывать в posix формате(unix время, long 64 бита), но обнаружил что в Lua &nbsp;это время с точностью до секунд, и не микросекунд. <br />Поиск решения внятного ответа не дал, видел что на форуме поднимался этот вопрос, но так ни к чему вроде как и не пришли.<br />Можно ли только средствами языка Lua решить этот вопрос, или надо писать костыли?<br /><br />Для цены хотел использовать double(64 бита), а для открытого интереса integer(32 бита). <br />И вроде как в Lua 5.3 появился целочисленный тип, но я так понял Lua c динамической типизацией, сам присваивает как ему кажется правильней тип, и напрямую это ему не указать.<br />Но в других источниках я читал, что number всегда занимает место 64 бита в формате double, даже если записано целочисленное значение. <br />Так как все-таки Lua записывает числа?<br /><br />И если все-таки размер number меняется, то может ли userdata послужить решением в этом вопросе?<br />Возможно если сам не разберусь, отдам задачу более квалифицированному человеку, но хотелось бы все равно понять, как будет действовать Lua в квике, при записи бинарного файла.<br />Знаю что можно просто все писать в csv, но не хочу тратить время на преобразование строк в числа, хоть и не претендую на HFT, но хотелось бы меньше лишних движений. <br />
			<i>28.02.2024 09:57:00, snurhel.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74660/topic8535/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74660/topic8535/</guid>
			<pubDate>Wed, 28 Feb 2024 09:57:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
