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

 

ベースインジケータ

Pava:
エクストラポレーターのベースインジケータを変更するには?

パヴァ。

もし、投稿したくない「秘密のインジケータ」であれば、以前の投稿で提案したようにコードの行を変更するだけです。

例えば、RSIのフーリエ抽出を行いたい場合、入力パラメータに 以下のように追加してください。

extern int RSIPeriod = 14;

そして、このコードの行を変更します。

in=0.5+iWPR(NULL,0,50,i+lb)/100.0; //ここでインジケータを変更する。

この場合

in=0.5+iRSI(NULL,0,RSIPeriod,0,i+lb)/100.0; //ここでインジケータを変更します。

参考

S

 

申し訳ございません

私はそれを持つこのスレッドで私の行動によってシンバに公的に謝罪したい、私はあなたを怒らせている場合は申し訳ありません....

 

問題

Fourier transform rsi show me that?: 'in' - expression on global scope not allowed C: \ Program Files WHC Trader 4 \ experts ㊤ Indicators ㊤ RSI.mq4 (16, 1)

誰か理由知ってる?

 

FFTPの問題

さて、誰もがこれがHGだと思う前に、そうではないことを指摘しておきたい。

もし、あなたがWPRのFFTからのシグナルを盲目的に信じていたら、必要以上に早くショートに陥っていたことでしょう。

FFTの色が変わった後、トレンドラインのブレイクアウトを確認し、価格(できれば終値)がトレンドラインを越えるまでトレードをしないことです。

ありがとうございました。

S

ファイル:
fftproblem.gif  70 kb
 

そして...

割り込みで申し訳ないのですが、では、fftは画像のように交代できないのでしょうか? repaintは?

ファイル:
gbpjpyh4.jpg  266 kb
 

FFTSソリューション

このインジケータの使い方は他にもありますが、これから説明するトレンドラインと、この種のツールを使ったトレードの基本は、この2つの方法を組み合わせること、あるいはMTFの確認を加えることです。

2つ目の方法

1-TrendFilter。FTTSolution1参照...200から300の期間を基本指標とするFFTを使う。この場合、250期間のRSIを使い、Harmonics=1...これがあなたのトレンドフィルターになり、再描画の効果はごくわずか。

2-トリガーエントリー。FFTSolution2参照...通常の周期(この場合はRSI=14)と5から25までのハーモニックス(例では25を使用)を持つ2番目のFFT指標をチャートに追加する...trendfilterが下落トレンドを示唆している場合、トリガーも下落トレンドを示唆したら参入する...チャートにマークした青い部分を参照...TP、または色の変更によって終了できる...このケースでは、5つの参入があった、3つはわずかに利益を上げ、2つは非常に良いトレードを行った...サインされた場合、それは、些細な利益、または、2つの良いトレードであった...それは、HGではありません。

これはHGではありませんが、安全で有益なトレードをするための非常に良い戦略です。

提案

1-欲張らず、トレンドライン、この方法、あるいはその両方を使うこと。トレンドの変化を予測しないこと。

2-下位の時間枠についての私のいつものコメント...H1以上での使用。もし本当にm1、m5、m15で使用しなければならないなら、m15とh1のトレンドフィルター(200期間以上)が同じ方向にシグナルを出している場合のみ使用すること。

3-最高のエントリーは、非常に忍耐強く、正しいセットアップを待つ場合に行われます...2番目のチャートの最後のエントリー(青い部分)を参照してください...トレンドは下向きで、前回の下げの50%以上(約80%)をリトレースするABCD種類のリトレースがありました、そしてトリガーエントリーが行われます。

4-高倍率(25)はより速いが、通常カウンタートレンドの方向にリペイントすることができる、もしトレンドの方向でトレードするならトリガーに使うことができるが、できれば5倍率で使うことが望ましい。

5-ビジュアルテスターで セットアップとトリガーを練習し、いくつかのタイムフレームといくつかのペアで、その感触をつかんでください。

ご挨拶

S

ファイル:
 

OK

learntrader:
私はそれを持つこのスレッドで私の行動によってシンバに公的に謝罪したい、私はあなたを怒らせている場合は申し訳ありません....
learntrader:
indeed to do Fourier transform rsi show me that?: 'in' - expression on global scope not allowed C: \ Program Files \ WHC Trader 4 \ experts \ indicators RSI.mq4 (16, 1) someone knows why?
learntrader:
割り込みで申し訳ないのですが、では、fftは画像のように交代できないのでしょうか? repaintは?

ダリオ。

1-私はあなたの謝罪を受け入れる。

2-このポストに添付されたRSIのFFTを参照してください、私はそれがすべての鐘と笛を持っているので、Leledc指標を変更しました。

3-FFTはそのようなターンを取ることができます。最も重要な 問題は、あなたが使用するベースの指標です...FFTは狂ったように再描画することができ、またはそれは非常に安定していることができます、あなたが私の前の投稿で説明したようにそれを使用する場合、安定した方向性フィルタと高速(再描画または再描画になりやすい)"ターンキャッチャー "を組み合わせることになります...鍵は、それらを組み合わせることで再配置の危険を最小限にし、高速方向のエントリから利益を上げるということです。

Leledc

インジケータの修正ありがとうございました。

ありがとうございました。

S

 
SIMBA:
ダリオ

1-私はあなたの謝罪を受け入れる。

2-RSIのFFTはこの投稿に添付されています。

3-FFTはそのようなターンを取ることができます。最も重要な問題は、あなたが使用するベースの指標です...FFTは狂ったように再描画することができ、またはそれは非常に安定していることができます、あなたが私の前の投稿で説明したようにそれを使用する場合、安定方向性フィルタと高速(再描画または再描画になりやすい) "ターンキャッチャーを組み合わせること... キーは、それらを組み合わせることによって再配置の危険性と高速方向のエントリから利益を最小限に抑えることができるということです。

Leledc

インジケータの修正ありがとうございました。

ありがとうございます。

S

そう言ってもらえると嬉しいです。

 

ガウシアンフィルター

こんにちは私はtradestationのfucntionを持っている:私はmqlでそれを変換したいと思います(mt4でtradestationインディを移植するために)。

Easylanguage

{Gaussian Filter}

Inputs: Price(NumericSeries), iptPeriod(NumericSimple), iptPoles(NumericSimple);

variables: aa(0), b(0), w(0), x(0), y(0), y1(0), y2(0), y3(0), y4(0),

a_1(0), a_12(0), a_13(0), a_14(0), a2(0), a3(0), a4(0), Pi(3.141592654),

sqrtOf2(1.414213562), Period(2), poles(0);

if (iptPeriod < 2) then

Period = 2

else

Period = iptPeriod;

// Number of filter poles must be between 1 and 4, inclusive

if iptPoles < 1 then

poles = 1

else if iptPoles > 4 then

poles = 4

else

poles = iptPoles;

// initialization - performed only for first bar

if CurrentBar = 1 then

begin

w = 2 * Pi / Period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - cosine(w)) / (power(sqrtOf2, 2.0/poles) - 1.0);

aa = -b + squareroot(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

end;

{ Calculate your indicator value here }

x = Price;

if (poles = 1) then

y = aa * x + a_1 * y1

else if (poles = 2) then

y = a2 * x + 2 * a_1 * y1 - a_12 * y2

else if (poles = 3) then

y = a3 * x + 3 * a_1 * y1 - 3 * a_12 * y2 + a_13 * y3

else if (poles = 4) then

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;

y4 = y3; // delayed by four bars

y3 = y2; // delayed by three bars

y2 = y1; // delayed by two bars

y1 = y; // delayed by one bar

Gauss = y;

[/php]Mql

[php]

double Gauss(double Price, double iptPeriod,double iptPoles){

double aa, b, w, x, y, y1, y2, y3, y4,a_1, a_12, a_13, a_14, a2, a3, a4;

double Pi=3.141592654;

double period=21, poles;

if (iptPeriod < 2)

period = 2;

else

period = iptPeriod;

if (iptPoles < 1){

poles = 1;

}

else if (iptPoles > 4){

poles = 4;

}

else{

poles = iptPoles;

}

// initialization - performed only for first bar

for(int i = Price; i >= 0; i--){

w = 2 * Pi / period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - MathCos(w)) / (MathPow(MathSqrt(2.0),2.0/poles) - 1.0);

aa = -b + MathSqrt(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

}

for(i = Price; i >= 0; i--){

x = Price;

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;//we don't need y1 y2 y3 y4

}

return (y);

}

 

!!!!!!!!!!