トップ  >  リファレンス  >  ファイル関数
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ
ファイル関数



ファイルを操作する為の関数です。

セキュリティ上の理由から、ファイル操作はMQL4言語で厳格に制御されます。
ファイルサンドボックス(セキュリティモデル)の外にあるファイルは、MQL4プログラムでファイル操作する事は出来ません。

作業ファイルを配置できるディレクトリは2つあります。

 ・"ターミナルデータディレクトリ\MQL4\Files" (ターミナルメニューで「ファイル」⇒「データフォルダを開く」で開かれる場所)
 ・コンピュータにインストールされた全ターミナルの共通フォルダ。
    (通常は"C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\Common"に配置されますが、基本的にOSに依存します)

他ディレクトリのファイルは操作出来ません。


TerminalInfoString()関数でENUM_TERMINAL_INFO_STRING列挙値を指定する事で、
これらのディレクトリを取得する事が出来ます。


サンプルソース:
void OnInit() {
    Print("ローカルディレクトリ:",TerminalInfoString(TERMINAL_DATA_PATH)      );
    Print("共通ディレクトリ    :",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
}



ファイル関数はいわゆる"名前付きパイプ"(FIFO)で作業を行います。
これを行うには適切なパラメータでFileOpen()関数を呼び出します。
関数 詳細
FileFindFirst 指定したフィルタでディレクトリ内のファイルを検索
FileFindNext FileFindFirst()関数の検索を続けます
FileFindClose 検索ハンドル閉じます
FileOpen 指定した名前とフラグでファイルを開きます
FileDelete 指定したファイルを削除します
FileFlush 入力/出力ファイルバッファに残っている全データをディスクへ書き込みます
FileGetInteger ファイルプロパティ(int)を取得します
FileIsEnding ファイルの終端判定
FileIsLineEnding ファイルの行末判定
FileClose ファイルを閉じます
FileIsExist ファイルの存在有無チェック
FileCopy ファイルコピー
FileMove ファイルの移動・名前変更
FileReadArray BIN形式ファイルの配列読込み(文字列は読み込まない)
FileReadBool CSV形式ファイルの現在位置から読込み区切りまでの文字列を読み取り、
読み取った文字列をbool型データに変換します。
FileReadDatetime CSV形式ファイルから"YYYY.MM.DD HH:MI:SS","YYYY.MM.DD","HH:MI:SS"のいずれかの形式の文字列を読み取り、
datetime型データに変換します。
FileReadDouble 現在位置のファイルポインタからdouble値を読み取ります
FileReadFloat 現在位置のファイルポインタからfloat値を読み取ります
FileReadInteger 現在位置のファイルポインタからint,short,char値を読み取ります
FileReadLong 現在位置のファイルポインタからlong値を読み取ります
FileReadNumber CSV形式ファイルの現在位置から読込み区切りまでの文字列を読み取り、
読み取った文字列をdouble型データに変換します。
FileReadString 現在位置のファイルポインタから文字列(string)を読み取ります
FileReadStruct BIN形式ファイルを現在位置のファイルポインタから構造体データ読み取ります
FileSeek 指定した位置を基準にして、ファイルポインタを指定したバイト数分移動します。
FileSize ファイルサイズを返します
FileTell ファイルポインタの現在位置を返します
FileWrite CSVまたはBINファイルにデータを書き込みます
FileWriteArray BIN形式ファイルに配列データ内容を書き込みます(文字列を除く)
FileWriteDouble BIN形式ファイルにdouble型データを(現在のファイルポインタから)書き込みます
FileWriteFloat BIN形式ファイルにfloat型データを(現在のファイルポインタから)書き込みます
FileWriteInteger BIN形式ファイルにint型データを(現在のファイルポインタから)書き込みます
FileWriteLong BIN形式ファイルにlong型データを(現在のファイルポインタから)書き込みます
FileWriteString CSVまたはBIN形式ファイルに文字列(string)データを(現在のファイルポインタから)書き込みます。
FileWriteStruct BIN形式ファイルに構造体データの値を(現在のファイルポインタから)書き込みます
FolderCreate "Files"ディレクトリ内に新しいフォルダを作成します
FolderDelete 指定したディレクトリを削除します。フォルダが空で無い場合は削除出来ません
FolderClean 指定したフォルダ内のファイルを全て削除します
FileOpenHistory "history"ディレクトリ(またはそのサブフォルダ)のファイルを開きます



ファイルがFileOpen()関数使用して書き込み用に開かれている場合、
パスで指定されたサブフォルダが存在しない時は、指定したサブフォルダが全て作成されます。

管理人の勝手なコメント:
上記一覧にはありませんが、ストラテジーテスター動作中にファイル関数を使用しましたが、
関数の戻り値は正常になりますが実際にファイル操作は行われませんでした。


スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system