"ダミー "からの質問 - ページ 108

 

Expert Advisorはcsvファイルからパターン値を取得します。取引時にはすべて機能しますが、テスターでは機能しません。csvファイルはどこに置き、どのようなフォルダを作成すべきですか?

私はこのようにしました

このファイルは、クライアントターミナルのサブフォルダーMQL5㎤で開かれます(テストの場合は、フォルダー_Testing_agent㎤で開かれます)。

しかし、うまくいかず、テストエージェントの ディレクトリはどこにあるのか?

 
openlive:
Expert Advisorはcsvファイルからパターン値を取得します。取引時にはすべて動作しますが、テスターでは動作しません。csvファイルはどこに置き、どのフォルダを作成すべきですか?
定数tester_fileの 説明はリファレンスマニュアルをご覧ください。
 
Yedelkin:
定数tester_fileの 説明はリファレンスマニュアルをご覧ください。

Looked at it, put the file in Mql5TesterFiles

が、テスターは静止しているだけ。

これがテスターファイルそのものです。

ファイル:
 
openlive:

を見て、そのファイルをMql5TesterFilesに置く。

FileOpen() 関数の説明には、「The file opens in client terminal folder in subfolder MQL5files (or in the_agent_tester genus MQL5files directory in thetesting in case of the testing)」と書かれています。試してみてください。

a) ファイルへのフルパスを次のように指定します。

string filename=TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Tester\\Files\\"+"file.csv";

b)ファイルをエージェントのディレクトリに置く

私自身は遭遇したことがありません。他のファイル操作機能の説明から、テストの場合はMql5TesterFilesでファイルを探さなければならないことがわかる。

追加です。はい、そこでいくつかのファイルを開いていますね。そして、tester_fileには、1つだけあります。

 
Yedelkin:

FileOpen() 関数の説明には、File opens in folder of the client terminal in subfolder MQL5⃛files (orcatalog_agent_testing⃛MQL5⃛files in thecase of testing)」とあるように、クライアント端末 のフォルダを開く。試してみてください。

a) ファイルへのフルパスを次のように指定します。

b)ファイルをエージェントのディレクトリに置く

私自身は遭遇したことがありません。ハンドブックには、テスト用のファイルをどこに置くべきか、直接的な指示は見当たりません。

追記はい、そこでいくつかのファイルを開いていますね。また、tester_fileには、1つだけ指定します。

a)やった-役に立たなかった。

b) どうすればいいか分からない。 MQL5TesterFiles フォルダしかなくて、testing_agent_folder の 下のどのフォルダを指しているのかが分からない。

 

こちらもどうぞhttps://www.mql5.com/ru/forum/1111/page182#comment_31599 2つの投稿をご覧ください。ファイル置き場が "MQL5Files "になっていると、ちょっとだけ動いた。

まあ、TerminalInfoString(TERMINAL_COMMONDATA_PATH) で共有フォルダに移動してみてはいかがでしょうか。また、ファイル自体を開くときは、フラグFILE_COMMONを設定します。

 

イェデルキン

こちらもどうぞhttps://www.mql5.com/ru/forum/1111/page182#comment_31599 2つの投稿をご覧ください。ファイル置き場が "MQL5Files "になっていると、ちょっとだけ動いた。

まあ、TerminalInfoString(TERMINAL_COMMONDATA_PATH) で共有フォルダに移動してみてはいかがでしょうか。そして、ファイル自体を開くときにFILE_COMMONフラグを設定します。

C:³³³³³ にあるファイルをコピーし、FILE_COMMON フラグを立てます。

テスターはとにかく何も言いません。

他にどうすればいいかわからない

 

つまり、Mql5TesterFilesにも、Mql5Filesにも、クライアント端末の共有フォルダにもないファイルを見つけることが、役に立つということでしょうか。

FileIsExist() チェックを出力で 行うようにした。

プログラムが使用する他のファイルは、tester_fileを使って書きましたか?

本題とは関係ない発言。をお持ちですか?

int handle16=FileOpen("signal10000.csv",FILE_WRITE|FILE_CSV,";");
int handle17=FileOpen("signal10000.dat",FILE_WRITE|FILE_BIN,";"); 
int handle=FileOpen(filename,FILE_READ|FILE_CSV,";");

など

ティックごとに呼び出されます。これは非常に面倒なことです。特別な理由がない限り、OnInit()関数でファイルハンドルを取得し、無効であることを確認した後、FileOpen() 関数ではなく、オープンしたファイル ハンドルで動作させる必要があります。

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Yedelkin:

つまり、Mql5TesterFilesにも、Mql5Filesにも、クライアント端末の共有フォルダにもないファイルを見つけることは、助けになるのでしょうか?

FileIsExist() チェックを出力で 行うようにした。

プログラムが使用する他のファイルは、tester_fileを使って書きましたか?

本題とは関係ない発言。をお持ちですか?

など

ティックごとに呼び出されます。これは非常に面倒なことです。特別な理由がない限り、OnInit()関数でファイルハンドルを取得し、無効であることを確認した後、FileOpen() 関数ではなく、オープンしたファイル ハンドルで動作させる必要があります。

実際には、ファイルは毎回のように呼び出されるわけではありません...。新しいバーのチェックはありますが、とにかくありがとうございます。

FileIsExist()を試してみます。

 
openlive:

実際には、ファイルは毎回のように呼び出されるわけではありません...。新しいバーの チェックがありますが、とにかくありがとうございます。

ああ、しっかり見ていないんだ。しかし、あなたは要点を正しく理解した :)