<?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, 18 Apr 2026 15:14:41 +0300</pubDate>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80733/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пардон, ранее это уже написано, просто пояснил на примере <br />
			<i>30.12.2025 06:12:09, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80733/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80733/topic2657/</guid>
			<pubDate>Tue, 30 Dec 2025 06:12:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80732/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если я правильно понял, то функция function FRACTALS &nbsp;написана универсально для индикаторов и скриптов.
====code====
<pre> Out = (O and O(I)) or (ds and ds:O(I))</pre>
=============
В данном случае она используется в индикаторе, поэтому будет работать левая &nbsp;часть &nbsp;относительно &nbsp;or 
====code====
<pre>(O and O(I)) </pre>
=============
Если использовать ее в скрипте, то будет работать правая часть or т е ds
====code====
<pre>(ds and ds:O(I))</pre>
=============
 &nbsp; <br />
			<i>30.12.2025 06:10:13, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80732/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80732/topic2657/</guid>
			<pubDate>Tue, 30 Dec 2025 06:10:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80730/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Просто надо убрать лишние строки кода из индикатора - ds в данном коде не используется и всегда false &nbsp; <br />
			<i>29.12.2025 23:21:22, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80730/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80730/topic2657/</guid>
			<pubDate>Mon, 29 Dec 2025 23:21:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80719/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_IMosA98S" href="/user/16131/" bx-tooltip-user-id="16131">VPM</a> написал:<br />Здесь много примеров как это делается для обоих вариантов.<br />=============<br />Благодарю. &nbsp;Про скрипт я даже не подумал, там понятно было бы ds=CreateDataSource() и далее, а тема начата именно с индикатора и вот что в индикаторе за ds и как в ней оказались данные source Откуда в функцию Value(...,ds) &nbsp;передается sourse не могу понять и соответственно далее Out = (O and O(I)) or (ds and ds:O(I)) &nbsp;Ну O(I) - источник с графика а остальное?<br />Дайте какие то ссылки чтобы разобраться <br />
			<i>28.12.2025 22:45:51, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80719/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80719/topic2657/</guid>
			<pubDate>Sun, 28 Dec 2025 22:45:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80718/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_FVlwokmz" href="/user/15309/" bx-tooltip-user-id="15309">Сергей</a>, &nbsp;Если Вы про скрипт выше FRACTALS, то он написан для использования в 2 подходах: main и OnCalculate. <br />Для использования в OnCalculate ds не нужен.<br />Для варианта с main его нужно определить и передать в расчеты. Этот подход реализован функцией Value, а именно строками: &nbsp;Out = (O and O(I)) or (ds and ds:O(I)), так как &nbsp;O(I) определенна в &nbsp;OnCalculate следовательно будет возвращать значение. В случае с &nbsp;main нужно определять ds и получать значения через метод. Здесь много примеров как это делается для обоих вариантов. <br />
			<i>28.12.2025 21:14:09, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80718/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80718/topic2657/</guid>
			<pubDate>Sun, 28 Dec 2025 21:14:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80717/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9XVJdNIq" href="/user/16131/" bx-tooltip-user-id="16131">VPM</a> написал:<br />Смотрите в справке функцию CreateDataSourc<br />=============<br />Но функцию CreateDataSource можно использовать только внутри функций main() сриптов а это индикатор, и во-вторых, я вообще не вижу где переменная ds объявлена и что ей присвоено какое то значение <br />
			<i>28.12.2025 20:31:48, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80717/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80717/topic2657/</guid>
			<pubDate>Sun, 28 Dec 2025 20:31:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80706/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_B9x97t66" href="/user/15309/" bx-tooltip-user-id="15309">Сергей</a>, Смотрите в справке функцию CreateDataSource - <span class="bx-font" style="font-size:;">Функция предназначена для создания таблицы Lua и позволяет работать со &nbsp;свечками, полученными с сервера QUIK, а также реагировать на их изменение.</span><p>Пример: ds = CreateDataSource(&quot;SPBFUT&quot;, &quot;RIU5&quot;, INTERVAL_M1)</p> <br />
			<i>28.12.2025 15:06:06, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80706/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80706/topic2657/</guid>
			<pubDate>Sun, 28 Dec 2025 15:06:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80705/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Переменная ds это что? подскажите <br />
			<i>28.12.2025 14:52:33, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80705/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80705/topic2657/</guid>
			<pubDate>Sun, 28 Dec 2025 14:52:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23313/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Понял, в чем ошибка была. Не несоответствие типов, а элементарно не просек, что фрактал вверх - это не линия 0, а линия 1 в индикаторе.<br /><br />Спасибо за помощь) <br />
			<i>29.03.2017 19:14:33, Егор Масалкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23313/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23313/topic2657/</guid>
			<pubDate>Wed, 29 Mar 2017 19:14:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23274/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_oBwkWhlk" href="/user/2481/" bx-tooltip-user-id="2481">Егор Масалкин</a>, <br /><br />Боюсь предположить, что Вы наткнулись на известную тему про сравнение значений типа DOUBLE с плавающей точкой.<br />Про данную тему легко найти статьи в википедии, или учебниках по программированию.<br />Дело в том что для значений с плавающей точкой, недопустима проверка на жесткое равенство т.к. цифра легко может оказаться равной 1.0000001 вместо 1. &nbsp;<br />Правильно сравнивать с заданной точностью, типа if t.high-f.high &lt;0.0001 then, ну либо смотреть не на H или L, а на их среднее.<br />Например if f.high &gt; (t.high+t.low) /2 then <br />
			<i>29.03.2017 05:28:05, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23274/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23274/topic2657/</guid>
			<pubDate>Wed, 29 Mar 2017 05:28:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23270/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			N=getNumCandles(&quot;Price&quot;)<br />	for v=100,N,1 do<br />	t=getCandlesByIndex(&quot;Price&quot;,0,v-1,1)&#91;0&#93;; <br />	f=getCandlesByIndex(&quot;Fractal&quot;,0,v-1,1)&#91;0&#93;;<br />	if t.high==f.high then message(&quot;Fractal Up Year&quot;..tostring(t.datetime.year)..&quot; Month&quot;..tostring(t.datetime.month)..&quot; Day&quot;..tostring(t.datetime.day)..&quot; Hour&quot;..tostring(t.datetime.hour)); end;<br />	if t.low==f.low then message(&quot;Fractal Down Year&quot;..tostring(t.datetime.year)..&quot; Month&quot;..tostring(t.datetime.month)..&quot; Day&quot;..tostring(t.datetime.day)..&quot; Hour&quot;..tostring(t.datetime.hour)); end;<br /><br />Если я правильно понял, то должно быть где-то так. Проверил по графику, стрелки вниз находит верно, а стрелки вверх игнорирует =_=<br />В чем дело? <br />
			<i>28.03.2017 19:04:48, Егор Масалкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23270/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23270/topic2657/</guid>
			<pubDate>Tue, 28 Mar 2017 19:04:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23264/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_QKhKAqXm" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если цена фрактала равна HIGTH то стрелка вверх, если LOW то вниз.<br />=============<br /><br />Опечатка, имелось ввиду <br />Если цена фрактала равна HIGHT то стрелка вверх, если LOW то вниз. <br />
			<i>28.03.2017 10:42:45, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23264/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23264/topic2657/</guid>
			<pubDate>Tue, 28 Mar 2017 10:42:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23263/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_mi4GV0U1" href="/user/2481/" bx-tooltip-user-id="2481">Егор Масалкин</a>, <br />Никакой. Такого параметра нет. Это сказано в документации.<br />Единственный способ получить цену графика и сравнить ее со значением цены у фрактала.<br />Если цена фрактала равна HIGTH то стрелка вверх, если LOW то вниз. <br />
			<i>28.03.2017 10:41:54, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23263/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23263/topic2657/</guid>
			<pubDate>Tue, 28 Mar 2017 10:41:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23262/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я знаю, почему не работает это.<br />Вопрос в том, какой мне нужно выцепить параметр, чтобы понять, что данная свеча с фракталом на покупку/продажу <br />
			<i>28.03.2017 10:35:29, Егор Масалкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23262/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23262/topic2657/</guid>
			<pubDate>Tue, 28 Mar 2017 10:35:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23259/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_OS6QC0sm" href="/user/2481/" bx-tooltip-user-id="2481">Егор Масалкин</a> написал:<br />f=getCandlesByIndex("Fractal",v,N-1,1)[0];<br />	if f.Type==TYPE_TRIANGLE_DOWN then message("Fractal Down "..tostring(v)); end;<br />	if f.Type==TYPE_TRIANGLE_UP then message("Fractal UP "..tostring(v)); end;<br /><br />=============<br /><br />Согласно документации, у свечек возвращаемых функцией getCandlesByIndex нет такого параметра Type.<br />От куда Вы его взяли?<br />Данный код и не будет работать т.к. Вы пытаетесь использовать параметры которых не существует.<br />И потом, согласно приведенному коду не понятно чему равно N и чему равно v <br />
			<i>28.03.2017 04:56:37, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23259/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23259/topic2657/</guid>
			<pubDate>Tue, 28 Mar 2017 04:56:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Получить номер свечи-фрактала</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23256/topic2657/">Получить номер свечи-фрактала</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте! Использую следующий индикатор фрактала.<br /><br />Но не могу понять, как мне вытащить с графика номер свечи... <br />f=getCandlesByIndex(&quot;Fractal&quot;,v,N-1,1)&#91;0&#93;;<br />	if f.Type==TYPE_TRIANGLE_DOWN then message(&quot;Fractal Down &quot;..tostring(v)); end;<br />	if f.Type==TYPE_TRIANGLE_UP then message(&quot;Fractal UP &quot;..tostring(v)); end;<br /><br />Пробовал и f.Setting.line.Type - не понимаю, как мне программно узнать, какой фрактал у свечи и есть ли он в принципе... Подскажите пожалуйста<br />
====code====
<pre>Settings = {
Name = "*FRACTALS (Fractals)", 
Period = 5,
line = {{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "FRACTALS - Down", 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_TRIANGLE_DOWN, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(255, 0, 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name = "FRACTALS - Up", 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type = TYPE_TRIANGLE_UP, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color = RGB(0, 255, 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
function Init() 
&nbsp;&nbsp;&nbsp;func = FRACTALS()
&nbsp;&nbsp;&nbsp;return #Settings.line
end

function OnCalculate(Index) 
&nbsp;&nbsp;&nbsp;return func(Index, Settings)
end

function FRACTALS() --Fractals ("FRACTALS")
&nbsp;&nbsp;&nbsp;local H_tmp={}
&nbsp;&nbsp;&nbsp;local L_tmp={}
return function (I, Fsettings, ds)
local Fsettings=(Fsettings or {})
local P = (Fsettings.Period or 5)
P = math.floor(P/2)*2+1
H_tmp&#91;I&#93;=Value(I,"High",ds)
L_tmp&#91;I&#93;=Value(I,"Low",ds)
if I&#62;=P then
&nbsp;&nbsp;&nbsp;local S = I-P+1+math.floor(P/2)
&nbsp;&nbsp;&nbsp;local val_h=math.max(unpack(H_tmp,I-P+1,I)) 
&nbsp;&nbsp;&nbsp;local val_l=math.min(unpack(L_tmp,I-P+1,I))
&nbsp;&nbsp;&nbsp;local L = Value(S,"Low",ds)
&nbsp;&nbsp;&nbsp;local H = Value(S,"High",ds)
&nbsp;&nbsp;&nbsp;if (val_h == H) and (val_h &#62;0) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and (val_l == L) and (val_l &#62; 0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ds then return S,S else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 1, val_l)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 2, val_h)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (val_h == H) and (val_h &#62;0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ds then return S,nil else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 1, nil)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 2, val_h)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (val_l == L) and (val_l &#62; 0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ds then return nil,S else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 1, val_l)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetValue(S, 2, nil)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
end
&nbsp;&nbsp;&nbsp;return nil,nil
end
end

function Value(I,VType,ds) 
local Out = nil
VType=(VType and string.upper(string.sub(VType,1,1))) or "A"
&nbsp;&nbsp;&nbsp;if VType == "O" then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Open
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (O and O(I)) or (ds and ds:O(I))
&nbsp;&nbsp;&nbsp;elseif VType == "H" then &nbsp;&nbsp;&nbsp;--High
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (H and H(I)) or (ds and ds:H(I))
&nbsp;&nbsp;&nbsp;elseif VType == "L" then&nbsp;&nbsp;&nbsp;--Low
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (L and L(I)) or (ds and ds:L(I))
&nbsp;&nbsp;&nbsp;elseif VType == "C" then&nbsp;&nbsp;&nbsp;--Close
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (C and C(I)) or (ds and ds:C(I))
&nbsp;&nbsp;&nbsp;elseif VType == "V" then&nbsp;&nbsp;&nbsp;--Volume
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (V and V(I)) or (ds and ds:V(I)) 
&nbsp;&nbsp;&nbsp;elseif VType == "M" then&nbsp;&nbsp;&nbsp;--Median
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = ((Value(I,"H",ds) + Value(I,"L",ds)) / 2)
&nbsp;&nbsp;&nbsp;elseif VType == "T" then&nbsp;&nbsp;&nbsp;--Typical
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = ((Value(I,"M",ds) * 2 + Value(I,"C",ds))/3)
&nbsp;&nbsp;&nbsp;elseif VType == "W" then&nbsp;&nbsp;&nbsp;--Weighted
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = ((Value(I,"T",ds) * 3 + Value(I,"O",ds))/4) 
&nbsp;&nbsp;&nbsp;elseif VType == "D" then&nbsp;&nbsp;&nbsp;--Difference
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Out = (Value(I,"H",ds) - Value(I,"L",ds))
&nbsp;&nbsp;&nbsp;elseif VType == "A" then&nbsp;&nbsp;&nbsp;--Any
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ds then Out = ds&#91;I&#93; end
&nbsp;&nbsp;&nbsp;end
return Out
end
</pre>
============= <br />
			<i>27.03.2017 19:05:14, Егор Масалкин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23256/topic2657/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23256/topic2657/</guid>
			<pubDate>Mon, 27 Mar 2017 19:05:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
