GRAALに向かう途中のエッジ効果 - ページ 2

 
そして、どんなウェーブレットを使ったかというと、Matlabのウェーブレットを使いました。エッジ効果はあまり見られないようですが、もちろんあります(仕方がないことです)。ネットワークが非常にクールに学習したデータで、メッシュを学習するのは簡単なようですが、新しいものには - 地獄です。特にラグスペースを適用した場合、ウェーブレットは良いものであるという結論に達しました。しかし、今のところ実際に応用しているわけではありません。
 
vladevgeniy писал(а)>>
また、どのようなウェーブレットを使用されたのですか?エッジ効果が目立たなくなったようですが、もちろんあります(仕方ないですね)分解(近似)やニューラルネットワークの適用も試してみました。ネットワークが非常にクールに学習したデータで、メッシュを学習するのは簡単なようですが、新しいものには - 地獄です。特にラグスペースを適用した場合、ウェーブレットは良いものであるという結論に達しました。しかし、今のところ実際に応用しているわけではありません。

Dobeshiウェーブレットを使用。Meyerウェーブレットはエッジ効果が出にくいと言われていますが、まだ試していないんです。

それぞれの方式をプログラムするのに時間がかかるということです。

Matlabのウェーブレットとは何ですか?私はMatlabで仕事をしたことがないんです。

多項式のことでしょうか?その効果はいかがでしたか?

 
Desperado писал(а)>>

レベルを超えても、あまり魅力的な結果にはなりません。これも思い当たる節があります。

指標では、高値と安値の分布はガウス則に従うが、手数が異なるだけである。

高値は約0.3、安値は約-0.3です。

バーが高いほど、シグナルの信頼性が高く、数が少ないことを意味します。

それに、毎月200ポイントも貯まるのはおもしろくないですしね :)

はい、残念ながら歪みかラグのどちらかです。

私は正規のガウス分布が好きではありません。対数正規がいい。しかし、それは残念ながら、すべての人に当てはまるわけではありません。上に書いたように)フィッティングで近似するのが合理的という結論に達しました。そして、その結果、何か面白いことがあれば、分布関数を調整します。一般的に偏差は大きくないので、信頼できると思います。

 
Desperado、matlab、matlab toolbox on waveletsのいずれかを使用します。必要な分解とディテール、近似性を得ることができる。M関数が書かれた後、遷移型DLLが使用され、DLLを介してメトリックに接続されます。メイヤー機能もあるような、ないような、覚えていないような。しかし、プログラミングの時間を短縮することができます。行列をMatlabから通常の変数に変換して戻すのには、かなり苦労しましたけど。Delphiで書かれた有名なライブラリをC++に書き換えてみた(ネットにたくさんある)。そこで、最も強いエッジの歪みが観測されました。しかし、Matlabにはそのようなものはありません。カーブもしますが(トレンドの際にエッジにフックを描くのが好きです)。必要なウェーブレットをMatlabで簡単に構築してみて、その結果が気に入れば、DLLを介してMtに接続することができます。
 
vladevgeniy писал(а)>>
Desperado、Matlabのツールボックスのウェーブレットにあるものであれば、どれでもOKです。必要な分解と、詳細・近似を得ることができます。M関数を書き、遷移DLLを書き、DLL経由でMTに接続する。メイヤー機能もあるような、ないような、覚えていないような。しかし、プログラミングの時間を短縮することができます。行列をMatlabから通常の変数に変換して戻すのには、かなり苦労しましたけど。Delphiで書かれた有名なライブラリをC++に書き換えてみた(ネットにたくさんある)。そこで最も強いエッジの歪みが観測されたのです。しかし、Matlabにはそのようなものはありません。カーブもしますが(トレンドの際にエッジにフックを描くのが好きです)。必要なウェーブレットをMatlabで簡単に構築してみて、その結果が気に入れば、DLLを介してMtに接続することができます。

ありがとうございました。実はこれ、私が使ったデルフなんです :)モジュールだけがあったので、それをライブラリに再利用しました。

まずはMatlabを探してみます。

 
infinum13 писал(а)>>

正規のガウス分布は好きではない。対数正規が良い。しかし、それも残念ながら、すべての人に合うわけではありません。上に書いたように)フィッティングで近似するのが合理的という結論に達しました。そして、その結果、何か面白いことがあれば、分布関数を調整することにしています。総じて偏差値は大きくないので、こちらも信頼できる。

あなたのアルゴリズムを試しました。原理的に期待通り、細かいノイズを除去することができます。小周期と大周期のTFで効果を発揮します。

それを使って何ができるかを考えてみます。

赤線で示したのがその結果である。そして、緑の線のようなものが必要です。

 

Matlabでは分解レベルが大きいので、そういう緑色の線が出ます。すべて1行のコードで完了します。ウェーブレットデノイジングの特別なモードがあり、ウェーブレットの種類を選択し、さらにいくつかのパラメータがあります。主なタスクは、トランジェントDLの作成です。あのデルフモジュールは、エッジ効果が非常に強いですね。どのようにしてかは知りませんが、Matlabでは非常に少なくなっています。時には全くないようにさえ見えます。

最新のMatlabはtorrentで4ギガ近くあります( ))))使ったほうがいい。確認したところ、DLLは正常にコンパイルされ、ドッキングも正常に行われました。

 

添付の記事より

私たちのアプリケーションである予測は、最終的な値が私たちにとって非常に重要であることを示しています。時系列は有限であり、値n, n-1, n-2, ...は我々にとって最大の関心事である。このような境界(エッジ)を扱うには、どんな対称的なウェーブレット関数でも問題である。また、ウェーブレット係数が「未来」のデータ値から計算されたものである場合は、使用できません。asymmetric filter 、この問題を回避することができるのです。このようなウェーブレット関数は、私たちにとって重要なエッジを適切に処理することができます。境界を構成する時系列の最初の値も、結果的に任意に扱えるかもしれないが、実用上は問題ない。

私の理解では、非対称関数は、時系列の以前の値のみに基づいています。

対称的 - 過去と未来の価値について。例えば、ここではCDF 9/7アルゴリズムから。

// 予測1

a=-1.586134342;

for (i=1; i<n-2; i+=2) {.

x[n-1]+=2*a*x[n-2]とする。

}

x[i]+=a*(x[i-1]+x[i+1]);

最後の一行が生み出すエッジ効果。

ちなみに記事によると、インディーケが書いたそうです。

ここでは、各ウェーブレット係数は、行の前の値に対してのみ計算されます。

もちろん、揃えることは可能です。

未知領域は対称関数で、x[n-1]+=2*a*x[n-2]のようなもので埋め尽くされます。

描き直すことになっているのです。

遊んでみたい方はこちら

ファイル:
 
vladevgeniy писал(а)>>

Matlabでは分解レベルが大きいので、そういう緑色の線が出ます。すべて1行のコードで完了します。ウェーブレットデノイジングの特別なモードがあり、ウェーブレットの種類を選択し、さらにいくつかのパラメータがあります。主なタスクは、トランジェントDLの作成です。あのデルフモジュールは、エッジ効果が非常に強いですね。どのようにしてかは知りませんが、Matlabでは非常に少なくなっています。時には全くないようにさえ見えます。

最新のMatlabはtorrentで4ギガ近くあります( ))))使ったほうがいい。確認したところ、DLLはうまくコンパイルされ、うまくドッキングされました。

RTFM的な質問で申し訳ないのですが、簡単に説明していただけませんか?

MathLabでDLLを作成し、MT4から呼び出すには?

可能であれば、例を挙げて。

 

ああ、数ヶ月前なら楽勝だったんですけどね。もうすっかり忘れてしまいましたが。でも、Matlabでは標準的なもので、マニュアルに説明があります。一般に、Matlabでは非常に質の高いヘルプを見つけることができます。コンパイル後、.dllとlibファイルが作成され、その他にも重要でないものがいくつか作成されます。mファイルにはmatlab言語で書かれた関数があり、この関数は中間DLLから呼び出されます。まずそこで初期化を呼び出せばいいだけなのですが、まあhelpeにはそれがあります。ただし、「しかし」があります。変数 double string などを mxArray にオーバーロードし、Matlab で関数を呼び出し、C に戻す必要があります。

以下は、C言語でmxArrayを操作する例です。

mxArray *inm = mxCreateDoubleMatrix(1,size,mxREAL); 入力配列に対して作成されたサイズのmxArray変数
memcpy(mxGetPr(inm), &in[0], size*sizeof(double)); 入力配列からの変数で埋め尽くされます。

とすると、matlab の関数が呼び出されます。

の場合,mxArray の出力配列は double に変換されます.

// ---------------------- mxArray を double に変換します ------
memcpy(out, mxGetPr(outm), size*sizeof(double)).


今くらいの時期なので、正確には覚えていないのですが。

mxArrayを使用するためのインクルージョン

#include "mex.h"

は、matlab フォルダにあります。