<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Многомерные массивы и получение CreateDataSource]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Многомерные массивы и получение CreateDataSource форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 06 Apr 2026 22:57:42 +0300</pubDate>
		<item>
			<title>Многомерные массивы и получение CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27308/topic3153/">Многомерные массивы и получение CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DG448r7m" href="/user/3010/" bx-tooltip-user-id="3010">Алексей</a> написал:<br />
====code====
<pre>&nbsp;&nbsp;T&nbsp;&nbsp;=&nbsp;&nbsp;{}
 local&nbsp;&nbsp; function&nbsp;&nbsp; storeDateTableByIndex (index, ya, mn, d)
&nbsp;&nbsp; local&nbsp;&nbsp;date&nbsp;&nbsp;=&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;year&nbsp;&nbsp;=&nbsp;&nbsp;ya,
&nbsp;&nbsp;&nbsp;&nbsp;month&nbsp;&nbsp;=&nbsp;&nbsp;mn,
&nbsp;&nbsp;&nbsp;&nbsp;day&nbsp;&nbsp;=&nbsp;&nbsp;d
&nbsp;&nbsp;}
&nbsp;&nbsp;T&#91;index&#93;&nbsp;&nbsp;=&nbsp;&nbsp;date
 end 
&nbsp;&nbsp;</pre>
=============
<br />=============<br />спасибо. &nbsp; <br />
			<i>21.10.2017 09:14:07, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27308/topic3153/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27308/topic3153/</guid>
			<pubDate>Sat, 21 Oct 2017 09:14:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Многомерные массивы и получение CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27305/topic3153/">Многомерные массивы и получение CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>T = {}
local function storeDateTableByIndex(index, ya, mn, d)
&nbsp;&nbsp;local date = {
&nbsp;&nbsp;&nbsp;&nbsp;year = ya,
&nbsp;&nbsp;&nbsp;&nbsp;month = mn,
&nbsp;&nbsp;&nbsp;&nbsp;day = d
&nbsp;&nbsp;}
&nbsp;&nbsp;T&#91;index&#93; = date
end
</pre>
============= <br />
			<i>21.10.2017 00:42:32, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27305/topic3153/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27305/topic3153/</guid>
			<pubDate>Sat, 21 Oct 2017 00:42:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Многомерные массивы и получение CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27304/topic3153/">Многомерные массивы и получение CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Как хотя бы объявляется таблица типа date time, как в индикаторе<br />T&#91;index&#93;.year T&#91;index&#93;.month<br /><br />чувствую, что мозги уже так загружены, что не замечаю чего-то простого <br />
			<i>20.10.2017 21:31:49, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27304/topic3153/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27304/topic3153/</guid>
			<pubDate>Fri, 20 Oct 2017 21:31:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Многомерные массивы и получение CreateDataSource</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27302/topic3153/">Многомерные массивы и получение CreateDataSource</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Доброе время суток.<br />для теста стратегии хочу выбрать сумму ОИ по всем страйкам. много кода, но упростил для теста до минимума и есть путаница<br />кусок скрипта:<br />
====code====
<pre>OI_Opt = {}
SecList = getClassSecurities("SPBOPT")
SecCode="BRX7" --тест по текущей нефти. заработает, допилим по газпрому
interval = 1

for TempSecCode in string.gmatch(SecList, "(&#91;^,&#93;+)") do --перебираем опционы по очереди. --опускаю код сравнения базового актива опциона с нужным.
&nbsp;&nbsp;&nbsp;ds_oi, dserror = CreateDataSource("SPBOPT", TempSecCode , interval, "NUMCONTRACTS") --подписался на ОИ
&nbsp;&nbsp;&nbsp;ds_oi:SetEmptyCallback() --если нет в ТТП опциона, подпишемся
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;for candle_num = 1, ds_oi:Size() do --перебираю исторические данные

-- отладочная информация.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr("QLua: " .. TempSecCode .. " " .. ds_oi:T(candle_num).month .. "." .. ds_oi:T(candle_num).day .. "." .. ds_oi:T(candle_num).hour .. "." .. ds_oi:T(candle_num).min .. " " ..ds_oi:C(candle_num))

--получаю по порядковому номеру значение ОИ
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OI_Opt&#91;candle_num&#93; = tonumber(OI_Opt&#91;candle_num&#93;) + ds_oi:C(candle_num)
&nbsp;&nbsp;&nbsp;end
end
</pre>
=============
не получается по одной причине. данные минутного графика (я же запросил минутки) выдает мне в таком виде <I>(Тикер) месяц.дата.час.минута значение</I><br />QLua: BR34BV7 7.4 12.50 4<br />QLua: BR34BV7 7.5 9.17 4<br />QLua: BR34BV7 7.5 17.51 8<br />QLua: BR34BV7 7.6 9.17 8<br />QLua: BR34BV7 7.7 9.17 8<br />QLua: BR34BV7 7.10 9.17 8<br /><br />центральные страйки выдают более менее кучные результаты. но тоже есть пропуски интервалов.<br />но для того, чтобы их получить сумму, мне необходимо раскидать по времени и суммировать.<br />не понимаю как создать многомерный массив. плюс хочу хранить отдельно колы и путы. плюс теоретическую цену на тот момент, волатильность и т.д.<br />потом, почему ОИ мне показывает по времени вне торгов (в примере стоит 09.17)?!<br /><br />многое пробовал, сейчас уже на пути создания базы данных (MySQL), чтобы и там все дело хранить, суммировать.<br />плохо, что CreateDataSource не работает в коде индикатора. там могу получить текущие данные из таблицы параметров. а из скрипта не могу, по рассчитаным данным, изменить линию индикатора.<br />делаешь индикатор по текущим данным, но изменение ТФ, добавление другого индикатора или изменение параметров Другого индикатора пересчитывает текущий индикатор и исторические показатели очищаются, он становится бесполезен, так как нет предыдущих данных.<br /><br />как мне создать многомерный массив/таблицу, где хранить данные типа ДатаВремя (пусть будет строка, потом распарсю), ОИ Путов, ОИ Колов, Теорит.Цена. запутался в ключах, вложеных таблицах.<br />Спасибо. <br />
			<i>20.10.2017 20:31:20, Eldar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27302/topic3153/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27302/topic3153/</guid>
			<pubDate>Fri, 20 Oct 2017 20:31:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
