私たちのファンページに参加してください
- ビュー:
- 1502
- 評価:
- パブリッシュ済み:
- 2016.10.25 08:23
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
実際の著者:
klot
高速フーリエ変換関数(fast Fourier transformation、FFT)のライブラリ
この指標は初めにMQL4で実装されコードベースで2006年10月2日に公開されました。
ライブラリは7の高速フーリエ変換関数を含みます。
- 複素関数のFFT(直接変換および逆変換)
- 実関数のFFT(直接変換および逆変換)
- 2つの実関数のFFT(直接変換)
- 高速離散サイン変換
- 高速離散コサイン変換
- FFTによる高速簡素化
- FFTによる高速相関
1. 複素関数のFFT(直接変換および逆変換)void fastfouriertransform(double& a[], int nn, bool inversefft);
このアルゴリズムは、実軸上のnn数によって定義された複素関数の高速フーリエ変換を行います。渡されたパラメータによって、直接/逆変換の両方が実行できます。
入力パラメータ:
- nn - 関数の値の数。2の累乗である必要があります。アルゴリズム渡された値の正しさをチェックしません。
- a - 配列 array [0 .. 2*nn-1] 。関数のReal Values 。要素 a[2*I] (実部)と a[2*I+1] (虚部)が初めの値に対応します。
- InverseFFT - 変換の方向。逆変換はTrueで直接変換はFalse。
入力パラメータ:
- a - 変換の結果。詳しくはhttp://alglib.net/fasttransforms/での説明をご覧ください。
2. 実関数のFFT(直接変換および逆変換)
void realfastfouriertransform(double& a[], int tnn, bool inversefft);
このアルゴリズムは、実軸上のn数によって定義された実関数の高速フーリエ変換を行います。渡されたパラメータによって、直接/逆変換の両方が実行できます。
入力パラメータ:
- tnn - 関数の値の数。2の累乗である必要があります。アルゴリズム渡された値の正しさをチェックしません。
- a - 配列 array [0 .. nn-1] 。関数のReal Values 。
- InverseFFT - 変換の方向。逆変換はTrueで直接変換はFalse。
入力パラメータ:
- a - 変換の結果。詳しくはhttp://alglib.net/fasttransforms/での説明をご覧ください。
3. 2つの実関数のFFT(直接変換)
void tworealffts(double a1[], double a2[], double& a[], double& b[], int tn);
このアルゴリズムは、実軸上のtn数によって定義された2つの実関数の高速フーリエ変換を行います。このアルゴリズムは時間を節約しますが、直接変換のみを行います。
入力パラメータ:
- tn - 関数の値の数。2の累乗である必要があります。アルゴリズム渡された値の正しさをチェックしません。
- a1 - 配列 array [0 .. nn-1] 。1番目の関数のReal Values 。
- a2 - 配列 array [0 .. nn-1] 。2番目の関数のReal Values 。
入力パラメータ:
- a - 1番目の関数のフーリエ変換
- b - 2番目の関数のフーリエ変換(詳細はウェブサイト)http://alglib.net/fasttransforms/
4. 高速離散サイン変換
void fastsinetransform(double& a[], int tnn, bool inversefst);
このアルゴリズムは、実軸上のtnn数によって定義された実関数の高速離散サイン変換を行います。渡されたパラメータによって、直接/逆変換の両方が実行できます。
入力パラメータ:
- nn - 関数の値の数。2の累乗である必要があります。アルゴリズム渡された値の正しさをチェックしません。
- a - 配列 array [0 .. nn-1] 。関数のReal Values 。
- InverseFST - 変換の方向。逆変換はTrueで直接変換はFalse。
入力パラメータ:
- a - 変換の結果。詳しくはhttp://alglib.net/fasttransforms/での説明をご覧ください。
5. 高速離散コサイン変換
void fastcosinetransform(double& a[],int tnn, bool inversefct);
このアルゴリズムは、実軸上のnn数によって定義された実関数の高速離散コサイン変換を行います。渡されたパラメータによって、直接/逆変換の両方が実行できます。
入力パラメータ:
- tnn - 関数の値の数引く1.2の累乗(例:1024)である必要があります。アルゴリズム渡された値の正しさをチェックしません。
- a - 配列 array [0..nn] 。関数の Real Values(例:1025)。
関数転送のための配列の準備の特異性:
int element_count2=ArrayResize(array,tnn1+1); // コサイン用 - InverseFCT - 変換の方向。逆変換はTrueで直接変換はFalse。
入力パラメータ:
- a - 変換の結果。詳しくはhttp://alglib.net/fasttransforms/での説明をご覧ください。
6. FFTによる高速簡素化
void fastcosinetransform(double& a[],int tnn, bool inversefct);
簡略化。関数の1つがシグナルとして想定されています。2つ目が応答と考えられています。
入力:
- Signal - 簡素化されるシグナル。実数配列で要素は0~SignalLen-1。
- SignalLen - シグナルの長さ。
- Response - 応答関数。これは引数の正及び負の値に対応する2つの部分から構成されています。
0~NegativeLenの配列要素に対応する-NegativeLen~0のポイントでの応答値。
NegativeLen+~NegativeLen+PositiveLenの配列要素に対応する1~PositiveLenの応答値。 - NegativeLen - 応答の「Negative length(負の長さ)」。
- PositiveLen - 応答の「Positive length(正の長さ)」。
[-NegativeLen, PositiveLen]を越した場合の応答はゼロです。
出力:
- Signal - 0~SignalLen-1のポイント単位での関数簡素化の値。
7. FFTによる高速相関
void fastcorellation(double& signal[], int signallen, double& pattern[], int patternlen);
入力:
- Signal - 相関が行われる配列シグナル。要素番号は0~SignalLen-1。
- SignalLen - シグナルの長さ。
- Pattern - 探しているシグナルの配列パターン相関。要素番号は0~PatternLen-1。
- PatternLen - パタンの長さ。
出力:
- Signal - 0~SignalLen-1のポイント単位での相関の値。より詳細な説明はウェブサイトをご覧ください。http://alglib.net/fasttransforms/
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/7000

この指標はAMkA指標の値に応じてより長い時間枠のローソク足を色で塗りつぶされた長方形として描きます。

AMkA_Signal指標は、固定された時間枠でのAMkA指標の値を使用して、現在の動向に関する情報を示します。

この指標は、より大きな次数の高調波の濾過によって価格時系列の平滑化を例示します。

この指標は、より大きな次数の高調波の濾過によってRSI指標の価格時系列の平滑化を例示します。