初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 950 1...943944945946947948949950951952953954955956957...1503 新しいコメント Aleksey Vyazmikin 2018.12.03 09:08 #9491 Vladimir Karputov:ライフハックのトレーダー向け記事の例:バックテストは1回でも良いが、4回した方が良い。3.3 FindFirstFileW, FindNextFileWの使用例ありがとうございました。そこそこ簡単なので、Win APIでないと無理か? Vladimir Karputov 2018.12.03 09:11 #9492 Aleksey Vyazmikin:ありがとうございました。そこそこ簡単なので、Win APIでないと無理か?この場合、MQL5のドキュメントを読んでください。FileFindFirstファイルフィンドネクスト Alexey Viktorov 2018.12.03 09:59 #9493 Aleksey Vyazmikin:ありがとうございました。そんな単純な話じゃないから、Win APIがないとできないの?何がそんなに複雑なんだ?2段落読んで、すべて納得。 1. 指定されたディレクトリ、Commonまたはターミナルフォルダ 内のALL ANYファイルを検索します。ひとつひとつに道をつけていくのです。 2.このラインで作業してください。この行で指定されたフォルダを探し、指定されたフォルダ名が何回出てくるかを数える。これは、フォルダとそのサブフォルダ内のファイル数になります。 fxsaber 2018.12.03 10:04 #9494 Aleksey Vyazmikin: 指定されたディレクトリMQL5Filesに含まれるディレクトリのリストを取得する方法を教えてください。 string GetDirectory( const string FileName ) { int Pos = ::StringFind(FileName, "\\"); int LastPos = Pos; while (Pos >= 0) { LastPos = Pos; Pos = ::StringFind(FileName, "\\", Pos + 1); } return((LastPos >= 0) ? ::StringSubstr(FileName, 0, LastPos + 1) : ""); } // Получает список всех директорий (c поддиректориями) песочницы int GetDirectories( string &Directories[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 ) { string FileName; const long handle = ::FileFindFirst(Filter, FileName, Common_Flag); if (handle != INVALID_HANDLE) { const string Directory = ::GetDirectory(Filter); Filter = ::StringSubstr(Filter, ::StringLen(Directory)); do { const string TmpFileName = Directory + FileName; if (!::FileIsExist(TmpFileName, Common_Flag) && (::GetLastError() == ERR_FILE_IS_DIRECTORY)) // https://www.mql5.com/ru/forum/1111/page2337#comment_9723503 { ::ResetLastError(); ::ArrayResize(Directories, Pos + 1, 10000); Directories[Pos] = TmpFileName; Pos++; Pos = ::GetDirectories(Directories, Pos, TmpFileName + Filter, Common_Flag); } } while (::FileFindNext(handle, FileName)); ::FileFindClose(handle); } return(Pos); } void OnStart() { string Folders[]; GetDirectories(Folders); ArrayPrint(Folders); } ここから 引用もしかしたら、そこで他の機能が役に立つかもしれません。 MQL5 Site / file.mqh - Скачать бесплатно скрипт 'ThirdPartyTicks' от 'fxsaber' для MetaTrader 5 в MQL5 Code Base www.mql5.com class FILE { private: static int GetFileNames( string &FileNames[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 ) { string FileName; const long handle = ::FileFindFirst(Filter, FileName, Common_Flag); if (handle != INVALID_HANDLE) { const string Directory = FILE::GetDirectory(Filter... Aleksey Vyazmikin 2018.12.03 11:41 #9495 Vladimir Karputov:続いて、MQL5のドキュメントから。FileFindFirstファイルフィンドネクストありがとうございます。でも、まだ応募は難しいですね...。 Aleksey Vyazmikin 2018.12.03 11:43 #9496 fxsaber:ここから 引用もしかしたら、そこにある他の機能が役に立つかもしれません。ありがとうございます!コードはうまくいきました。また、深さ方向の分岐やファイル名を使わずに、指定したディレクトリのディレクトリ名だけを取得するにはどうしたらよいでしょうか。 fxsaber 2018.12.03 11:45 #9497 Aleksey Vyazmikin:ありがとうございます!コードはうまくいきました。しかし、深さ方向の分岐やファイル名を使わずに、指定したディレクトリのディレクトリ名だけを取得するにはどうしたらよいのでしょうか?// Pos = ::GetDirectories(Directories, Pos, TmpFileName + Filter, Common_Flag); Aleksey Vyazmikin 2018.12.03 11:51 #9498 fxsaber: ありがとうございます。しかし、特定のサブディレクトリ内のディレクトリを取得する方法がわかりません。例えば、MQL5Filesに「test」ディレクトリがあることは知っているので、その中のディレクトリを見る必要があるのです。 fxsaber 2018.12.03 11:53 #9499 Aleksey Vyazmikin:ありがとうございます。しかし、特定のサブディレクトリ内のディレクトリを取得する方法がわかりません。例えば、MQL5Filesに「test」ディレクトリがあることは知っているので、その中のディレクトリを見る必要があるのです。 GetDirectories(Folders, 0, "test\\*"); Aleksey Vyazmikin 2018.12.03 11:59 #9500 fxsaber: ということでやってみたが、そこにはファイルも表示されている...ファイルとフォルダをどう区別 するのかが不明である。 1...943944945946947948949950951952953954955956957...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ライフハックのトレーダー向け記事の例:バックテストは1回でも良いが、4回した方が良い。
ありがとうございました。そこそこ簡単なので、Win APIでないと無理か?
ありがとうございました。そこそこ簡単なので、Win APIでないと無理か?
この場合、MQL5のドキュメントを読んでください。
ありがとうございました。そんな単純な話じゃないから、Win APIがないとできないの?
何がそんなに複雑なんだ?2段落読んで、すべて納得。
1. 指定されたディレクトリ、Commonまたはターミナルフォルダ 内のALL ANYファイルを検索します。ひとつひとつに道をつけていくのです。
2.このラインで作業してください。この行で指定されたフォルダを探し、指定されたフォルダ名が何回出てくるかを数える。これは、フォルダとそのサブフォルダ内のファイル数になります。
指定されたディレクトリMQL5Filesに含まれるディレクトリのリストを取得する方法を教えてください。
ここから 引用もしかしたら、そこで他の機能が役に立つかもしれません。
続いて、MQL5のドキュメントから。
ありがとうございます。でも、まだ応募は難しいですね...。
ここから 引用もしかしたら、そこにある他の機能が役に立つかもしれません。
ありがとうございます!コードはうまくいきました。また、深さ方向の分岐やファイル名を使わずに、指定したディレクトリのディレクトリ名だけを取得するにはどうしたらよいでしょうか。
ありがとうございます!コードはうまくいきました。しかし、深さ方向の分岐やファイル名を使わずに、指定したディレクトリのディレクトリ名だけを取得するにはどうしたらよいのでしょうか?
// Pos = ::GetDirectories(Directories, Pos, TmpFileName + Filter, Common_Flag);
ありがとうございます。しかし、特定のサブディレクトリ内のディレクトリを取得する方法がわかりません。例えば、MQL5Filesに「test」ディレクトリがあることは知っているので、その中のディレクトリを見る必要があるのです。
ありがとうございます。しかし、特定のサブディレクトリ内のディレクトリを取得する方法がわかりません。例えば、MQL5Filesに「test」ディレクトリがあることは知っているので、その中のディレクトリを見る必要があるのです。
ということでやってみたが、そこにはファイルも表示されている...ファイルとフォルダをどう区別 するのかが不明である。