エラー、バグ、質問 - ページ 2276

 

大きな配列の一部を1つのZ値で埋める必要がある場合、私はこの構文を使っています。

ArrayInitialize(ar,Z);     // промежуточный массив размер массива ar = 1000 
ArrayCopy(arr,ar,5000);    // основной массив заполняется значением Z c 5000 по 5999 элемент


多くのトレーダーは、なぜこんなに複雑なんだ、もっとシンプルにできるはずだと言うだろう。

ArrayFill(arr,5000,1000,Z);

しかし、理由は不明ですが、中間配列を使った最初の変形は2番目のものより明らかに速く実行されます。

2018.09.04 11:01:17.222 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 338
2018.09.04 11:01:17.222 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 111
2018.09.04 11:01:18.563 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 301
2018.09.04 11:01:18.563 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 122
2018.09.04 11:01:19.717 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 334
2018.09.04 11:01:19.717 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 142
2018.09.04 11:01:21.095 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 364
2018.09.04 11:01:21.095 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 156

この問題については、すでに2年前にCAに手紙を書きました。問題を発見して修正したので、次のビルドでは大丈夫だとの返信がありました。

しかし、問題は解決しない。

MT4で同じテストをしています。

2018.09.04 11:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayInitialize + ArrayCopy = 113
2018.09.04 11:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayFill = 78
ファイル:
 
Nikolai Semko:

大きな配列の一部を1つのZ値で埋める必要がある場合、私はこの構文を使っています。


多くのトレーダーは、なぜこんなに複雑なんだ、もっとシンプルにできるはずだと言うだろう。

しかし、理由は不明ですが、中間配列を使った最初の変形は2番目のものより明らかに速く実行されます。

この問題については、すでに2年前にCAに手紙を書きました。問題を発見して修正したので、次のビルドでは大丈夫だとの返信がありました。

しかし、問題は解決しない。

MT4で同じテストをしています。

ここが チェックポイントかもしれませんね。

 
Artyom Trishkin:

ここが チェックポイントかもしれませんね。

なんという特異性と繊細さなのでしょう。
世界最速のアルゴリズム取引言語であるMQL4では、配列を扱う重要な標準機能が、時代遅れのMQL4言語に比べて4倍も遅くなっています。
ここだけです。

明らかなボギーです。
それが修正されたとき、どれだけのプログラムが失敗するか想像できますか?
 
Nikolai Semko:

なんという特異性と繊細さなのでしょう。
世界最速のアルゴリズム取引言語であるMQL4では、配列を扱う重要な標準機能が、時代遅れのMQL4言語に比べて4倍も遅くなっています。
ここだけです。

明らかなボギーです。
修正されたとき、どれだけのプログラムが影響を受けるか想像できますか?

よかったです。

しかし、現時点での特徴として......それは悪いことなのでしょうか?
 
Artyom Trishkin:

よかったです。

しかし、現時点での特徴として......それは悪いことなのでしょうか?
そうですね、おそらく問題の言い方が間違っていたのだと思います。まるで、その解決策を話しているかのように見えたのです。
もちろん、そんなことはありません。問題を定式化しようとしたのです。中間配列のオプションは、メモリ論理に基づく実行時間が必要以上に長くなり、さらにメモリの消費を招くため、全く問題の解決にはなりません。
 
Artyom Trishkin:

よかったです。

しかし、現時点での特徴として......それは悪いことなのでしょうか?

アネクドート

ある老人が医者のところに行く。と言っています。

- 先生、背中が痛いんです。

- 前かがみになる。痛みはありますか?

- 痛いんです。

- もっと曲げろ!

- ほら、すっきりした...。

- そこだ!そうやって歩くんだ!

)))))

 
Nikolai Semko:

大きな配列の一部を1つのZ値で埋める必要がある場合、私はある構文を使います。


多くの人は、なぜそんなに複雑なのか、もっとシンプルでいいじゃないか、と言うでしょう。

しかし、理由は不明ですが、中間配列を使った最初の変形は、2番目のものよりもずっと速く動作します。

理解できない!なぜ、大きな配列の一部を1つのZ値で埋める必要があったのでしょうか? あるいは、どのようなデータをどのような目的で配列に割り当てるのでしょうか? Close、AVG、RSIの値?しかし、インジケータがロードさ れた後、MetaTraderのメモリに存在しないのでしょうか?配列の0と1で遊んでいたら、最終的にSOSという言葉が出ました。つまり、Sに0、Oに1の値を割り当てました。もちろん、2番目の配列の大きさでHelpを入力すれば、もっと良い結果になります。 そして、各アレイのサイズに応じた充填時間を確認します。そして、すべてを足し合わせて4で割る。
 
Bob1Thec:
理解できない!なぜ、大きな配列の一部を1つのZ値で埋める必要があったのでしょうか? あるいは、どのようなデータをどのような目的で配列に割り当てるのでしょうか?
写真のモノクロ背景(透明度を含む)は、この方法で行います。
 
fxsaber:
写真のモノクロ背景(透明度を含む)は、この方法で行います。

より正確には、グラデーション背景

 
Nikolai Semko:

より正確には、グラデーション背景

配列に1つの値を入れることで何ができるのか、さっぱりわかりません。