MQL関数リファレンス

MQL4MQL5 ファイル

FileOpen()

できること
ファイルを開く(読み込み・書き込み)
対応
MQL4・MQL5

FileOpen() とは

ファイルを開いて、読み書きに使うファイルハンドルを返す関数です。開けるのは MQL4\Files(MQL5\Files)フォルダの中か、FILE_COMMON を付けた共通フォルダの中だけです。

FileOpen() の書式と引数

MQL4 の場合MT4

引数の組み合わせが違う 2 通りの書き方があります。

int FileOpen(string file_name, int open_flags)

int FileOpen(
   string file_name,
   int open_flags,
   int delimiter,
   uint codepage=CP_ACP
)
引数型省略時説明
file_namestring必須ファイル名(Files フォルダからの相対パス)。
open_flagsint必須開き方。FILE_READ(読む)、FILE_WRITE(書く)、FILE_CSV(CSV)、FILE_TXT(テキスト)、FILE_BIN、FILE_ANSI(ANSI 文字コード)、FILE_COMMON(共通フォルダ)、FILE_SHARE_READ などを | で組み合わせます。
delimiterint必須CSV の区切り文字。カンマ区切りなら ','。
codepageuintCP_ACP文字コード(FILE_ANSI のとき)。CP_UTF8 など。

戻り値(MQL4)

ファイルハンドル。失敗したら INVALID_HANDLE(-1)。

MQL5 の場合MT5

引数の組み合わせが違う 2 通りの書き方があります。

int FileOpen(string file_name, int open_flags)

int FileOpen(
   string file_name,
   int open_flags,
   ushort delimiter,
   uint codepage=CP_ACP
)
引数型省略時説明
file_namestring必須ファイル名(Files フォルダからの相対パス)。
open_flagsint必須開き方。FILE_READ(読む)、FILE_WRITE(書く)、FILE_CSV(CSV)、FILE_TXT(テキスト)、FILE_BIN、FILE_ANSI(ANSI 文字コード)、FILE_COMMON(共通フォルダ)、FILE_SHARE_READ などを | で組み合わせます。
delimiterushort必須CSV の区切り文字。カンマ区切りなら ','。
codepageuintCP_ACP文字コード(FILE_ANSI のとき)。CP_UTF8 など。

戻り値(MQL5)

ファイルハンドル。失敗したら INVALID_HANDLE(-1)。

FileOpen() の使い方(コード例)

MQL4・MQL5 共通

// 取引記録を CSV に追記する
int h = FileOpen("trades.csv", FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI, ',');
if(h == INVALID_HANDLE)
{
   Print("ファイルを開けません error=", GetLastError());
   return;
}
FileSeek(h, 0, SEEK_END);
FileWrite(h, TimeToString(TimeCurrent()), _Symbol, "BUY", 0.1);
FileClose(h);

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

FileOpen() の注意点

  • 開いたファイルは必ず FileClose() で閉じます。閉じないと、ほかのプログラムから開けなくなります。
  • FILE_WRITE で開くと、既存の内容は消えます。追記したいときは FILE_READ | FILE_WRITE で開き、FileSeek(ハンドル, 0, SEEK_END) で末尾に移動してから書きます。
  • ストラテジーテスターでは、テスター専用の Files フォルダが使われます。

FileOpen() でよく出るエラー

関連する関数

ファイルの関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE