カスタムインジケータ(機能-iCustom)使用時のEA加速度理論について - ページ 2

 
komposter:

また、インジケータが5バッファの場合、iCustomの最初の呼び出しはすべてのバッファを計算し、その後の呼び出しと他のバッファへの要求は準備のできた情報(計算用の新しいデータの出現まで)のみを読み取ります。

I.e. インジケータが少なくとも1回呼び出された場合、要求されたバッファだけでなく、インジケータに含まれるすべてのバッファの情報を受け取っているのでしょうか?あるいは、他のバッファの計算はメモリ上で行われ、それによる再計算は行われないということです。以前に明示的に呼び出されなかった場合(プログラム(EA)がインジケータデータの保存用に明示的にメモリを割り当てていない)、データはRAMから取得されます。 以前、インジケータを呼び出すたびに再計算されると読みましたが、そうではありませんか?

komposter

もし本当に重い指標を持っているなら、最初の呼び出しでデータが計算されてファイルに書き 込まれ、次の呼び出しで読み取り専用になるように、独自のキャッシュシステムを熟考してください。私はこの方法でやったことがありますが、その方がずっと速いです。

しかし、95%のケースでは、そのようなことは必要ありません。テスターはそのままでも十分速いですし、5ではクラウドも接続することができます。

がんばってください。

ハードディスクから読み込んだ方が速いのか、それとも計算したインジケーターデータでメモリー内に仮想ドライブを作ったのか?

まあ、5つは夢物語で、今は4つにしかカスタムアイデアを実装していないんですけどね。

幸運を祈ってくれてありがとうございます。

 
komposter:

本当に重いインジケータを使う場合は、独自のキャッシュシステムを工夫して、最初の実行時にはデータを計算してファイルに 書き込み、それ以降の実行時には読み取り専用にするようにします。私はこの方法でやったことがありますが、その方がずっと速いです。

しかし、95%のケースでは、そのようなことは必要ありません。テスターはそのままでも十分速いですし、5ではクラウドも接続することができます。

がんばってください。

インジケータではなく、Expert Advisorの話ですが、テーマは近いです。私のスキャルパーはかなりカウントしています、各種フィルター、変換など。Matlabでモデルをキャッシュし、まずすべての数学を計算して.matファイルに送り込み、そのデータでストラテジーを実行しました。今は、MQL4 Strategy Testerの最適化が信じられないほど素晴らしいので、同じことをやりたくてうずうずしています。
 
-Aleks-:

つまり、インジケータがプログラムから少なくとも1回呼び出されれば、要求されたバッファだけでなく、インジケータに含まれるすべてのバッファの情報を受け取ったことになるのでは?または、他のバッファの計算がメモリ内で見つかり、それによる再計算がないことを意味します。データは、以前に明示的に呼び出されていない場合(プログラム(Expert Advisor)は、インジケータからのデータを格納するために明示的にメモリを割り当てていない)、RAMから取得されます。以前、インジケータが呼び出されるたびに再計算されると読みましたが、そうではないのでしょうか?

インジケータは1つのバッファだけを計算することはできず、どの呼び出しでも内部にあるすべてのものを考慮します。パラメータで計算を制限できれば別ですが、それはまた別の問題です。

再計算は呼び出しごとに行われますが、通常は0本目のバーだけが再計算されます。また、EAがインテリジェントに書かれている場合、これらのコールはすべてのティックで 発生するわけではありません。

-Aleks-:

ハードディスクからの読み込みの方が速いのか、それとも計算されたインジケーターデータでメモリ内に仮想ディスクを作成したのか?

通常のディスクから読み込むのですが、各バーのインジケータの値ではなく、「time;signal」の文字列を読み込んでいます。このようなデータはあまり必要ではありません。

どの指標にも普遍的な解決策があるとは考えにくく、世界的な問題に頼るべきでしょう。

-Aleks-:

5つの指標については夢物語、4つの指標については自分の考えを実現したに過ぎません。

唯一の違いは、取引部分と時系列(指標を含む)の作業です。

そして、クラウドは本当に強力なものです。

 
VDev:
インジケータではなく、Expert Advisorの話ですが、テーマは近いです。私は、かなり多くの計算をするスキャルパーを持っていて、あらゆる種類のフィルターや変換をします。Matlabでモデルをキャッシュし、まずすべての数学を計算して.matファイルに送り込み、そのデータでストラテジーを実行しました。今は、MQL4 Strategy Testerの最適化が信じられないほど素晴らしいので、同じことをやりたくてうずうずしています。

別のインジケータにキャッシュを持たせる意味はほとんどなく、私もEAで必要なデータからスタートしました。

大雑把に言うと、レディ信号を記録し、それを読み込んでエントリーとポジションサポートを行うだけである。

 
komposter:

インジケータは1つのバッファだけを計算することはできず、任意の呼び出しでその中のすべてを計算します。パラメータで計算を制限できるのであれば別ですが、それはまた別の話です。

再計算は呼び出しごとに行われますが、通常は0本目のバーだけが再計算されます。そして、EAがインテリジェントに書かれている場合、これらのコールはすべてのティックで発生するわけではありません。

つまり、多くのバッファを持つ1つの指標に対応し、そのうちの1つからすべての情報を受け取ると、その異なるバッファからの情報がこの指標に必要な回数だけ計算するよりも、メモリの面で速く、経済的になることがわかりますね。


それでも、誰かが実験をしてくれるかもしれない。そのアイデアが私を忙しくさせているのだから。それとも、イノベーションの研究は有料でないと面白くないのでしょうか?

 
インジケーターのOnCalculate()は、新しい価格で初めてiCustom()が呼び出された時のみ呼び出されます。次のiCustom()呼び出しでは、onCalculate()を開始せずにデータの取得のみを行います。例えば、価格が変更され、次のiCustom()コールがonCalculate()を開始 し、次のコールはデータを受信するだけ、といった具合に価格が変更されるまで続くとします。(今実験的にテストしています)。
 
-Aleks-:

結局、多くのバッファを持つ1つのインジケータをアドレス指定し、そのうちの1つからすべてのバッファに関する情報を取得すれば、このインジケータがその異なるバッファから情報を必要とする回数だけ計算するより速く、メモリも経済的になるということですね。

5バッファーで1インジケーター、1バッファーで5インジケーターはほぼ同じです。
2つのバッファからの情報しか必要ない場合、5つのバッファを持つ1つのインディケータよりも、1つのバッファを持つ2つのインディケータを呼び出す方がより収益性が高くなります。しかし、2つのバッファを持つ1つのインジケータよりも利益が出るわけではありません。


-Aleks- です。

それでも、誰かが実験をしてくれるかもしれない。そのアイデアが私を忙しくさせているのだから。それとも、イノベーションの研究は有料でないと面白くないのでしょうか?

komposter

この方法では、インジケータのメモリ消費量は減りますが(前後のバッファ数の差のおよそ倍)、プロセッサの負荷は増えます(「組み立て」と「分解」を常に行わなければならない)。

メモリ制限がなければ(現在のボリュームでは考えにくいですが)、遅くなるだけです。

 

誤解されているような気がする!?:)

でも、わかっていないのは私の方である可能性が高いということは理解しています。

コード内でカスタムインジケータを 呼び出すとします。このインジケータのバッファを指定する必要があり、その後、コードに従って、最初と同じ名前で、異なるバッファを持つカスタムインジケータを再度呼び出すとします。

質問:インジケータは2回計算されるのですか、それとも1回だけですか?

 
-Aleks-:

...

質問 インジケータは2回計算されるのですか、それとも1回だけですか?

一度だけ。
 
Integer:
1回だけです。
つまり、適切な指標の寄せ集めは、個別に指標を使うよりも早く機能する--だから見積もり資料の請求が少なくなる、ということですか?