赫斯特指数 - 页 18

 
surfer >> :

我只是在指标中的一个地方犯了一个错误。

加权系数并没有给出什么,只是千分之一的差别。

嗯,事实上,它的反弹,是的。

你试过第二个功能吗?

如果能看到图片就好了...不是指标的问题,而是结果线本身的问题。

 
TheXpert >> :

你试过第二个功能吗?

我想看一些照片...不是指标的问题,而是结果线的问题。

我还没有试过第二个。

我不知道你想看什么照片。

我给你指示器,也许它能显示图片 :)


附加的文件:
ivar_2.mq4  5 kb
 
Prival >>:

Ерунда какая то с этим херстом. Добиться 0.5 не получилось (хотя давал на вход rnd()). Единицы тоже не получилось добиться, хотя подавал x(i)=i (ряд все время растет)

Файл прилагаю, версия маткада 14

如果你不从1到10取N,而是至少取到3000,那么一切都会有效。

你的第二个版本的计算也是正确的--再次,输入更多的数据...

 
tenyps писал(а)>>

如果你不从1到10取N,而是至少取到3000,那么一切都会有效。

你的第二个版本的计算也是正确的--再次,输入更多的数据...

下一步是什么?钉子,与商数没有关系,还是我错过了什么?

 

下午好)我已经部分阅读了所有的页面,但不幸的是,我并不了解所有的算法。一个类似的问题已经在这里飞过了。据我所知,MQL4和C语言的语法大致相同,但结构不同,而且有更多的 "库 "有不同的统计功能。

我已经用C语言写了这个算法,所以这里有一点代码。


double Herst( double *S, int n)

{

double *h1 = (double *) malloc(sizeof(double ) * n),

*h2 = (double *) malloc(sizeof(double ) * n),

*h = (double *) malloc(sizeof(double ) * n),

*Hn = (double *) malloc(sizeof(double ) * n),

h_ = 0, Rn = 0, Sn = 0, RSn = 0。

h[0]=0,h[1]=0,Hn[0]=0,Hn[1]=0。

if( h == NULL || Hn == NULL || h1 == NULL || h2 == NULL )

{

printf("not enough memory!!\n")。

返回-1。

}

for( int i = 1; i < n; i++ ) h[i-1] = log( S[i] / S[i-1] ) 。

for(int i = 1; i < n; i++ ) Hn[i] = Hn[i-1] + h[i-1] 。

if( (n - 1) != 0) h_ = Hn[n - 1] / ( n - 1 ) 。

h2[0] = (h[0] - h_) * (h[0] - h_)

h1[0] = (h[0] - h_)。

for( int i = 1; i < n - 1; i++ )

{

h1[i] = h1[i-1] + (h[i] - h_)。

h2[i] = h2[i-1] + (h[i] - h_) * (h[i] - h_)。

}

qsort( (double *)h1, n-1, sizeof(T), Comp ) 。

Rn = h1[n - 2] - h1[0]。

if( (n - 1) != 0 ) Sn = h2[n-2] / ( n - 1 ) 。

if( (n - 1) == 0 ) Sn = h2[n-2];

RSn = Rn / Sn。

自由(h)。

free(hn)。

free(h1);

free(h2)。

返回RSn。

}


然后把阵列塞进阵列。

for( int i = n_min; i < n; i++ )

{

x1[i - n_min] = log( double( i * 0.5) )

y1[i - n_min] = log( Herst( S1, i ) 。

}

并使用ANC画出一条直线。

问题 - 我偶尔会遇到一个高于1的值,但非常少。我不明白这个错误是什么。我在简单的线条上检查了ANC ( y=ax+b, for a={0,0.5,1,2,3} and b = {-1,0,1,2} )

如果前3-5个样本值的标准差为0呢?所以RS等于无限大,只是不考虑这些点?

哦,最主要的是--我站在点的顺序上是对的吗(一开始是n_min,然后是相同的n_min+下一个值,等等),还是我应该把n的段分成一些相等的部分,然后为每个部分计数?

我试图自己弄清楚,但两周后我放弃了。该算法基于以下书籍--彼得斯的 "金融市场分形分析 "和希尔耶夫的 "金融数学基础"。

 
Disa >>:

День добрый) Прочитал частично все страницы, но к сожалению не все алгоритмы понял.


请原谅我没有回答这个问题,但它可能会派上用场。
不过,有了一个测试案例。
严格按照彼得斯《金融市场的分形分析》。

附加的文件:
 
Vita >>:

Пардон, что не по вопросу ответ, но возможно пригодится.
С тестовым примером зато.

测试文件本身。H~0.72

附加的文件:
brown72.txt  10 kb
 
为了加快计算速度,我做了一个长的转换,
,最后得到了这个简化的赫斯特指数公式:
for(i=limit;i>=0;i--)
    {double LWma=iMA(NULL,0,period,0,MODE_LWMA,PRICE_CLOSE,i);
     double Sma=iMA(NULL,0,period,0,MODE_SMA ,PRICE_CLOSE,i);     
     double Bma=iBands(NULL,0,period,1,0,PRICE_CLOSE,MODE_PLUSDI,i);
     if(Bma!=Sma) e0[i]=(LWma - Sma)/(Bma-Sma);           
    } 
这在逻辑上似乎是正确的,
,尽管没有对数。
 
Urain >>:
Долго преобразовывал чтоб ускорить расчёт,
в результате получил вот такую упрощённую формулу для показателя Херста :
логически вроде бы всё верно,
хотя без логарифмов.

这并不是赫斯特指数的简化公式。你错了。
计算赫斯特数字的方法有很多,而且都是劳动密集型的。你简化了哪一项?
而你的公式可能小于零,这一点都没有帮助。

 
Vita >>:

Это не упрощенная формула для показателя Херста. Вы заблуждаетесь.
Способов расчета показателя Херста много и все они трудоемки. Вы какую упрощали?
И ваша формула по ходу может быть меньше нуля, что совсем не кстати.

这不是关于绝对的数字,而是关于这个想法。

该公式显示了回归率(角度)与标准差的比率,我认为这符合赫斯特的精神。