インディケータ: FIR_filter

 

FIR_filter:

 デジタルフィルタで計算された移動平行線。

FIR_filter

作者: Vladimir

 
そして、なぜPIの数字が それほど正確な のか?
 

DC2008:
А зачем такая точность числа ПИ? 

あまり考えたことはない。ググればどんな高精度の定数でも簡単に見つかる。metatradairがそのような高精度を必要としないのであれば、小数点以下何桁を捨てるかを自動的に判断してくれるのだろう。
 

計算式は正しいですか?http://dspsystem.narod.ru/add/win/win.html と比較してみてください。

Скользящая средняя на основе цифрового фильтра. В данном примере используется Hann Window. Для изменения коэффициентов фильтра, редактируйте следующие строки в OnInit():

用語についてですが、フィルター係数ではなく、窓係数を変更しています。これらは別のものです。あなたの例では、デジタル・フィルター(DF)は移動平均(MA)で あり、 それ(MA)はどのような窓(それらのごく一部は上記のリンクに示されています)でも使用することができます。各ウィンドウ(たくさんありますが)には特定の目的があります。通常、それはDFの何らかの特性を向上させますが、そのためには代償を払う必要があります。

円周率の精度に関しては、精度は決して不要なものではない。結果をロードする時間は必ず あります 。ここにhttps://www.mql5.com/ja/code/8309、それを設定する簡単な方法があります

とても素晴らしい解決策です。

 pi = 4*MathArctan(1);
 
Prival:

円周率の正確さに関しては、正確さは決して必要ない。いつでも結果を読み込む ことが できる。https://www.mql5.com/ja/code/8309。

円周率を変数として定義してはいけない。定数にしてください。

しかし、余分な文字数も必要ない。doubleの場合、格納できる文字数はわかっている。

 
lea:

円周率を変数として定義すべきではありません。定数にした方がよい。

しかし、余分な文字数も必要ない。doubleの場合、格納できる文字数は決まっている。

πが最大精度で定義されていなかったせいで、私は2週間も時間をロスした。matkadで得られたスペクトルの構成と、FFTライブラリhttps://www.mql5.com/ja/code/9696。
 
Prival:

計算式は正しいですか?http://dspsystem.narod.ru/add/win/win.html と比較してみてください。

用語についてですが、申し訳ありませんが、フィルター係数ではなく、窓係数を変更しています。これらは別のものです。あなたの例では、デジタル・フィルター(DF)は移動平均(MA)で あり、 それ(MA)はどのような窓(それらのごく一部は上記のリンクに示されています)でも使用することができます。各ウィンドウ(たくさんありますが)には特定の目的があります。通常、それはDFの何らかの特性を向上させますが、そのためには代償を払う必要があります。

ハーン・ウインドウや他の類似のウインドウには異なる公式があります。考えてみればどれも同じです。リンク先の式には大きな欠点がある。n=0とn=N-1で窓の値がゼロになることだ。価格にゼロを掛ける意味はないので、窓はn=1...n=N-2の価格に対してのみ存在することがわかります。ここで、窓がゼロにならない価格の数をPerとすると、N-2=PerまたはN=Per+2となる。このNをリンク先のHahnの式に代入すれば、私の式と同じになります。

インジケーターの名前について。 名前は正しい。定義によれば、私が構築したものは有限インパルス応答を持つデジタル・フィルター である

FIRフィルタの出力をその入力に関して定義する差分方程式は 次の通りです:

y[n]=b_0 x[n] + b_1 x[n-1] + ...+ b_N x[n-N]

ここで

  • x[n] は入力信号、
  • y[n] は出力信号、
  • biはフィルタ係数
  • Nは フィルタ次数である。

http://e n.wikipedia.org/wiki/Finite_impulse_response

私は21年間電子工学に携わってきた。いつもコメントをありがとう。知識豊富な人たちと話すのは楽しいよ。

 
gpwr:

ハーン・ウインドウや他の似たようなウインドウには異なる計算式がある。考えてみればどれも同じである。リンク先の式には大きな欠点がある。n=0とn=N-1で窓の値がゼロになることだ。価格にゼロを掛ける意味はないので、窓はn=1...n=N-2の価格に対してのみ存在することがわかる。ここで、窓がゼロにならない価格の数をPerとすると、N-2=PerまたはN=Per+2となる。このNをリンク先のHahnの式に代入すれば、私の式と同じになる。

....

wikipediaのリンクありがとう。 君がやったことを数式で示そうと思う。

あなたの場合、この式を次のように書いた方がより正確でしょう。

y[n]=a_0*b_0* x[n] +a_1*b_1* x[n-1] + ...+a_N*b_N* x[n-N] ...

x[n]は入力信号である、

y[n]は出力信号である、

biはフィルタ係数、そして

а[i]は 窓係数である、

Nはフィルタの次数

つまり、DF係数(b)と窓係数(a)を畳み込んだことになる。

窓関数の書き方が異なるのはその通りです。しかし、この違いは、畳み込みが周波数領域か時間領域か、どちらの領域で行われるかによって生じます。そして、これらの公式はフーリエ変換(http://ru.wikipedia.org/wiki/Оконное_преобразование_Фурье)によって固く結ばれています

式は似ているが、どちらの領域で畳み込みを行うかを混同してはならない。

次にnについて。式では、0から始まるか1から始まるかが非常に重要である(「...ウィンドウはn=1の価格に対してのみ存在する......。n=N)、1だけずらすと、すべてがずれるので、N-1が Nに なり、N-2に ならない。

ハーンの窓の正確な式は次のようになる。

p(t) = 0.5[1+cos(pi*t/tac)].

このトピックをもう少し深く掘り下げたい方のために、講義を収録したファイルを添付しておきます。

トレーダー向け

皆さんがご存知の例を使って、私たちが話していることを説明しようと思います。

https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma

誰もが知っている

(a) 単純移動平均(SMA)。

そのウィンドウは長方形で、すなわち、各価格値は、履歴の深さに関係なく、同じ重みa[i]=1を持ちます。

b) 線形加重移動平均 (LWMA)

加重移動平均では、直近のデータに重みが与えられ、それ以前のデー タには重みが与えられません。

すなわち、窓係数a[1]=1、a[2]=1/2、a[3]=1/3 ......a[n]=1/n

SO. gpwr 無線エンジニアは、電子エンジニアと常に共通言語を見つけることができる。

ファイル:
dsp.rar  1811 kb
 

価格、終値、単純移動平均の3つの指標のみ。