線形回帰の記述を支援する - ページ 2

 
kvn писал (а): so where is the mistake [...] ?...?
DNA?
 
kvn:
LRについては論外です。ということは、インジケーターコードのどこに誤りがあるのでしょうか?
誰が知るものか。あなたがどんなアルゴリズムを実装しようとしているのか、誰も知らないのです。まずアイデアを書き、次に数式を書き、そしてこのコードでこんなことができます、という説明を書きます。そして、誰も推測しない。
 
又もや
LRの算出方法
//インジケータは、LR = at+b の式で計算されます。
//ここで、LR - 予想される「平均」終値
//t -時点,(インディケータ内の変数n1)Pt -過去n期間の終値(Close[n2])
//a = (n*SUMM(t*Pt) -SUMM(t)*SUMM(Pt))/(n*SUMM(t^2) - (SUMM(t))^2) -回帰直線の角度正接(t),
//b = 1/n*(SUMM(Pt)-a*SUMM(t))、-水平シフト}。

上記のインジケータコード

n=1から100まで間違って計算し、n=22と出力して結果が正しいので、ループの書き方が間違っていると思うのですが、どこが違うのでしょうか。
 
同期がとれていないようです。バーn個のxに対して、yのインデックスをnn個取る。
n2=n+n1-1 = n+nn-1
近くに回帰指標はたくさんある、例えばhttps://forum.mql4.com/ru/10446/page39、全部検索すると、端から閲覧していくのが良いだろう。
 
数式で推論するしかない。
 
lna01:
同期がとれていないようです。バーnの場合、xはnnをとり、yのインデックスは
n2=n+n1-1 = n+nn-1

.そして一般的に
は、近くにたくさんの回帰指標があります。
https://forum.mql4.com/ru/10446/page39、すべてを求めるなら。
最後に始めたほうがいいんです。


n1はnnと等しくなく、1からnnまで変化する - インジケーターの周期。
n - 再計算されるバーの数(テール全体を引っ張らずに高速に動作させるため).

一般にhttps://forum.mql4.com/ru/10446/page39 は線形回帰ではなく、MAを微分したものである。
 
kvn:
lna01 です。
同期がとれていないようです。バーnの場合、xはnnをとり、yのインデックスは
n2=n+n1-1 = n+nn-1

n1はnnと等しくなく、1からnnまで変化する - インジケーターの周期。
で、n は再計算するバーの数です (作業を高速化し、テール全体を引きずらないようにするためです)。

一般にhttps://forum.mql4.com/ru/10446/page39 は線形回帰ではなく、MAを微分したものである。
まあ、ともかく、LRを意図的にピリオドでずらしたとしよう。私はこれを提案します:トリッキーな表現を置き換える
b=(1/nn)*(ssm3-a*ssm2);
置き換える
b=(1.0/nn)*(ssm3-a*ssm2);
(主なミスはここ)。
また、シフトが不要な場合は、に置き換えてください。
LR=a*nn+b;
まで
LR=a+b;
その後、このインディケータで描画されるものとat_LR0. mq4による ものを比較し、なぜMAの微分でないのか、どうすれば正しく尾を引くことができるのかを探ってみてください。

追伸:パラメータに煩わされず、インジケータを時間足チャートに配置させ、インジケータの期間をもう1つ設定します。
 
(主なミスはここ)。
このような情報があるとは思いもしませんでした。
変数の1つが整数である場合、定数は分数で書かなければならないことがわかった。肝に銘じておきます。
また、DRかどうかについては、個人の問題です。
私のインジケータをチャートに置き、線の変曲点に注目する。常にトレンドの終点であり、出口としては悪くない。
そして、MA(any)との交差もいい感じです。

インジケーターを速くする方法、MTの速度を上げる方法など、情報をいただけるとありがたいです。
また、MTの様々な演算子の実行速度に関する情報(例えば、ループの異なる演算子で何クロックサイクル実行されるか)を知っている人がいるかもしれません。
 
kvn:
(主なミスはここ)。
このような情報があるとは思いもしませんでした。
変数の1つが整数である場合、定数は分数で書かなければならないことがわかった。了解です。
キャスティングの ことであれば、MQL4でも 他のすべてのプログラミング言語でも記述されています。
 
kvn:
また、ターンテーブルを速くする方法、MTの速度を上げる方法など、情報があれば教えていただきたいです。
また、異なるMT文の実行速度に関する情報(例えば、異なる文が何クロックサイクルで実行されるか)を知っている人がいれば教えてください。
MTに関する限り、インジケータ・バッファの 数を最小限に抑えるようにすることは、ユーザーにとって有用である。演算子の実行速度は、通常、Print演算子やGetTickCount演算子を使って個別に学習します。誰かがこれを咀嚼して記事にしてくれるのは歓迎すべきことではあるが。