6th Degree Poly Help! - ページ 2

 
gooly:

dennisj2さん、こんにちは。

本当にその数式が必要なのでしょうか?

まず、Kalman, Ehlers, Gauss, Jurik (JMA), DEMA などの他のフィルタを検索してみてはいかがでしょうか。これらのほとんどはローパス(物理)周波数フィルタから派生したもので、そのほとんどがmt4-codeに組み込まれています。

JMA(多くのバリエーションがあります)をより長い周期で設定することで、あなたが探しているものが得られるかもしれませんね。



私がリサーチできるリンクはありますか?

 
dennisj2:



SDC - あなたは今、私と同じレベルにいます。私が見つけた線形回帰式は機能します。そして、私が見つけた2つの明確に異なる式があり、同じ結果を生み出します。これらの式は、線形回帰(直線的なトレンドライン)が目的であれば、素晴らしいものです。

まず、参考資料です。

マイクロソフト:http://office.microsoft.com/en-us/excel-help/linest-HP005209155.aspx

インテグラルカルク(IntegralCalc):https://www.youtube.com/watch?v=1pawL_5QYxE&noredirect=1


線形回帰式 y = mx + b が与えられたとき。

ここで、y = 価格、(例えば、Close[x])

および x = インデックス (例: Bar[x])

およびm = スロープ(各(x、y)のペアに適用される係数)

およびb = Y切片(各(x,y)ペアに適用されるY切片の基準値)。


方法 A:IntegralCalc より方法B:Microsoft から (ここで x(overbar) と y(overbar) は平均値)


n次までの多項回帰の傾向線の式でも、比較的簡単に適用できる。

y = m1*x1 + m2*x2 + m3*x3 + ...の式が与えられると、次のようになる。+ b

ここで、変数x, y, m, bは、一次方程式で説明したものと同じ定義である。

全部できたように見えるけど、何が足りないの?

足りないのは、多項回帰のm(傾き)とb(Y切片)の計算です。これらの値を計算するための一次方程式は、多項回帰には当てはまりません。調べたところ、多項式回帰では、行列を使った多項式連立方程式をもとに最小二乗を計算する式が必要なようです。上のグラフの例を見てください。最初のグラフでは、poly(6)の線は全く無傷で、トップとボトムが明確に呼び出されています。このデータがあれば、私は今よりも長くトレードを続けることができ、最終的にトレードあたりの平均pipsを2倍、3倍にすることができます。

2つ目のグラフは、poly(6)とガウス行列を使って傾き係数を解くi-regr法の結果を示しています。言うまでもなく、この方法はかなりのレイテンシーがあるので、かなり役に立ちません。一方、単純移動平均はもっとダメで、私のEAが過剰反応する可能性のある市場の中間修正時に、SMAはあまりにも敏感すぎるのです。

しかし、その結果は、Excelが生成する結果と絶対に一致しなければなりません。LINEST()関数は、係数を計算するために多くの魔術が使われるブラックボックスです。簡単に言うと、この魔術を理解する必要があるのです。

更新:Excelで実装した方法を示すファイルを添付しました。


私はしばらく前に線形回帰をコード化したのですが、これは私のコードへのリンクです。線形回帰が 100%正しいとは保証できませんが、計算でゼロxインデックスを使用する際の問題を特定し、しばらくしてから修正したと思います。

移動バージョンは、各バーで線形回帰線の最後の座標を描くだけなので、平滑化された移動平均に似た放物線を作成します。

私は、あなたの線に2次ポリ公称を使用する方法を学ぼうとしていました。2次関数でできるのなら、6次関数でもできるだろうと思ったのです。

あなたのリンクを読んで、何か学べることがあるか見てみます。

 
SDC:

しばらく前に線形回帰をコード化したのですが、これはそのコードへのリンクです。線形回帰が 100%正しいとは保証できませんが、計算でゼロxインデックスを使用する際の問題を特定し、しばらくしてから修正したと思います。

移動バージョンは、各バーで線形回帰の最後の座標を描くだけなので、平滑化された移動平均に似た放物線を作成します。

私は、あなたの線に2次ポリ公称を使用する方法を学ぼうとしていました。2次関数でできるのなら、6次関数でできるように拡張できると思いました。

あなたのリンクを読んで、何か学べることがあるか見てみます。


SDC: 私もそう思います。2次関数では十分ではないかもしれませんが、3次関数ならもっと高い次数まで拡張できると思うようになりました。
 
dennisj2:


あなたは私が研究することができます任意のリンクを持っていますか?

ちょうどグーグル:MT4インジケータ

という名前になります。

あなたが(ローパス)フィルタを追加することがあります。

いくつかはmt4コードベースにあります - いくつかの唯一のないと我々は、外部リンクを投稿するべきではありません...

 
SDC:別のリンクがあります。
 
ただ、回帰はカーブフィッティングであり、誰かがすでに指摘しているように、回帰は再塗装されることを忘れないでください。純粋なカーブフィッティングにどのような予測力があるのか、私にはよくわかりません。私自身の実験でも、その予測値はあまり良いものではありませんでした。
 
rocketman99:
ただ、回帰はカーブフィッティングであり、誰かがすでに指摘したように、回帰は再塗装されることを忘れないでください。純粋なカーブフィッティングにどのような予測力があるのか、私にはよくわかりません。私自身の実験では、その予測値はあまりよくありませんでした。 。



ロケットマン

回帰 モデルは過去のトレンドを塗り替える傾向があり、あまり信頼できないという点では、私も一部同意見です。この数日間、このインジケータのライブパフォーマンスを見てきましたが、正直に言って、このインジケータは3つの理由で何の価値も提供しません。1)短期的な修正に過敏であること、2)(e-regr EAとの)レイテンシーが大きく、ロングポジションの下限エントリーポイントやショートポジションの上限を示す頃には、市場はエントリーポイントをはるかに超えて動いており、ほとんどの場合、市場のトレンドと逆行していること、3)観察だけでは、市場が上昇するとき、指標は下向きになり、逆に、方向性トレンド指標としての使用はせいぜい50%の信頼しかないことです。

先週、米ドル円は102.35-102.50付近で推移し、i-regrは市場トレンドが下向きであることを示し(下にカーブして下降していた)、e-regrは売りを出し、それからわずか5期間後にインディケータはロングにシフトし、米ドル円は104.20まで上昇すると常にロングだったように塗り替えられました)

リペイントタイプのインジケータは価値がなく、信頼できないという指摘を裏付けるものとして、私がMQL4のライブラリで動作しているものを見て、これらのインジケータで動作した人たちが表明したフラストレーションを理解することを保証します - 我々が持っているものを考えると、何も動作しないのです。とはいえ、6次まで計算できる信頼できる多項式回帰のインジケータはまだ見たことがありません。しかし、信頼できる多項式回帰ができれば、その結果は素晴らしいものになるはずです。

 
dennisj2:



ロケットマン

回帰モデルは過去のトレンドを塗り替える傾向があり、あまり信頼できないという点では、私も一部同意見です。これは明らかにi-regr指標の場合です。私はここ数日、この指標のライブパフォーマンスを見てきましたが、正直に言って、この指標は3つの理由で何の価値も提供しません。1)短期的な修正に過敏であること、2)(e-regr EAとの)レイテンシーが大きく、ロングポジションの下限エントリーポイントやショートポジションの上限を示す頃には、市場はエントリーポイントをはるかに超えて動いており、ほとんどの場合、市場のトレンドと逆行していること、3)観察だけでは、市場が上昇するとき、指標は下向きになり、逆に、方向性トレンド指標としての使用はせいぜい50%の信頼しかないことです。

先週、米ドル円は102.35-102.50付近で推移し、i-regrは市場トレンドが下向きであることを示し(下にカーブして下降していた)、e-regrは売りを出し、それからわずか5期間後にインディケータはロングにシフトし、米ドル円は104.20まで上昇すると常にロングだったように塗り替えられました)

リペイントタイプのインジケータは価値がなく、信頼できないという指摘を裏付けるものとして、私がMQL4のライブラリで動作しているものを見て、これらのインジケータで動作した人たちが表明したフラストレーションを理解することを保証します - 我々が持っているものを考えると、何も動作しないのです。とはいえ、6次まで計算できる信頼できる多項式回帰のインジケータはまだ見たことがありません。また、信頼できる多項式回帰ができたなら、その結果は目を見張るものになると断言します。




私は数学者ではありませんが、回帰のどのような形であれ、私の経験はあまり良いものではありませんでした。ご指摘の通り、回帰の方法はたくさんあり、最終的にはより良い統計的カーブフィットになる可能性があります。しかし、その予測力には疑問が残ります。

もし、あなたが本当にこのようなことに一生懸命になりたいのであれば、Rを調査し、利用可能な高度な回帰を試す必要があります(ARIMA, ARCH/GARCH などでググってください): http://talksonmarkets.files.wordpress.com/2012/09/time-series-analysis-with-arima-e28093-arch013.pdf

私はこのようなことに何週間も費やし、共積分も調査しましたが、成功はゼロに近かったです。

MQL4のコーディングはこのような高度な統計解析には向いていないと思います。

 

さて、ふむふむ......。

I don't think MQL4 coding is up to the task for this advanced statistical analysis.

MQLでは何でもできるわけで、これが制限要因ではありません。どちらかのソースを 移植すれば良さそうです。
http://rosettacode.org/wiki/Polynomial_regression

P6 (polynom of 6th degree) regression を解くということは、離散的な数値関数の上で6変数を持つ6連立方程式を解くということで、単純ではないかもしれないが、できないことはないだろう。

i_regr.mq4で具体的にどのような方法が使われているかは、後で調べてみます。

私の回帰の経験はあまり良いものではありません。

私は同意しなければならない、これは私の最初のコメントのポイントだった。なぜなら......私たちは何をしているのでしょうか?我々は、このケースでは、P6にランダムな曲線(実際のPA(プライスアクション))の一部を使用してフィッティングしています。そして、PAの次のポイントが、この曲線の続きとして作用することを期待しているのでしょうか?

さて、Dennisはこの曲線をPAの小さな遅延変換関数として使っているようですが、これはある程度理にかなっていると思います。ノイズ除去のために高いTFで行わなければならないし、このような取引戦略の問題点である、PAがレンジになったときの損失を避けることができるとは思わない。


このインジケータは、3つの理由で何の価値もありません。1)短期的な修正に非常に敏感であること、2)(e-regr EAでは)インジケータがロングポジションの下限エントリーポイントやショートポジションの上限を示す頃には、市場はエントリーポイントをはるかに超えて動いており、ほとんどの場合、市場のトレンドとは逆であること、3)観察だけでは、市場が上に向かう時、インジケータは下を向いており、その逆もまたしかりであることから、方向性トレンド指標としての使用はせいぜい50%の信頼性であることです。

しかし、i-regrはそんなに悪いものではありません。e-regr.mq4のビジュアルモードバックテストで、テストウィンドウにインジケータをドロップすると、その動作を見ることができます。
おそらく高速回帰か補間のようなものを使っているのだろうが、その結果は悪くない。PAに追従し、カーブに適応している。


1) 全てのインジケータはそうです。これは通常、フィルタとして別のタイプのインジケータを追加するか、より高いTFを追加することで解決します。
2)まあ、カーブフィッティングがうまくいけばレイテンシーは改善されるでしょう。しかし、一番の問題はレイテンシーではなく、e-regrのエントリー基準です。一定サイズのチャンネルの端でカウンタートレンドをトリガーする?トレンド変化に対する十分なリカバリーがない?真のマネーマネジメントがない?ばかばかしい。
私の第一のアイデアは回帰カーブの方向の変化でエントリー/エグジットすることですが、完全な再塗装インジケーターがこのためにどう良いかはまだ分かっていないのです。

とにかく、決定係数の 異なる2つの回帰曲線の交点をエントリー/イグジットに使っているような印象を持ちました。

 
T

Grazianiが言ったように、私たちはmql4で何でもコーディングすることができます。

リペイントに関しては、それは問題ではありません、私たちが気にする唯一のバーは、ゼロバー、現在の価格取引バーです。私がこれをコード化する方法(計算を理解できると仮定して)は、方程式が最後のn本のバーの価格で実行され、ゼロバーの結果の値が描かれ、以前のすべてのバーの線は、以前の計算からあったように残されます。一つは、ゼロのバーで取引することができるとき、すべてのチャートの履歴にライン全体を再フィットする必要はありませんし、第二に、それはライブ価格バーだったときに、各バーにラインを適用した方法の実際の履歴を示すことになります。

リンク先のDennis PostedPolynominal Regressionから、適応型インジケーターの観点から非常に興味深いことが分かりました。

「多項式回帰では、X変数の異なる累乗(X、X2、X3...)を方程式に追加して、r2が有意に増加するか どうかを確認します。まず線形回帰が行われ、Y=a+bXの形の方程式をデータに当てはめます。次に放物線を描くY=a+b1X+b2X2という形の方程式をデータに当てはめる。高次の項を加えると必ずr2が大きくなりますが、問題はそのr2の増加が偶然の産物で予想より有意に大きいかどうかです。次に、S字型になるY=a+b1X+b2X2+b3X3という形の方程式をあてはめ、r2の増加を検定する。こ れは、別の項を加えてもr2が有意に増加しなくなるまで続ける ことができる。"

これは、コード化するために必要なすべての知識かもしれません。著者は、y=ax2+bx+cの代わりにy=a+b1X+b2X 2と書いていることに気づきましたか?cは全く別の係数でなければならないと思ったからです。この記事から、y=ax6+bx5+cx4+dx3+ex2+fx+g の係数 c,d,e,f,g は、線形回帰で既に知っている b と直接関係があるようです(勾配です)。

とはいえ、そんなに簡単なこととは思えないのですが?もし、y=a+b1X+b2X2+b3X3+b4X4+b5X5+b6X6と 書けるなら、なぜa,b,c,d,e,f,gと係数を書くのでしょう また、Dennisが言ったように、他の論文では、線形回帰のようなスロープ・インターセプトはポリ・リグレッションには当てはまらないとしているようです。また、Dennisが言ったように、他の論文では、線形回帰のスロープ・インターセプトはポリ・リグレッションには適用されないとされているようです。

それはさておき、この記事では、ポリライン式の増加を度々テストしている間に、r2がデータ曲線にどれだけフィットするかを測定するために使用できることを示唆しているようです。

私は、r2が分散と関係があるのではないかと思っているのですが、どうでしょうか?どなたか、r2が何であるかを明確に言える方はいらっしゃいませんか?