[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 353

 
Zhunko:

最適化が先決です。MQL4スピードは、ほとんどの作業に適しています。

MT4フォルダにDLL用のサンプルがあります。


つまり、1回のスクリプトの実行に数時間かかるような、個々のタスクのことです。最適化とはどういうことですか?
 
通常、計算アルゴリズムの再設計、繰り返し動作のループからの除外、遅い構造の回避、多次元配列など、計算を高速化するためのオプションが用意されています。
 
splxgf:
通常、計算アルゴリズムの変更、繰り返し動作のループ外への移動、遅い構文の回避、多次元配列など、計算を高速化するバリエーションがあります。

未決済注文の特性を多次元配列 に格納するのが良いか、それとも複数の一次元配列に格納し、特性ごとに1つずつ格納するのが良いか、という質問に対する答えはありますか?両方の方法で試してみました。速度の差は感じませんでした。最適な方法はどれでしょうか(成行と保留の両方の異なる注文、そして多分、異なる指示の負け注文)。

おそらく、「問題の要求に応じて」ではないでしょうか?

 
splxgf:
通常、計算アルゴリズムの再設計、繰り返し動作のループからの除外、遅い構文や多次元配列の回避など、計算を高速化するオプションが用意されています。

難しいことでなければ、そのような最適化の例を示していただけますか。例えば、 Alligator indicator iAlligatorの全期間を1-100まで(7期間)と考えると、数学的な演算自体は単純(加算、減算)である。

 
snail09:

未決済注文の特性を多次元配列に格納するのが良いか、それとも複数の一次元配列に格納し、特性ごとに1つずつ格納するのが良いか、という質問に対する答えはありますか?両方の方法で試してみました。速度の差は感じませんでした。最適な方法はどれでしょうか(成行と保留の両方の異なる注文、そして多分、異なる指示の負け注文)。

おそらく、「問題文にしたがって」ということになるのではないでしょうか?


まだ遭遇したことがないので、わかりません。しかし、あなたのコードが正しく、タスクを実行するのであれば、どのような配列でも違いはないと思います。
 
khorosh:
その外部変数に日付を設定し、その日付以前にオープンされたすべての注文が持分を計算する際に考慮されないようにすることができる持分のインジケータはありますか?


これを見てください...Begin_MonitoringとDraw_Begin...

ファイル:
 
FelixFX:

私が言っているのは、1つのスクリプトの実行に数時間かかるような、個々のタスクのことです。最適化とはどういうことですか?
より速く動作するように、コードを修正するという意味です。MQL4にはいくつかの特徴があり、それを知ることで計算を数倍高速化することができます。コードがなければ、何が最適化されるかはわかりません。
 
Zhunko:
これは、より速く動作するようにコードを修正することを意味します。MQL4には特殊な部分があり、それを知ることで計算を数倍速くすることができます。 あなたのコードがなければ、何が最適化できるかは言えません。

例えば、1-100(7変数パラメータ)からアリゲーターiAlligator指標の すべての期間を考慮し、数学的操作は簡単です(加算、減算 - 例えば、各バーの最大値と最小値の差の合計を取ることができ、その終値は指標のすべての行よりも高くなっています)。
 
FelixFX:

まだ出会っていないので、わからない。しかし、あなたのコードが正しく、やるべきことをやっているのであれば、どの配列でも違いはないのだと思います。
どちらの選択肢も正解です。だから聞いたんです。また、「自分の」注文をどのように追跡しているのでしょうか?シェアしてください。
 
FelixFX:

難しくなければ、そのような最適化の例を示していただけないでしょうか。例えば、 alligator indicator iAlligatorの1~100までの全期間(7期間)を考える。数学の演算自体は単純(加算、減算)である。

例えば、過去2年間に価格がある水準を何回超えたかという問題です。

1.各レベルを取り上げて、2年分のデータに目を通すことができます。コスト:バーの本数×レベル 数。

2.レベルの別配列を作成することができます。配列の必要な要素をチェックし、インクリメントすることで、すべてのバーを見直すことができれば十分です。この場合、計算が速くなります。