バイナリファイルの読み書き(ファイル操作の応用)|MQL4ファイル操作の基本
執筆者
佐川直弘(株式会社トリロジー取締役)
バイナリファイルの読み書き(ファイル操作の応用)
MQL4では、バイナリファイルを操作することで、高速かつ効率的にデータを扱うことができます。ここでは、`FileReadArray`関数と`FileWriteArray`関数を使用してバイナリデータを読み書きする方法を説明します。
- FileReadArray関数とFileWriteArray関数
- FileReadArray関数は、バイナリファイルから配列にデータを読み込むために使用します。同様に、FileWriteArray関数は、配列のデータをバイナリファイルに書き込むために使用します。
- 構文:
- int FileReadArray(int handle, void &array[]);
int FileWriteArray(int handle, void &array[]); - 例: バイナリデータの取り扱い方法
- double dataToWrite[] = {1.1, 2.2, 3.3};
double dataToRead[3]; - バイナリファイルにデータを書き込む
- int handle = FileOpen(“data.bin", FILE_WRITE|FILE_BIN);
if (handle > 0) {
FileWriteArray(handle, dataToWrite);
FileClose(handle);
} else {
Print(“ファイルを開けませんでした");
} - バイナリファイルからデータを読み込む
- handle = FileOpen(“data.bin", FILE_READ|FILE_BIN);
if (handle > 0) {
FileReadArray(handle, dataToRead);
FileClose(handle);
Print(“読み込んだデータ: “, DoubleToStr(dataToRead[0], 2), “, “, DoubleToStr(dataToRead[1], 2), “, “, DoubleToStr(dataToRead[2], 2));
} else {
Print(“ファイルを開けませんでした");
}
CSVファイルの操作
CSVファイルは、データの保存や読み込みに便利な形式です。ここでは、`FileReadString`と`FileWriteString`を使用して、CSV形式のデータを操作する方法を説明します。
- FileReadStringとFileWriteStringの活用
- FileReadString関数は、ファイルから1行ずつ文字列を読み込みます。一方、FileWriteString関数は、文字列をファイルに1行ずつ書き込みます。
- 構文:
- string FileReadString(int handle);
int FileWriteString(int handle, string text); - 例: CSV形式でのデータ入出力
- CSVファイルにデータを書き込む
- int handle = FileOpen(“data.csv", FILE_WRITE|FILE_CSV);
if (handle > 0) {
FileWriteString(handle, “Date,Price,Volume");
FileWriteString(handle, “2024-06-30,145.23,1000");
FileClose(handle);
} else {
Print(“CSVファイルを開けませんでした");
} - CSVファイルからデータを読み込む
- handle = FileOpen(“data.csv", FILE_READ|FILE_CSV);
if (handle > 0) {
while (!FileIsEnding(handle)) {
string line = FileReadString(handle);
Print(line);
}
FileClose(handle);
} else {
Print(“CSVファイルを開けませんでした");
}
まとめ
以上が、MQL4におけるファイル操作の応用についての解説です。バイナリファイルとCSVファイルの操作を理解することで、より高度なデータ管理と分析が可能になります。次回は、さらに高度なファイル操作のテクニックについて紹介します。
ディスカッション
コメント一覧
まだ、コメントがありません