ハーストの索引 - ページ 18

 
surfer >> :

インジケーターの1カ所を間違えただけです。

重み付け係数は何も与えず、千分の一の差になる。

まあ、弾むということは、そうなんですけどね。

2つ目の機能は試されましたか?

写真があると嬉しいのですが・・・。指標ではなく、結果線そのものを表しています。

 
TheXpert >> :

2つ目の機能は試されましたか?

写真も見たいし...。指標ではなく、結果線。

2作目は試していない。

どんな写真が見たいのかよくわからない。

インジケーターを表示させれば、写真が表示されるかも?)


ファイル:
ivar_2.mq4  5 kb
 
Prival >>:

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

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

1から10までではなく、少なくとも3000までなら、すべてがうまくいく。

2つ目のバージョンの計算も正しい - もう一度、より多くのデータを供給してください...

 
tenyps писал(а)>>

1から10までではなく、少なくとも3000までなら、すべてがうまくいく。

2つ目のバージョンの計算も正しい - もう一度、より多くのデータを供給してください...

次はどうする?Pinned、商との関連はないのか、それとも何か見逃しているのか?

 

こんにちは)全ページを部分的に読みましたが、残念ながらすべてのアルゴリズムが理解できません。ここでもすでに似たような質問が飛んでいる。私が理解した限りでは、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("メモリが足りません!!💢");

を返す -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。

free(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より大きい値に遭遇することがありますが、非常に稀です。何がエラーなのか理解できない。単純な直線(y=ax+b, a={0,0.5,1,2,3}, b={-1,0,1,2} )でANCを確認しました。

最初の3~5個のサンプル値について、標準偏差が0であった場合はどうでしょうか。RSは無限大に等しく、これらの点を考慮しないだけなのですね。

それとも、nのセグメントをいくつか等分して、それぞれをカウントすればいいのでしょうか?

自分で考えてみたが、2週間後には諦めてしまった。このアルゴリズムは、Peters著「Fractal Analysis of Financial Markets」、Shiryaev著「The Fundamentals of Financial Mathematics」という書籍に基づいている。

 
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 >>:
Долго преобразовывал чтоб ускорить расчёт,
в результате получил вот такую упрощённую формулу для показателя Херста :
логически вроде бы всё верно,
хотя без логарифмов.

これはハースト指数の簡略化した計算式ではありません。あなたは勘違いしています。
ハーストの数字を計算する方法はいろいろありますが、どれも手間がかかります。どれを簡略化したのですか?
そして、計算式が0以下になってしまうこともあり、全く参考になりません。

 
Vita >>:

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

絶対的な数字ではなく、発想が大切です。

この式は、回帰率(角度)と標準偏差の比を示すもので、ハーストの精神を受け継いでいると思います。