<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Показатель Херста]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=91</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=91&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Показатель Херста».]]></description>
		<lastBuildDate>Tue, 20 Feb 2018 18:56:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Показатель Херста]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2194#p2194</link>
			<description><![CDATA[<p>а что именно им можно увидеть,кроме одинаковых значений временных рядов??</p>]]></description>
			<author><![CDATA[null@example.com (ivan446)]]></author>
			<pubDate>Tue, 20 Feb 2018 18:56:51 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2194#p2194</guid>
		</item>
		<item>
			<title><![CDATA[Re: Показатель Херста]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=555#p555</link>
			<description><![CDATA[<p>Ну вот продолжение, не жалко</p><div class="codebox"><pre><code>function Hurst()
    local RS = RSn()
    local Xn = 0
    local Yn = 0
    return function(ind, accuracy, min_length, v_t)        
        local index = ind
        local v_type = v_t
        local min_len = min_length 
        local acc = accuracy
        local p = math.pow(2,acc)*min_len+1
        
        local Hurst = 0  
        local c1 = 0
        local c2 = 0
        local g1 = 0
        local g2 = 0
        
        if index&lt;=p then
            return nil
        end
        
        for i = 1, acc do
            local len = min_length*math.pow(2,(i-1))
            Xn = math.log(len) 
            local RSi =  RS(index,p,len,v_type)
            Yn = math.log(RSi)
            c1=c1+Xn*Xn
            c2=c2+Xn
            g1=g1+Xn*Yn
            g2=g2+Yn
        end        
        Hurst =  (acc*g1 - c2*g2)/(acc*c1 - c2*c2) 
        return Hurst      
    end
end</code></pre></div><p>И как бы конечный файл<br /></p><div class="codebox"><pre><code>dofile(getWorkingFolder() .. &quot;\\Include\\fractal_dimension.lua&quot;) 

Settings = 
{   
    --период равен min_len*2^accuracy
    Name = &quot;Hurst&quot;, 
    accuracy = 4, -- минимум 4
    min_len = 3, -- минимум 3    
    value_type = &quot;C&quot;, 
    line=   { 
                {
                 Name = &quot;Hurst&quot;,
                 Color = RGB(180, 200, 240),
                 Type = TYPE_LINE,
                 Width = 2 
                }
            } 
} 

function Init() 
    Dimension = Hurst()
    return 1
end

function OnCalculate(index)  
    local FD = Dimension(index, Settings.accuracy, Settings.min_len, Settings.value_type)      
    return FD
end</code></pre></div><p>Считается довольно-так долго, и желательно параметры выше текущих значений не задирать</p>]]></description>
			<author><![CDATA[null@example.com (jestpounder)]]></author>
			<pubDate>Sat, 29 Mar 2014 08:54:28 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=555#p555</guid>
		</item>
		<item>
			<title><![CDATA[Re: Показатель Херста]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=554#p554</link>
			<description><![CDATA[<p>Спасибо, бум изучать )</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Fri, 28 Mar 2014 17:21:18 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=554#p554</guid>
		</item>
		<item>
			<title><![CDATA[Показатель Херста]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=551#p551</link>
			<description><![CDATA[<p>Добрый день!</p><p>Пытаюсь воспроизвести в коде идею из этой статьи [url]http://www.math.spbu.ru/user/gran/soi5/Gatchkov5.pdf[/url]<br />Получилось пока вот что:</p><div class="codebox"><pre><code>--считает приращение
function increment_series()
    return function(ind, v_t)        
        local v_type = v_t 
        local index = ind 
        if index == 1 then 
            return nil 
        end        
        local n = math.log(dValue(index, v_type)/dValue(index-1, v_type))
        return n 
        end
end

--считает среднее значение приращений
function average_increment_series()
    local inc = increment_series()
    return function(ind, period, v_t)
        local index = ind
        local v_type = v_t
        local p = period
        local avg = 0
        local sum = 0
        if index&lt;=p then
            return nil
        end        
        for i = index-p+1, index do 
            sum=sum+inc(i,v_type)
        end
        return  sum/p
    end
end

--функция считает RS для разбиения на отрезки длиной len
function RSn()
    local inc = increment_series()
    local avg_inc = average_increment_series()      
    return function(ind, period, length, v_t)
        local p = period
        local index = ind
        local v_type = v_t
        local len = length 
        local N = math.floor((p-1)/len)
        local RS_sum = 0  
        if index&lt;=p then
            return nil
        end        
        for i = 1, N do
            local Dka = (inc(index-(i-1)*len,v_type) - avg_inc(index-(i-1)*len,len,v_type))
            local Xka = Dka
            local Xka_min = Dka
            local Xka_max = Dka
            local Xka2 = Dka*Dka
            for k=2, len do
                Dka=(inc(index-(i-1)*len+(1-k),v_type) - avg_inc(index-(i-1)*len,len,v_type)) -- отклонение k из отрезка i                 
                Xka=Xka+Dka
                Xka2=Xka2+Dka*Dka
                if Xka&lt;Xka_min then
                    Xka_min = Xka
                end
                if Xka&gt;Xka_max then
                    Xka_max = Xka
                end
            end
            local Ri = (Xka_max - Xka_min)
            local Si = math.sqrt((1/len)*Xka2)            
            RS_sum = RS_sum+(Ri/Si)
        end
        return RS_sum/N
    end
end</code></pre></div><p>Осталось только рассчитать сам показатель Хёрста и понять как это можно применить. Это так, в качестве примера индикатора.</p>]]></description>
			<author><![CDATA[null@example.com (jestpounder)]]></author>
			<pubDate>Thu, 27 Mar 2014 06:52:37 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=551#p551</guid>
		</item>
	</channel>
</rss>
