John Ehlersの全指標... - ページ 54

 
sabbir50:
どなたか、MTF FisherやSolar Wind No repaint with alert Indicatorを投稿してください...。

この投稿にあるものを使用することができます :https://www.mql5.com/en/forum/173574/page360

これは、すでにアラートが含まれているマルチタイムフレームバージョンです。

 

FDIインジケータ

最近、FXのデータ構造をより深く理解するために、MATLABでHEと遊んでいたのですが、残念ながらJohnからFDIインディケータについて悪い知らせがありました。

この投稿で私は、HEは不安定であるため、取引に使用するのは無駄であるという結論に達しました - HEはMATLABのwfbmesti関数で3つの異なる方法を使って計算されました。

https://www.mql5.com/en/forum/178285/page6

そして、この出力を、より安定で滑らかに見えるJohnの出力と比較したところ、私は疑い始めました - Johnsは計算の前と後で2回価格を滑らかにします。Johnは計算の前と後で2回価格を平滑化しているのです。まあ、計算後に行うのはいいのですが、計算前に行うと分布構造を壊してしまうのではないかと思いました。

そこで、実験をしてみました。分数ブラウン運動を既知のHE値で生成し、これを基準としてHEを計算しました。

次に、生成された系列を平滑化し、平滑化の影響があるかどうかを確認するためにHEを計算しました。

% Set parameter H to 0.6 and sample length

H = 0.6; lg = 10000;

% Generate 100 wavelet-based fBm realizations for H = 0.6

% and compute the three estimates for each of them

n = 100; Hest = zeros(n,3);

for i = 1:n

fBm06 = wfbm(H,lg);

Hest(i,:) = wfbmesti(fBm06);

end

mean (Hest)

ans =

0.5927 0.5927 0.5648[/CODE]

Values of HE of generated series are around 0.6 as expected. John uses this formula for smoothing

Smooth = (Price + 2 * Price[1] + 2 * Price[2] + Price[3] ) / 6 ;

so

[CODE]n = 100; Hest2 = zeros(n,3);H = 0.6; lg = 10000;

for i = 1:n

fBm06 = wfbm(H,lg);

for ii = 4:lg

fBm06(ii) = (fBm06(1,ii) + 2 * fBm06(1,ii-1) + 2 * fBm06(1,ii-2) + fBm06(1,ii-3) ) / 6 ;

end

Hest2(i,:) = wfbmesti(fBm06(:,4:end));

end

mean (Hest2)

ans =

0.7013 0.5977 0.8760

0.6前後であるべきだったのが、0.6前後でなくなってしまった。分布や構造に影響がある方法2だけが生き残ったようです

Johnsメソッドもこれに耐えられるのでしょうか?

FDIのコードからスムージングを取り除き、2-FDIをプロットしたところ、MATLABが生成したHE値とは全く異なる値が得られました。

だから、要約すると、私はこの指標と彼のコードをクローンする他のものを信用しないでしょう!

Krzysztof

 
mladen:
Krzysztof

彼らはこのMAについて話しているのでしょうか :https://www.mql5.com/en/forum/182120

もしそうなら、私は彼らが正しい道を歩んでいるとは思いません(率直に言って、それはあまりにも複雑で使いにくく、結果は良い平均/フィルタから期待されるものとは異なります)。

何かがEhlersのMAよりも優れているかどうかという質問ではなく(EhlersはMAの分野ではよくありません - 彼が「ゼロラグMA」と名付けたもののようないくつかの彼の試みは、率直に言って真剣ではありません)、いくつかのはるかに優れたフィルタとの比較はすぐに頭に浮かび、そのMAはそれほど輝いているつもりはない

mladenさんへ。

調べてみてくださいな.

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

ファイル:
 
Tsar:
mladenさんへ。

チェックしてみてください...

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

ツァー

同じものではない(コードが違うし、明らかに違う人が書いている)にもかかわらず、パラメータが 同じだと計算値がまったく同じになる(最終結果も "primary "結果も)。つまり、この2つは同じインジケータの2つのバージョンということになります。

 
mladen:
ツァー 同じものではない(コードが違うし、違う人が書いているのは明らか)にもかかわらず、パラメータが同じだと計算値がまったく同じになる(最終結果も「一次」結果も同じ)。つまり、この2つは同じインジケータの2つのバージョンということになります。

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

 

興味本位ですが、John Ehlers氏の言う「zero lag EMA」(tradestation code)はこちらです。

inputs:

Length( 20 ),

GainLimit( 50 ),

Thresh( 1 ), { see article for threshold explanation }

UseThreshold( true ), { if true, then the threshold is used for the

ShowMe dots and crossing alert - see notes below }

DrawMALines( true ), { if true, the Moving Average lines are plotted }

DrawShowMeDots( false ), { if true, ShowMe dots are plotted when a cross

of EC and EMA are detected }

DotOffsetTicks( 10 ), { offset for the ShowMe dots }

DrawPaintBars( false ) ; { draw PaintBars, color depending on EC > EMA }

variables:

ATick( 0 ),

alpha( 0 ),

Gain( 0 ),

BestGain( 0 ),

EC( 0 ),

Error( 0 ),

LeastError( 0 ),

EMA( 0 ),

CrossOver( false ),

CrossUnder( false ) ;

if CurrentBar = 1 then

ATick = MinMove / PriceScale ; { calculate value of a tick }

alpha = 2 / ( Length + 1 ) ;

EMA = alpha * Close + ( 1 - alpha ) * EMA[1] ;

LeastError = 1000000 ;

for Value1 = -GainLimit to GainLimit

begin

Gain = Value1 / 10 ;

EC = alpha *( EMA + Gain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;

Error = Close - EC ;

If AbsValue( Error ) < LeastError then

begin

LeastError = AbsValue( Error ) ;

BestGain = Gain ;

end ;

end ;

EC = alpha * ( EMA + BestGain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;

if DrawMALines then

begin

Plot1( EC, "EC" ) ;

Plot2( EMA, "EMA" ) ;

end ;

これはJohn Ehlersがまずジャンプして、それからどうするかを考えたものなので、あまり重要視されない方がいいと思います(メタトレーダーにも変換されないのはそのためです)。

 

それにもかかわらず、メタトレーダーに変換できるのでしょうか?

 
nbtrading:
それにもかかわらず、メタトレーダーに変換できるのでしょうか?

信じてください、そうしないほうがいいのです。それは、ある価値(EMA)を別の価値(価格)に当てはめるという人為的な方法です。私は、ジョン・エーラーは、彼ができるなら、そのコードを今すぐ取り消すだろうと信じています、それは、何もまじめなコードと平均値ではないので。

 
mladen:
信じてください、そうしないほうがいいのです。それは、ある価値(EMA)を別の価値(価格)に当てはめるという人為的な方法です。私は、ジョン・エーラーは、彼ができるなら、そのコードを今すぐ取り消すだろうと信じている、それは深刻なコードと平均以外のものであるので

そんなに悪いことですか?

 
nbtrading:
そんなに悪いことなのでしょうか?

これは、John Ehlersはもちろんのこと、誰もが誇りに思うことではありません。あんなものを発表して、"ゼロラグEMA "と呼ぶ前に、彼はもっと考えるべきでした。