記事"直線回帰例によるインディケータスピードアップの3手法"についてのディスカッション

 

新しい記事 直線回帰例によるインディケータスピードアップの3手法 はパブリッシュされました:

本稿では、インディケータメソッドの計算アルゴリズムの最適化を取り上げます。みなさんはご自身のニーズにもっとも合うメソッドをお探しのことと思います。本稿では3種類の手法について述べます。その一つはきわめて簡単なものです。次のひとつはしっかりした数学の知識が必要です。そして最後のひとつには多少のウィットが必要です。はここで述べられる手法のほとんどを理解するのにインディケータまたはMetaTrader5 ターミナルのデザイン的特性を利用します。その手法はかなり汎用的で直線回帰計算だけでなくその他のインディケータに対しても使用可能です。

作者: Andrew

 

正直なところ、バジャン、このことについては、4番目のフォーラムで知られているように、すでに5年です。

しかし、私はそれが初心者のために興味深いものになると思います。

記事は再び標準的な指標に実装されている統計的手法が支配することを示している、それらを過小評価しないでください。

 
著者の対話。アレクサンドル・スミルノフ。 これはこのトピックに関する2回目の議論である。最初の議論は2006年のどこかで行われた。
。ところで、マシュキを使った2次回帰の公式もある。
Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 
Urain:

正直なところ、バジャン、このことについては、4番目のフォーラムで知られているように、すでに5年になる。

でも、新しい人たちは興味を持つと思う。

そう、この記事は初心者を対象にしている。

この記事は、標準的なインジケーターに実装されている統計的手法が支配していることを改めて示しています。

それは確かだ。ターミナルに組み込まれたインジケーター(iMAなど)は、ターミナル開発者の最適化手法の知識だけでなく、exeファイルの一部として実行されるため、高速に動作すると思います。つまり、外部インジケーターとは異なり、一部のπコードではなく、本格的なコンパイルなのだ。まあ、おそらく、外部インジケーターでは利用できない、タイマーへの直接的な高速アクセスがあるのだろう。

私は畳み込みメソッドに非埋め込みのマッシュを使おうとしたことがありますが、うまく最適化されているとはいえ、埋め込みよりもはるかに遅いです。

Urain:
著者の対話。アレクサンドル・スミルノフ。 このトピックに関する議論はこれで2回目です。最初の議論は2006年のどこかでした。
。ところで、mashkiを使った2次回帰の公式もあります。

はい、似たようなトピックを見たことがあります。しかし、どのようにコンボリューションが得られるのか、ステップ・バイ・ステップで明確になっているところはありませんでした。私は記事のニュアンスをすべて伝えるために、すべての公式を自分で導き出さなければならなかった(下書きを何枚も書いた)。例えば、LWMAの小節番号には厄介な点がある。

 
ds2: ああ、似たようなスレッドを見たことがある。しかし、コンボリューションがどのようになったのか、ステップバイステップで明確なものはどこにもなかった。記事のニュアンスをすべて伝えるためには、自分ですべての数式を出力しなければならなかった(何枚も下書きを書いた)。例えば、LWMAの小節番号には厄介な瞬間がある。

これがその証明 だ。つまり、Urainが リンクを張ったより少し前のことだ。

私は優先権を主張しない。)一般的に言って、それはほとんど些細な事実である。

P.S.もし私がすべてを忘れていなければ、速度の比較の結果はやはり古典的な計算を支持していたが、かなり最適化されていた(差は大きくないが、それでも;Candid' aの投稿を参照)。しかし、同様の手法を高次の回帰(2次、3次など)にも適用することで、古典的な手法よりも「畳み込み」手法の優位性を示すことができるようだ。

Диалог автора. Александр Смирнов. - MQL4 форум
  • www.mql5.com
Диалог автора. Александр Смирнов. - MQL4 форум
 

とても良い記事で役に立ちますが、1つ質問があります。

もしMoving Totalsメソッドを使用すると、インジケーターは非常に速くなりますが、これは4つの補助バッファを 追加することを意味し、メモリ消費量が増えます。

そこで質問なのですが、メモリ消費量の少ない標準的な方法と、メモリ消費量は多いが高速な移動合計法のどちらが良いのでしょうか?

 

実装がおかしい:

LRMethod==LR_M_Sumのとき

の場合、Sx と Sxx は定数であることがわかります。

Sxx = ExtBufSxx[prevbar];

ExtBufSxx [bar] = Sxx;

もしそうなら、なぜバッファなのだろう?


おそらく、ムービングサム 法を使用してSMAとLWMAをカウントし、その結果を畳み込みとしてカウントすれば、さらに速くなるだろう。

さらに、SMAとLWMAで計算できる回帰の傾きも知っておくとよいでしょう。

4:https://www.mql5.com/ja/code/10642 で実装してみた。

Быстрая LRMA
Быстрая LRMA
  • 投票: 3
  • 2012.03.08
  • Vladislav Eremeev
  • www.mql5.com
Написан под впечатлением от статьи "3 метода ускорения индикаторов на примере линейной регрессии". Считает очень быстро.
 

こんにちは、

各バーで回帰関数を 作成し(最後のバーの定義された数に従って)、そのバーでどのような値を持つべきかを表示します。

しかし、どのように最新の回帰線の傾きを計算することができます(私は曲線を形成する最後のポイントのみを知っています)...


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

ペトル

 

こんにちは

この記事をありがとうございます。しかし、私のMQL5コード内であなたのメソッドを呼び出す方法を教えていただけますか?あなたのメソッドを統合した後、私のコード内でどのように線形回帰によって 返された値を得ることができますか?