<?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>Mon, 27 Apr 2026 20:54:16 +0300</pubDate>
		<item>
			<title>Использование части данных другого индикатора в коде</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47376/topic5702/">Использование части данных другого индикатора в коде</a></b> <i>Работа с типовым шаблоном индикатора</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>function CMOExtremum ()
local CMOlenght = 20 
local FCMO = CMO()

return function (I, Fsettings, ds)

local CMOValues = {}

CMOValues&#91; 1 &#93; = FCMO(I, Fsettings, ds)
CMOValues&#91; 2 &#93; = FCMO(I + 1 , Fsettings, ds)

return CMOValues&#91; 2 &#93;
end 
end 
</pre>
=============
 &nbsp;<br />Добрый день!<br />Для расчета индикатора мне нужны пара десятков последних значений индикатора CMO, который я рассчитываю в этом же файле.<br /><br />Я предположил, что для этого мне нужно создать массив, в который вызвать функцию СМО для значений индекса от I до I-20<br />Но получается какая-то ерунда.<br />Т.е. если смотреть код выше: если возвращать CMOValues&#91;1&#93;, то выход индикатора совпадает с СМО<br />Ожидается, что возврат CMOValues&#91;2&#93; даст ту же картину, но смещенную на один бар назад.<br />Но нет. Получается совсем другая кривая.<br /><br />Предположу, что нужно задействовать Squeeze и GetValueEX, не предположу как. <br />Подскажите, пожалуйста, как решить задачу эффективно?<br /><br />Для понимания опишу постановку. При возникновении экстремума на CMO 
====code====
<pre>if CMOValues&#91; 2 &#93; &#62; CMOValues&#91; 1 &#93; and CMOValues&#91; 2 &#93; &#62; CMOValues&#91; 3 &#93; then 
maxCMO1 = CMOValues&#91; 2 &#93;
end 
if CMOValues&#91; 2 &#93; &#60; CMOValues&#91; 1 &#93; and CMOValues&#91; 2 &#93; &#60; CMOValues&#91; 3 &#93; then 
minCMO1 = CMOValues&#91; 2 &#93;
end 
</pre>
=============
 &nbsp;найти ближайший того же типа (мин, макс) и сравнить их значения.<br />В зависимости от их соотношения выдать сигнал <br />
			<i>31.07.2020 10:37:47, Kaavan.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47376/topic5702/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47376/topic5702/</guid>
			<pubDate>Fri, 31 Jul 2020 10:37:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
