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

 
Aleksey Vyazmikin:

オプションの試用-誤差の範囲での変更

そうでした。
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated.環境は0:00:00.032に同期されました。テストは0:02:52.037で合格しました(ティックの前処理0:00:00.031を含む)。
2017.07.21 17:23:20.046 Core 1 Si-9.17,M1: ログインからテスト停止までの総時間 0:02:52.069 (履歴データ同期用 0:00:00.032 を含む)
2017.07.21 17:23:20.046 Core 1 ヒストリーデータ32Mb、ティックデータ64Mbを含む351Mbのメモリが使用されました。

あなたのコードになった
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated.環境は0:00:00.031に同期されました。0:02:58.013 (前処理 0:00:00.031 を含む) でテストに合格しました。
2017.07.21 17:27:37.393 Core 1 Si-9.17,M1: ログインからテスト停止までの総時間 0:02:58.044 (履歴データ同期用 0:00:00.031 を含む)
2017.07.21 17:27:37.393 Core 1 ヒストリーデータ32Mb、ティックデータ64Mbを含む352Mbのメモリが使用されました。

エムティーフォー
2017.07.21 17:27:57.070 RUBRUR,M1: 225314ティックイベント(35701バー、231783バー状態)を0:00:04.306で処理(総時間0:00:11.357)。

ここで、関数内の配列宣言を 削除して、グローバル化することも試してみてください。つまり、配列 arr[ 1 ]をグローバルにし、すべての関数から文字列 double arr[ 1 ]; を削除します。
 
Andrey Khatimlianskii:

すでに既成のソリューションについてアドバイスを受けている -https://www.mql5.com/ru/code/18305

お客様のご要望から判断して

あなたにぴったりの1台です。

試してみたところ、このような結果になりました。

2017.07.21 18:15:16.395 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated.環境は0:00:00.047に同期されました。テストは0:02:37.748でパスしました(ティックの前処理を含む 0:00:00.031)。
2017.07.21 18:15:16.395 Core 1 Si-9.17,M1: ログインからテスト停止までの合計時間 0:02:37.795 (履歴データ同期用 0:00:00.047 を含む)
2017.07.21 18:15:16.395 Core 1 ヒストリーデータ32Mb、ティックデータ64Mbを含む540 Mbのメモリが使用されました。

あまり使われないし、はっきりしない理由で決算が違う :(

 
Alexey Kozitsyn:
また、関数内の配列宣言を 削除し、グローバル化する方法も試してみてください。例えば、配列 arr[ 1 ] をグローバルにし、すべての関数から文字列 double arr[ 1 ]; を削除します。

以下はその結果です。

2017.07.21 18:28:58.653 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated.環境は0:00:00.078に同期しました。テストは0:02:51.477でパスしました(ティックの前処理0:00:00.031を含む)。
2017.07.21 18:28:58.653 Core 1 Si-9.17,M1: ログインからテスト停止までの合計時間 0:02:51.555 (履歴データ同期用 0:00:00.078 を含む)
2017.07.21 18:28:58.653 Core 1 ヒストリーデータ32Mb、ティックデータ64Mbを含む359Mbのメモリを使用。

たしかに以前より少しは速くなりましたが、MQL4とは比べものになりませんね...。

 
コードではないと判断したら?今、私のEAがひどく遅くなり、10分ほど終了できない状態になっています。全く手を加えていないのですが・・・。
 
Aleksey Vyazmikin:
コードではないと判断したら?現在、Expert Advisorの動作が遅くなり、10分ほど作業が終了していません。特に変更はしていないのですが・・・。

刻みのモードが変わったことが判明...。ミスティック
 

さて、皆さん、私は今、真剣に 混乱しています。void OnTick()全体をカットして、見事な結果を得ました。

2017.07.21 21:22:08.048 Core 1 Si-9.17,M1: 107509 ticks, 35385 bars generated.0:02:32.928(前処理 0:00:00.031 を含む) でテストに合格しました。
2017.07.21 21:22:08.048 Core 1 ヒストリーデータ32Mb、ティックデータ64Mbを含む346Mbのメモリを使用。

そして、ひょっとしたら、ハンドルを宣言して受け取っている外部指標は、照会すらされていないのなら、速度が落ちているのかもしれない、だとしたら、なぜプロファイリングはそれを黙認したまま、一日かかってしまったのか...という考えが浮かびました。

 
Aleksey Vyazmikin:

...だとしたら、なぜプロファイリングはそれを黙認したまま、私の人生を1日削ってしまったのか...。

だって、コードを載せないで、ここにいるみんなから一日でも命を奪っているんだから。宇宙から逆算して )

 
Andrey Khatimlianskii:

だって、コードを出さないで、ここにいるみんなから一日分の命を奪っているんですもの。宇宙から逆算して )

そういう ことなんでしょうか?

 
Vitaly Muzichenko:

これの ことですか?

のように見える。

 
Vitaly Muzichenko:

これの ことですか?


いえいえ、プロファイリングの結果を掲載したのです