著者の対談です。アレクサンドル・スミルノフ - ページ 37 1...303132333435363738394041424344 新しいコメント Candid 2008.02.15 19:09 #361 このRMS^2 = M[X^2] - (M[X])^2 という式は、実は分散、つまり完全特性のためのものなのです。おそらく、「クロスオーバー」の合計が明示的または暗黙的にゼロにされたのだろう。大きなサンプルの場合、これは十分に正しいです。しかし、小さなサンプルでは、実際のRMSは異なるかもしれません。でも、まだ確認できていないんです。 Yurixx 2008.02.15 20:09 #362 Mathemat:由良 標準機能よりも高速にRMSをカウントしたいんです。うまくいったら?1回の呼び出しでは、その言語で書かれたどのコードよりも速いはずですが、大量(チャート全体の計算)の場合は、コスト削減が可能です。 線形回帰の scoについて言えば、数式で一段階解析的に計算されます。 sko^2=d[y] - d[x]*a^2, ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+Bです。 だから、リカバリーはここでは必要ないのです。 PS そして、クロスサムは、明示的に純粋に解析的にゼロにされます。サンプルの大きさは関係ない。 Владимир 2008.02.15 23:38 #363 Prival: まだエラー 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1:MathSqrt 関数に負の引数を指定。 エラーの内容から判断すると、MathSqrt(lambda*lambda*lambda+16.0*lambda*lambda)はこの辺にあるはずです。しかし、lambda=MathAbs(Value1[i]/Value2[i]) ;は負になりえない。 そんなわけで、念のためlambda=0.0を実行することくらいしか思いつきません。 と MathSqrt(MathAbs(lambda*lambda*lambda*lambda)) を併用することで、このエラーを永久に解消することができます。 //---- メインループ double alpha, lambda=0.0 ; //******************************************************************************************** for (i = limit; i >= 0; i--) { Price[i]=(High[i]+Low[i])/2.0; } for (i = limit; i >= 0; i--) { Value1[i]=SC*(Price[i]-Price[i+1])+4*SC*Value1[i+1]; Value2[i]=SC*(High[i]-Low[i])+4*SC*Value2[i+1]; } for (i = limit; i >= 0; i--) { if(Value2[i]< Point)Value2[i]=Point;else lambda=MathAbs(Value1[i]/Value2[i])とする。 alpha=(-lambda*lambda+ MathSqrt(lambda*lambda) )/8.0; Value3[i]=alpha*Price[i]+(1.0-alpha)*Value3[i+1]; } //******************************************************************************************** P.S. 一般的にはナンセンス。このエラーはテスターでポップアップしているはずです。 P.P.S. おそらく、変数 double lambda; がデフォルトで非常に小さな負のゴミで初期化されていたのでしょう。そうすると、double lambda=0.0;式が役に立つはずです。 スラバは私たちに教えてくれる - デフォルトでは決して動作しませんし、我々は学ぶことはありません Author's dialogue. Alexander Smirnov. Squelch Control Indicator MT4 Indicator codes coming Yury Reshetov 2008.02.16 06:58 #364 VBAG: プライベートの 話。 まだエラー 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1:MathSqrt 関数に負の引数を指定。 追伸:それはおかしいですね。このエラーはおそらくテスターで表示されているのでしょうか? P.P.S. おそらく、変数 double lambda; がデフォルトで非常に小さな負のゴミで初期化されていたのでしょう。そうすると、double lambda=0.0;式が役に立つはずです。 スラバは私たちに教えてくれる - デフォルトでは決して動作しませんし、我々は学ぶことはありません 地元のボットニックは、いつも何か自転車を発明しようとしている。 無駄な汗をかかないように。カスタムインデックスの中にBands.mq4がある - RMS計算のアルゴリズムがある Candid 2008.02.16 07:06 #365 <br /> translate="no">。sko^2=d[y] - d[x]*a^2, ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+B である。 だから、リカバリーはここでは必要ないのです。 この手の処方には不要なものが多いんです。 また、再帰性が不要とはどういうことですか、和はどのように計算するのですか?それとも、期待値を平均値に置き換えないやり方があるのでしょうか? 追伸:ちなみに、クロスサムは勝手に出ていくわけではありません。少なくとも私はそうしなかった。分散ではなく、"本物 "の表現に挑戦してみよう ANG3110 2008.02.16 15:19 #366 任意の関数に対するRMS sq = 0.0; for (int n=0; n<period; n++) { dc = Close[n] - fx[n]; sq += dc * dc; } sq = MathSqrt(sq/period); したがって、線形回帰の 場合は、 となります。 sq = 0.0; for (n=0; n<p; n++) { lr = b + a * n; dc = Close[n] - lr; sq += dc * dc; } sq = MathSqrt( sq / p ); Candid 2008.02.16 15:47 #367 ANG3110: したがって、線形回帰の場合は、次のようになります。 sq = 0.0; for (n=0; n<p; n++) { lr = b + a * n; dc = Close[n] - lr; sq += dc * dc; } sq = MathSqrt( sq / p ); これは定義によるものです。LRがあまり短くない場合は、余分なサイクルがなく、より正確にRMSを計算することができます。ソースMovingLR.mq4にはRMSを計算するコードがありますが、コメントアウトされており、RMSはrmsYと呼ばれています。 Yurixx 2008.02.16 16:24 #368 lna01: sko^2=d[y] - d[x]*a^2, ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+B である。 だから、リカバリーはここでは必要ないのです。 これらの数式には冗長な部分が多くあります。 また、再帰性が不要とはどういうことですか、和はどのように計算するのですか?あるいは、期待ペイオフを平均値で置き換えることを避ける方法があるのでしょうか? 追伸:ちなみに、クロスサムは勝手に出ていくわけではありません。少なくとも私はそうしなかった。分散ではなく、"本物 "の表現に挑戦してみよう これらの式の中で、何が余計なのか、とても知りたいのですが?:-) MOはもちろん、平均に置き換えられ、総和を計算しなければならない。ただし、再発、あるいは周期は必要ない。以下の式で十分です。 S(X)[i+1]=S(X)[i] - X[i-N+1] + X[i+1] ここでS(X)[i]=Sum(X[k]; k=i-N+1, i-N+2, ...,i-1,i ) えーと、もしかして、再発というとこの表現のことですか?それなら、もちろん、その通りです。 本当の表現」については、これらの数式はどこから来ているのでしょうか?さて、この「実数式」に、MNCから導かれるA、Bの有限式を代入すると、ちょうど上記の実効値式になります。対応する解析計算をお教えします。 Prival 2008.02.16 16:50 #369 Yurixx: lna01 です。 関連する分析計算をお教えします。 新しいデータでは、係数AとBが変化する可能性があると思います。)LRの場合は解決しそうですが、放物線回帰の場合はどうなんでしょうか? ANG3110 2008.02.16 17:10 #370 lna01: これは定義によるものです。LRがあまり短くない場合は、余分なサイクルがなく、より正確にRMSを計算することができます。ソースMovingLR.mq4にはRMS計算のコードがありますが、コメントアウトされており、RMSはrmsYと呼ばれています。 。 はい、一度やって最後の要素を引き、新しい最初の要素を追加することができます。すると、サイクルなしで動作するようになります。そんなことをmql2で、MT3でやってました。今でも、線形回帰だけ でなく、必要に応じて行っています。 1...303132333435363738394041424344 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
由良 標準機能よりも高速にRMSをカウントしたいんです。うまくいったら?1回の呼び出しでは、その言語で書かれたどのコードよりも速いはずですが、大量(チャート全体の計算)の場合は、コスト削減が可能です。
線形回帰の scoについて言えば、数式で一段階解析的に計算されます。
sko^2=d[y] - d[x]*a^2,
ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+Bです。
だから、リカバリーはここでは必要ないのです。
PS そして、クロスサムは、明示的に純粋に解析的にゼロにされます。サンプルの大きさは関係ない。
まだエラー 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1:MathSqrt 関数に負の引数を指定。
そんなわけで、念のためlambda=0.0を実行することくらいしか思いつきません。
と MathSqrt(MathAbs(lambda*lambda*lambda*lambda)) を併用することで、このエラーを永久に解消することができます。
//---- メインループ
double alpha, lambda=0.0 ;
//********************************************************************************************
for (i = limit; i >= 0; i--)
{
Price[i]=(High[i]+Low[i])/2.0;
}
for (i = limit; i >= 0; i--)
{
Value1[i]=SC*(Price[i]-Price[i+1])+4*SC*Value1[i+1];
Value2[i]=SC*(High[i]-Low[i])+4*SC*Value2[i+1];
}
for (i = limit; i >= 0; i--)
{
if(Value2[i]< Point)Value2[i]=Point;else lambda=MathAbs(Value1[i]/Value2[i])とする。
alpha=(-lambda*lambda+ MathSqrt(lambda*lambda) )/8.0;
Value3[i]=alpha*Price[i]+(1.0-alpha)*Value3[i+1];
}
//********************************************************************************************
P.S. 一般的にはナンセンス。このエラーはテスターでポップアップしているはずです。
P.P.S. おそらく、変数 double lambda; がデフォルトで非常に小さな負のゴミで初期化されていたのでしょう。そうすると、double lambda=0.0;式が役に立つはずです。
スラバは私たちに教えてくれる - デフォルトでは決して動作しませんし、我々は学ぶことはありません
まだエラー 2008.02.15 17:07:22 2007.01.11 12:15 OTF_1 EURUSD,M1:MathSqrt 関数に負の引数を指定。
追伸:それはおかしいですね。このエラーはおそらくテスターで表示されているのでしょうか?
P.P.S. おそらく、変数 double lambda; がデフォルトで非常に小さな負のゴミで初期化されていたのでしょう。そうすると、double lambda=0.0;式が役に立つはずです。
スラバは私たちに教えてくれる - デフォルトでは決して動作しませんし、我々は学ぶことはありません
地元のボットニックは、いつも何か自転車を発明しようとしている。
無駄な汗をかかないように。カスタムインデックスの中にBands.mq4がある - RMS計算のアルゴリズムがある
sko^2=d[y] - d[x]*a^2,
ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+B である。
だから、リカバリーはここでは必要ないのです。
また、再帰性が不要とはどういうことですか、和はどのように計算するのですか?それとも、期待値を平均値に置き換えないやり方があるのでしょうか?
追伸:ちなみに、クロスサムは勝手に出ていくわけではありません。少なくとも私はそうしなかった。分散ではなく、"本物 "の表現に挑戦してみよう
したがって、線形回帰の 場合は、
となります。
したがって、線形回帰の場合は、次のようになります。
sko^2=d[y] - d[x]*a^2,
ここで、D[Y]=M[Y^2]-M[Y]^2,D[X]=M[X^2]-M[X]^2,Aは 線形回帰係数Y=A*X+B である。
だから、リカバリーはここでは必要ないのです。
また、再帰性が不要とはどういうことですか、和はどのように計算するのですか?あるいは、期待ペイオフを平均値で置き換えることを避ける方法があるのでしょうか?
追伸:ちなみに、クロスサムは勝手に出ていくわけではありません。少なくとも私はそうしなかった。分散ではなく、"本物 "の表現に挑戦してみよう
これらの式の中で、何が余計なのか、とても知りたいのですが?:-)
MOはもちろん、平均に置き換えられ、総和を計算しなければならない。ただし、再発、あるいは周期は必要ない。以下の式で十分です。
S(X)[i+1]=S(X)[i] - X[i-N+1] + X[i+1] ここでS(X)[i]=Sum(X[k]; k=i-N+1, i-N+2, ...,i-1,i )
えーと、もしかして、再発というとこの表現のことですか?それなら、もちろん、その通りです。
本当の表現」については、これらの数式はどこから来ているのでしょうか?さて、この「実数式」に、MNCから導かれるA、Bの有限式を代入すると、ちょうど上記の実効値式になります。対応する解析計算をお教えします。
関連する分析計算をお教えします。
新しいデータでは、係数AとBが変化する可能性があると思います。)LRの場合は解決しそうですが、放物線回帰の場合はどうなんでしょうか?
これは定義によるものです。LRがあまり短くない場合は、余分なサイクルがなく、より正確にRMSを計算することができます。ソースMovingLR.mq4にはRMS計算のコードがありますが、コメントアウトされており、RMSはrmsYと呼ばれています。 。