デジタルフィルターに基づく取引戦略 - ページ 71

 
mrtools:
これは偽の戦略なので、このトレードは今起こっていないと推測します。私たちは「トワイライトゾーン」にいると推測します

このストラテジーにSSAを使用した場合、サイクルグラフだけでなく、売りシグナルも塗り替えられて いる可能性が高いと思われます。必ずしもそうである必要はないのですが、その可能性は大いにあります。

SSAは強力なノイズ除去・デトレンダーですが、リアルタイムトレードでの非カジュラルバージョンの使用は限定的で、リペイントの影響とノイズ・デトレンドの影響の組み合わせで改善された結果だと思います。

個人的には、私はSSAとHPフィルタのカズラルバージョンを使っているので、気になりません。

クシシュトフ

 

サンプル切れ

Richcapさん、こんにちは。

あなたのMESAシステムから、適切なアウトオブサンプルの結果を示すことができますか?

私の側からは、以下の入力のストラテジーから結果を得ることができます。

サイクルは、エーラーの方法で測定

NOXAの方法で測定されたサイクル

Goertzelで測定されたサイクル

SNはEhlers法で測定

シグナルビンを使ってCB法でSNを測定

もちろん、これにJurikのMAやVOL、RSXのようなオリジナルバージョンを追加することは可能です。

私が持っているJurik MA、VOL、RSXのようなオリジナルバージョンを追加することも可能です。

Goertzelの再描画の問題ですが、SSAだけでなく、設計上、新しいバーが来るたびに元のサイクルカーブを再描画してしまうため、新しいバーの情報によりバーごとに異なるカーブを再描画することになります。

私は再描画しない完全なバージョンにそれを再プログラムしたが、まだリアルタイムでテストしていないので、私は本当にそれがどのように実行されるかを知らない。

オフラインはOKです。

Krzysztof

ファイル:
scr1.jpg  81 kb
scr2.jpg  90 kb
 
fajst_k:
Richcapさん、こんにちは。

では、あなたのMESAシステムから、適切なアウトオブサンプルの結果を示すことができるのでしょうか?

私の方では、次のような入力のストラテジーから結果を得ることができます。

サイクルの測定:Ehlers法

NOXAの方法で測定したサイクル

Goertzelで測定されたサイクル

SNはEhlers法で測定

シグナルビンを使ってCB法でSNを測定

もちろん、これにJurikのMAやVOL、RSXのようなオリジナルバージョンを追加することは可能です。

私が持っているJurik MA、VOL、RSXのようなオリジナルバージョンを追加することも可能です。

Goertzelの再描画の問題ですが、SSAだけでなく、設計上、新しいバーが来るたびに元のサイクルカーブを再描画してしまうため、新しいバーの情報によりバーごとに異なるカーブを再描画することになります。

私は再描画しない完全なバージョンにそれを再プログラムしたが、まだリアルタイムでテストしていないので、私は本当にそれがどのように実行されるかを知らない。

オフラインはOK

クシシュトフ

Krzysztofのメッセージの意味は何ですか?何か売っているのでしょうか?

私は何か価値あるものを待っているのですが、何も見当たりません。

私は、あなたに大量のコードを共有することを求めていません(私がしたように)、私はあなたに1つの 良いアイデアを与えて欲しいだけです。

あなたは本当にあなたの投稿#582であなたの会費を支払ったと思っていますか?

PicBuf=i*MathPow(10,-1*digs);」という記述は何なのですか?

なぜMathPow(10,-1*digs) PicBufが必要なのか、PicBufとは一体何なのか?

MESA解析でピークのカウントとタグ付けだけを行うために私が書いたコードを見れば、なぜ私があなたに満足していないのかが分かると思います。

/*

* This function fills an array with 'amplitude' and 'frequency' (0 < f < Fn=0.5, Nyquist normalized freq) values

* of the peaks (and following valleys) under f_max and above f_min frequency by finding local maxima

* with a bisection equivalent algorithm.

* It returns the number of calculated peaks

*/

int peaksVector (

double& peaks[], // this vector must be dimensioned to 4*degree

double f_max, // the frequency under which to search peaks (f_max < Fn)

double f_min, // the frequency above which to search peaks (f_max > 0 )

double& aa[], // autoregression coefficients

int degree) // order of autoregression

{

double frequency, Qn, delta_f, delta_f2;

double s1, s2;

double f1, f2, fm, d1, d2, dm;

double tolerance=0.01; // zero (maximum) finding tolerance (we don't need a very high precision

double fine_stepping = 1.0 / 10.0; // 2nd level stepping for local minimum/maximum search

int count=0, i;

bool growing=true;

// check for Nyquist

if (f_max > 0.5) f_max=0.5;

// First evaluate Qn to set proper resolution delta_f... (see (II-70) formula in Burg's PhD thesis)

/*

Qn=1.0;

for (i=0; i<degree; i++)

{

Qn=Qn*(1.0+MathAbs(aa))/(1.0-MathAbs(aa));

}*/

Qn=50; // above formula gives too high Qn, to be verified

delta_f=1.0/(degree*Qn);

// ...then starts to find peaks (and valleys)

s1=spectrumValue(f_min+delta_f,aa,degree);

peaks[0]= s1; // include first point ...

peaks[1]= f_min+delta_f; // ... and frequency

i=2;

d1=spectrumValue(f_min+delta_f*(1.0+fine_stepping),aa,degree) - s1 ;

if (d1 < 0)

growing=false; // set initial slope direcion

for (frequency=f_min+2*delta_f; frequency = f_max && !growing); frequency+=delta_f)

{

s2=spectrumValue (frequency,aa,degree);

if (s2>s1 && growing)

{

s1=s2; // updates new maximum

}

else if (s2<=s1 && growing) // found an interval in which there is a local maximum??

{

// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]

f1=frequency-2.0*delta_f;

f2=frequency;

delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

while (true)

{

// try to find maximum value by evaluating central point's slope

fm = (f1+f2)/2.0;

dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);

if ( MathAbs(dm) < tolerance)

break;

if (dm < 0.0) f2=fm;

else f1=fm;

delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

}

peaks= spectrumValue (fm,aa,degree);

peaks=fm;

i+=2;

count++; // increments number of peaks

growing=false; // after a peak there must be a valley, so the funcion starts to decrease

}

else if (s2<s1 && !growing)

{

s1=s2; // updates new minimum

}

else if (s2>=s1 && !growing) // found an interval in which there is a local minimum??

{

// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]

f1=frequency-2.0*delta_f;

f2=frequency;

delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

while (true)

{

// try to find maximum value by evaluating central point's slope

fm = (f1+f2)/2.0;

dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);

if ( MathAbs(dm) < tolerance)

break;

if (dm > 0.0) f2=fm;

else f1=fm;

delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2

d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);

d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);

}

peaks= spectrumValue (fm,aa,degree);

peaks=fm;

i+=2;

growing=true;

}

}

return(count);

}
 

???

変な返答ですね。私はNSしか使っていないので、正直なところ、あなたのコードを全く見ていません。

私はプロのC++/MQLコーダーではありませんが、何年もソフトウェアのテストに携わっていたので、不具合はすぐに分かると思います。私はすでにあなたに、あなたはこれを設計するための忍耐力を持っていたので、神のプログラマーであることを伝えました。

とにかく私は、明確に定義された入力で、戦略結果のレベルでの情報交換をあなたに提供するだけで、それがこのメールの意図でした。もし興味があれば、私に知らせてください。

Krzysztof

 

グッドアイディア

異なる入力で異なる戦略を作り、Genetic Optimizerを使って適切な入力の組み合わせを選び、その結果を比較するというものです。

Krzysztof

 

あなたのコードを見たときよりも。明らかに、重要な ピークを見つけるためのあなたの方法は、現在のGoertzelよりもはるかに高度です。

// 各ピークの高さと鋭さを測定することで重要なピークを見つけ、「重要度」番号を得る。

// 鋭さを測定するために、ピークと谷の間の直線を考え、角度を測定する。

// 角度が小さいほど、ピークが鋭い。各ピークの重要度は、高さ/角度で与えられる。

Goertzelでは、ユーザーが定義した数のピークが逆変換に使用されるだけで、追加のテストなしにピークが検出され、ソートされます。

そのため、MESAの分解能はGoertzelよりはるかに良いはずです。ただ、MESAのサイクルに基づくシンプルなサイクル戦略の方が良いのではと思います。残念ながら、リペイントの問題で今は比較できない。

しかし、必要であれば、バンクフィルターの反応に基づいたEhlersサイクルと比較することは可能です。

Krzysztof

 

偽りの取引戦略

誰も何も説得する必要はない、自分だけでいい!!!!

 

こんにちは、皆さん。

このスレッドが死んでいるのを見ましたが、多分、私を助けてくれる人が見つかると思います。

私はgoertzel_cycle_v1_1を持っていますが、これに行き詰っています。

1. goertzelがどのように動作するかを見るために、sinewaveインジケータを作成しました。

------------------------------------

int start()

{

int counted_bars=IndicatorCounted();

int i=Bars-counted_bars-1;

//----

while (i>=0)

{

indybuffer= MathSin(2*PI*i/20);

i--;

}

//----

return(0);

-------------------------------

2. Goertzelコードの "close "を "sinewave "というインジケータに置き換えた。

しかし、振幅は、サインインジケータが予想通り-1から1の間にあるとき、149.98である。

squareampは "false "です。あらゆることを試しましたが、何が間違っているのかさっぱりわかりません。

何か手助けがあれば、とても感謝されます。

 

FTLM_KGとSTLMインジケータ

forex_for_life:
リッチキャップ

まず最初に、あなたが作成したものを共有してくださっていることに感謝します。このコメントを書き始める直前まで、あなたが投稿したものが何なのか分かりませんでした。このような研究開発によって、このスレッドは進歩の炎で燃え上がり、このフォーラムや他の多くのフォーラムの日常的な戦利品のおしゃべりであるすべてのドロスを焼き払ったのです。実に力強い。このスレッドを見ている人は、あなたが実験台に持ち込んだものについて、二度見するのが賢明でしょう。

Krzysztofは悪意を持って返答したのではないと思います。何度か読み返したところ、いくつかの単語や文法がそのような印象を与えているようです。もし私が間違っていたら、訂正してください。

さて、私は決してDSPのトピックの権威ではありません。このスレッドには、他のどのスレッドよりも、弟子として頻繁に訪れています。しかし、私はあなたの追求のために価値があるかもしれないと思ういくつかのことを学びました。しかし、私はあなたが追求する上で役に立つかもしれないと思ういくつかのことを学びました。あなたは私が共有しているすべてのものをすでに知っているかもしれませんし、実際にそうである場合、それは恩着せがましいとして取らないようにしてください。

1.MESAは、平均以上のノイズの多いデータシナリオ(金融市場の価格データがそうであると判断されている)の周波数を特定することができないため、スペクトル分析の理想的ではない方法の1つであると判断された。一方、Goertzel's Algorithmは、より良い選択かもしれません。Meyer's Analyticsの "論文のページ"、"Mesa vs. GDF "と題された記事を参照してください。

2.このスレッドでは、225の投稿から、前述のトピック(指標を含む)について、さらなる議論が行われています。

3.3. DFGソフトウェアの作者であるSergey Iljuhkinは、あなたが投稿したインジケータに非常に似たものを作成しました(これは、あなたが正しい道にいるということだと思います )、完全なライブラリとすべてが、ここ NewDigitalによって投稿されています。私は過去にそれを使用したことがあります。非常に良い、IMHO。見てみる価値はあるかもしれません。

4.Krzysztofは、CBのスレッドに対する彼の評価において正確でした。私は、CBとコラボレーションしたことのある人々を何人か知っていますが、彼らは、彼が写真と理論だけを共有し、具体的なものは何もないことを確認しました。とはいえ、このスレッドにいる、あなた、clahn04、Simba、dvarrin、fajst_kのような人たちは共同体タイプで、考えやその結果の製品をオープンに交換することを望んでいるのでしょう。その流れを止めないと、このスレッドはまた前進の小休止を経験することになりますから、どうかご勘弁を。

私が使っているセットアップは、2つの指標しかありません:最適化されていないFTLM_KGとヒストグラム形式のSTLM、2つの指標はペアとt.f.に調整されていないという事実から生じる、存在するノイズの一部を取り除くためにJurik価格プロキシを介して平滑化しています。驚くべきものではなく、設定によっては時折バーが遅れることがありますが、私がもっと情報を消化してより良いもの すなわち簡単に調整できるFTLMとSTLM指標を排出できるまで十分効果的なものです。スクリーンショットを添付します。

よろしくお願いします。

F_F_L

forex_for_lifeさん、こんにちは。

あなたの情報に感謝します。これらのスレッドの49ページからあなたの両方のインディFLM_KGとSTLMは非常に素晴らしい見ている。この2つのIndicatorを投稿していただくことは可能でしょうか?それはまさに私が探しているものです。ミュンヘンからありがとうございます。

ジムクラーク

 
SIMBA:
私の経験では、トレンドをマークするのに最適な非カスタム指標はSTLM2です。H4とH1、またはD1とH4でトレンドをチェックし、両方が一致したら短い時間枠を見て、自分に合った方法でエントリーのトリガーを引くことができます。

STLM2をFTLMやFTLM_KGに変更するだけで、これらのフィルターに複数のタイムフレームの機能を持たせることができます。さらに、Eaを変更するだけで、STLM2のMTFを含む、ほとんどの戦略をテストすることができます。

ストラテジーのメニューを作成し、まず標準的なデジタルフィルターで歴史的にテストし、次にカスタムデジタルフィルターで少なくとも最も有望なものをフォワードデモでテストすることを提案したいのですが、いかがでしょうか?

MFT_STLM2_v2というインディケータをダウンロードしたのですが、私のプラットフォームでは動きませんでした。

このバージョンは期限切れか何かですか?

私はトレンドを定義するためにSTLM MTFを探しています。

事前の友人に感謝します。

ご親切に。

理由: