MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 593

 

もう一つ質問ですが、複数のTFからデータをコピーするEAでは、テスターはどの程度機能するのでしょうか?

もし正しければ、テスト時にどのTFを選択するかが重要なのでしょうか?

 
Juer:

テスト実行 時にメモリ不足のエラーが出る(起動しない)。どうすれば直るのか?

端末を再起動後、テストを開始し、数回テストした後、再びメモリ不足になる。

ヒストリーに表示されるバーの数を減らしてください(ただし、この場合、ディープクォートのヒストリーが消えてしまうので、どちらが重要かを判断してください)。 また、ターミナルで開くチャートが多すぎる可能性があります。時には、ユーザーが100万バーの履歴を持つチャートを50個ほど開くこともあります。この場合、メモリはなくても十分です。

 
Artyom Trishkin:

そこで、的確に答えてくれることでしょう。

コードの行数は数万行に及びます。ログのエラーは、テスト後のみ xxx 未削除オブジェクトが残っています。平均して9回ほどテストを実行すると、メモリ不足でエラーになります。

 
Ihor Herasko:

履歴の表示数とバーの数を減らしてください(この場合のみ、相場の深い履歴が消えますので、どちらが重要かを判断してください)。 また、ターミナルで多くのチャートを開きすぎている可能性があります。時には、ユーザーが100万バーの履歴を持つチャートを50個ほど開くこともあります。この場合、メモリはなくても十分です。

いいえ、何の役にも立ちませんし、何の影響も与えません。1つのチャートでテストし、履歴を最小限に減らしています。繰り返しになりますが、テストはできても回数に限りがあります。10回目くらいのテストで、メモリ不足のエラーがポップアップで表示される。

 
Juer:

コードの行数は数万行に及びます。ログのエラーは、テスト後のみ xxx 未削除オブジェクトが残っています。平均して、9つのテストを実行すると、メモリ不足でエラーになります。

これらはすべてメモリーリークです。deleteコマンドで 各オブジェクトに割り当てられているメモリを解放することで、それらを取り除く必要があります。

 
Ihor Herasko:

これらはすべてメモリーリークです。deleteコマンドで各オブジェクトに割り当てられているメモリを解放することで消去する必要があります。

OnDeinit()ですべてのオブジェクトを削除します。グラフィカルなオブジェクト、クラスオブジェクト があればそれも削除します。

 
Artyom Trishkin:

OnDeinit()ですべてのオブジェクトを削除します。グラフィカルなオブジェクト、クラスオブジェクトが あればそれも削除します。

表示されないのに、どうやってそこで削除すればいいのか...。

オブジェクトのコレクション(CArrayObjから継承したクラス)があり、それらは順番に類似したオブジェクトのリストに追加され、それらは最終オブジェクト(同じくCArrayObjから継承したクラス)に追加されます。そして、それらを削除するときは、プログラムの実行中に必要なものを削除するのではありません。

 
Juer:

表示されないのに、どうやってそこで削除すればいいのか...。

オブジェクトのコレクション(CArrayObjから継承したクラス)があり、それらは順番に類似したオブジェクトのリストに追加され、それらは最終オブジェクト(同じくCArrayObjから継承したクラス)に追加されます。そして、それらを削除するときは、プログラムの実行中に必要なものを削除するのではありません。

作成したオブジェクトが見えないということはありません。

ある機能からアクセスできないこともあるが、オブジェクト自体からアクセスできなければならない。これは、メモリをクリアする必要があるオブジェクトです。これは通常、クラスのデストラクタで 行われます。念のため、すべてのデストラクタとOnDeinitにPrintsを記述してください。

 
グラフにOCTパネルがあるかどうか判断する方法をご存知の方、教えてください。
 
Stanislav Dray:
どなたかご存知の方、グラフ上でOCTパネルの存在を確認する方法を教えてください。

OCTパネルとは?