技術辞典

MQL5ファイル操作関数辞典|FileOpen・FileRead・FileWrite・CSV出力の基本

EAファンクラブ

MQL5でEAやインジケーターを開発する場合、ファイル操作は、CSVログ出力、設定ファイル読み込み、外部制御ファイル、検証結果の保存、バックテスト記録などでよく使います。

特に、FileOpenFileCloseFileReadStringFileWriteFileWriteStringFileIsExistFileDeleteFolderCreateFILE_CSVFILE_COMMON、文字コード、区切り文字、保存先の違いは、MQL5開発で重要な確認項目です。

この記事では、MQL5のファイル操作関数を、EA開発や不具合調査で確認しやすい辞典形式で整理します。公式リファレンスの代わりに丸暗記するためではなく、どの関数を、どの場面で使い、どの保存先・戻り値・エラー・ログを確認するかを整理するための記事です。

注意:この記事はMQL5開発・EA動作確認・ログ保存・CSV出力・不具合調査のための技術解説です。特定の売買判断、推奨エントリー、推奨ロット、推奨銘柄、利益保証、勝率保証、損失回避保証を行うものではありません。実運用前には、必ずデモ環境や検証環境で動作を確認してください。

MQL5のファイル操作と保存先

MQL5のファイル操作では、どのファイルを開くかだけでなく、どこに保存されるかを理解することが重要です。保存先を誤ると、CSVを出力しているつもりでも見つからない、バックテストでは保存されるのにリアル環境では見つからない、複数端末で共有できない、といった問題が起きます。

保存先意味主な用途注意点
通常のFilesフォルダ各MT5データフォルダ内のFilesEAごとのCSVログ、設定ファイル、検証結果端末ごと、テスター環境ごとに保存先が変わります。
Commonフォルダ複数端末で共通利用できる共有フォルダ複数MT5間のファイル共有、共通ログ、外部連携ファイルFILE_COMMON指定が必要です。
Strategy Tester用フォルダバックテスト実行時に使われるテスター側保存先バックテストログ、検証CSV、テスター用入力ファイルLIVE環境のFilesフォルダとは別に扱います。
外部共有フォルダMQL5標準のFiles外で管理する外部領域ローカルAgentや外部アプリとの連携MQL5の通常ファイルサンドボックス制約を確認します。

FilesフォルダとCommonフォルダ

MQL5では、通常のFilesフォルダと、FILE_COMMONを指定したCommonフォルダを分けて扱います。

区分指定方法使う場面失敗時の確認関連ログ
通常FilesFileOpenでFILE_COMMONを指定しないEA単体のログ保存、CSV出力、設定ファイル読み込みデータフォルダ、MQL5\Files、テスター側FilesFILE_PATH、FILE_OPEN、CSV_WRITE
Common FilesFileOpenにFILE_COMMONを指定する複数端末共有、コピーEA、外部Agent連携、共通設定Commonフォルダ、FILE_COMMON指定、ファイル名COMMON_FILE_OPEN、FILE_COMMON_PATH
Tester FilesStrategy Tester実行時のFiles領域バックテスト中のCSV出力、検証ログテスター用保存先、最適化時の出力制限、ログ量TESTER_FILE_OPEN、BT_CSV_WRITE

確認ポイント:CSVが見つからない場合は、FileOpenの戻り値だけでなく、通常Files、FILE_COMMON、Strategy Tester側Filesのどこに出力しているかを確認してください。

FileOpen

FileOpenは、ファイルを開いてハンドルを取得する関数です。MQL5のファイル操作は、FileOpenで有効なハンドルを取得できていることが前提です。

FileOpenが失敗した状態でFileWriteやFileReadStringを実行しても、期待どおりに読み書きできません。FileOpenの戻り値、flags、保存先、GetLastErrorを確認することが重要です。

項目内容
主な用途CSVファイル、テキストファイル、ログファイル、設定ファイルを開く
主な確認値file handle、INVALID_HANDLE、flags、file name、GetLastError
よくある失敗保存先違い、flags不備、ファイル名不正、フォルダ未作成、権限、ファイルロック
確認ログFILE_OPEN、FILE_OPEN_FAIL、FILE_PATH、FILE_FLAGS

FileOpenでよく使うflags

flag役割使う場面注意点
FILE_READ読み込み用に開く設定ファイル、CSV、外部制御ファイルの読み込み書き込みはできません。
FILE_WRITE書き込み用に開くCSVログ、検証結果、状態保存既存内容の扱いに注意します。
FILE_CSVCSV形式で扱うFileWriteで列形式のログを保存する区切り文字やExcel表示を確認します。
FILE_TXTテキスト形式で扱う1行文字列ログ、自由形式ログCSV列管理とは別に扱います。
FILE_ANSIANSI文字コードで扱うExcelや外部ツールとの互換を確認する場合文字化け確認が必要です。
FILE_COMMONCommonフォルダを使う複数端末共有、外部Agent連携通常Filesとは保存先が変わります。

FileOpenで確認すること

確認項目内容理由
file nameファイル名、拡張子、サブフォルダ保存先違いやファイル名違いを防ぐため
flagsFILE_READ、FILE_WRITE、FILE_CSV、FILE_COMMONなど読み込み用か書き込み用か、保存先がどこかを判定するため
delimiterCSVの区切り文字列ズレやExcel表示崩れを防ぐため
handleINVALID_HANDLEではないか無効ハンドルでは読み書きできないため
GetLastErrorFileOpen失敗時のエラー保存先、権限、flags不備などの原因調査に必要なため

FileClose

FileCloseは、FileOpenで開いたファイルを閉じる関数です。ファイル操作後は、ハンドルを閉じることで書き込み内容の確定やファイルロック解除につながります。

項目内容
主な用途開いたファイルを閉じる、書き込み終了、読み込み終了、リソース解放
主な確認値file handle、closeタイミング、異常終了時の扱い
よくある失敗close漏れ、handle再利用、ファイルロック、異常終了時の未反映
確認ログFILE_CLOSE、FILE_CLEANUP、DEINIT_FILE_CLOSE

FileWrite / FileWriteString

FileWriteとFileWriteStringは、ファイルへデータを書き込むために使います。CSVログではFileWrite、自由形式の文字列ログではFileWriteStringを使う場面が多くなります。

関数役割保存先使う場面失敗時の確認関連ログ
FileWrite値をCSV列として書き込む通常Files / Common / Tester Files注文ログ、決済ログ、サイン履歴、検証CSVhandle、flags、列数、FileOpen失敗、保存先CSV_WRITE、FILE_WRITE_ROW
FileWriteString文字列をそのまま書き込む通常Files / Common / Tester Files自由形式ログ、JSON風ログ、テキスト出力handle、改行、文字コード、書き込みタイミングTXT_WRITE、FILE_WRITE_STRING

CSVログ出力で残すとよい項目

内容用途
time出力時刻、サーバー時刻ログ追跡、日次集計
symbol銘柄銘柄別確認
timeframe時間足検証条件確認
eventイベント名ORDER、SIGNAL、ERROR、NOTIFYなどの分類
ticketorder / position / deal ticket取引追跡
magicMagic NumberEA別・ロジック別管理
retcodeTRADE_RETCODEなど注文結果確認
errorGetLastErrorなど失敗理由確認
message補足説明人が読むための確認情報

FileReadString

FileReadStringは、ファイルから文字列を読み込むための関数です。CSVや外部設定ファイル、状態ファイルを読み込む場合に使います。

読み込みでは、ファイルが存在するか、列数が期待どおりか、空行がないか、文字コードが合っているかを確認します。

項目内容
主な用途CSV設定、外部制御ファイル、状態ファイル、テキストログの読み込み
主な確認値読み込んだ文字列、列数、空行、区切り文字、FileIsEnding
よくある失敗文字化け、区切り文字違い、列ズレ、ファイル未存在、読み込みflags不備
確認ログFILE_READ、CSV_READ、CSV_PARSE、FILE_READ_FAIL

読み込み時に確認すること

確認項目内容理由
ファイル存在FileIsExistで存在確認存在しないファイルを読みに行く失敗を切り分けるため
読み込みflagsFILE_READ、FILE_CSV、FILE_TXTなど読み込み形式を明確にするため
文字コードANSI、UTF-8相当、Excel表示日本語や記号の文字化けを防ぐため
区切り文字カンマ、セミコロン、タブなど列ズレを防ぐため
ヘッダー1行目を列名として扱うかデータ行とヘッダー行を混同しないため
空欄空列や空行の扱い列数不足や変換エラーを防ぐため

FileIsExist / FileDelete / FolderCreate

FileIsExist、FileDelete、FolderCreateは、ファイルやフォルダの存在確認、削除、作成に使います。ログ出力や設定ファイル読み込みでは、書き込み前・読み込み前に存在確認を行うと、不具合を切り分けやすくなります。

関数役割保存先使う場面失敗時の確認関連ログ
FileIsExistファイルの存在確認通常Files / Common / Tester Files読み込み前、削除前、初期化時FILE_COMMON指定、ファイル名、保存先FILE_EXISTS、FILE_MISSING
FileDeleteファイル削除通常Files / Common / Tester Files古い一時ファイル削除、再生成前のcleanupファイル使用中、保存先違い、権限FILE_DELETE、FILE_DELETE_FAIL
FolderCreateフォルダ作成通常Files / Common / Tester Fileslogs、reports、snapshotsなどのフォルダ作成既存フォルダ、相対パス、FILE_COMMON指定FOLDER_CREATE、FOLDER_READY

FILE_CSV

FILE_CSVは、CSV形式としてファイルを扱うためのflagです。FileWriteを使うと、指定した区切り文字に従って列形式で値を書き出しやすくなります。

確認項目内容注意点
区切り文字カンマ、セミコロン、タブなどExcelや外部ツールで開いた時の列分割に影響します。
列数各行で同じ列数にする列ズレを防ぐため、ヘッダーとデータ行の列数を合わせます。
ヘッダー先頭行に列名を出すか後からログを確認しやすくなります。
改行1イベント1行にするか検証・集計時に扱いやすくなります。
文字コード日本語を含む場合の表示文字化けしないか確認します。

FILE_COMMON

FILE_COMMONは、Commonフォルダを使うためのflagです。複数のMT5端末、外部Agent、コピーEA、共通設定ファイルなどで同じファイルを使いたい場合に検討します。

使う場面内容注意点
複数端末共有複数MT5から同じファイルを参照する同時書き込みや競合に注意します。
外部Agent連携外部アプリとMQL5でファイルを共有する読み書きタイミング、ファイルロック、更新間隔を確認します。
コピーEA連携Master / Slave間でファイルを使う遅延、破損、読み込み途中のファイルに注意します。
共通ログ複数EAのログを共通フォルダへ出すファイル名の衝突、列構成の統一が必要です。

文字コードと区切り文字

CSV出力では、文字コードと区切り文字が重要です。MQL5側では正しく書き込めていても、Excelや外部ツールで開いた時に文字化けや列ズレが発生する場合があります。

項目確認することよくある問題対応方針
文字コード日本語、記号、改行の表示文字化け、記号崩れ外部ツールで開いた表示を確認します。
区切り文字カンマ、セミコロン、タブ列が分かれない、列がずれる読み込み側と同じ区切り文字にします。
小数点価格や損益の小数点地域設定で表示が変わる数値はログ仕様として桁数を揃えます。
改行1行1イベントか1つのログが複数行に割れるmessage列に改行を入れない設計にします。
引用符カンマを含む文字列の扱いCSV列ズレログ本文にカンマを入れすぎないようにします。

バックテスト時の保存先

Strategy Testerでは、通常稼働時と保存先が異なる場合があります。バックテストでCSVが出力されない、または見つからない場合は、テスター側のFiles領域、FILE_COMMON指定、最適化時の出力制限を確認します。

状況確認すること注意点
バックテストでCSVが見つからないTester用Filesフォルダ、FILE_COMMON指定リアル環境のFilesフォルダとは別に確認します。
最適化でCSVが多すぎる出力頻度、ファイル名、パス最適化回数分の大量ファイルに注意します。
テストが重い毎tick書き込み、Print過多、FileFlush過多ログ抑制やイベント単位出力を検討します。
LIVEとBTで出力が違うテスター条件、保存先、外部通信制約BT用ログとLIVE用ログを分けて確認します。

CSV出力の基本設計

CSVログを後から検証に使う場合は、列構成を固定し、1行1イベントで出力すると扱いやすくなります。

設計項目内容確認ポイント
ファイル名EA名、symbol、日付、用途を含める複数EAや複数銘柄で衝突しないようにします。
ヘッダー列名を先頭行に出す後からExcelやPythonで確認しやすくなります。
時刻TimeCurrent、bar time、出力時刻どの時刻basisか列名で分かるようにします。
イベント種別SIGNAL、ORDER、ERROR、NOTIFY、STATUSなどログを絞り込みやすくします。
戻り値GetLastError、retcode、copy countなど失敗理由を後から確認できます。
出力頻度毎tick、状態変化時、注文時、決済時、一定間隔毎tick出力は重くなりやすいため注意します。

EA利用者向けの確認ポイント

EAやツールがCSVログを出力する場合、ファイルがどこに保存されるか、どのタイミングで出力されるか、何を記録しているかを確認してください。

確認すること内容開発者へ伝えるとよい情報
EA名・バージョン設置しているEA名と版ログ仕様を特定するため
保存先通常Files、FILE_COMMON、Tester FilesCSVが見つからない原因を切り分けるため
ファイル名CSV名、日付、symbol、用途出力対象を確認するため
出力タイミング注文時、決済時、エラー時、一定間隔など出力されないのが正常か不具合かを分けるため
ExpertsログFileOpen、FileWrite、FileClose、GetLastErrorファイル操作の成否確認に使います。
Journalログ端末側ログ、テスター状態バックテストや端末状態の確認に使います。
スクリーンショットFilesフォルダ、Expertsログ、設定画面保存先とログを照合するために役立ちます。

MQL5開発者向けの実装確認ポイント

MQL5開発では、ファイル操作をEA本体の判定処理と分けて扱うことが重要です。ログ出力失敗、CSV保存失敗、外部ファイル読み込み失敗を、売買判定そのものと混同しないようにします。

責務主な確認対象実装上の注意確認ログ
file openFileOpen、flags、保存先INVALID_HANDLEとGetLastErrorを確認します。FILE_OPEN、FILE_OPEN_FAIL
csv writeFileWrite、列数、ヘッダー列構成を固定し、出力頻度を制御します。CSV_WRITE、FILE_WRITE_ROW
text writeFileWriteString、改行、文字コード自由形式ログは解析しにくくなる場合があります。TXT_WRITE、FILE_WRITE_STRING
csv readFileReadString、StringSplit、列数空欄、列ズレ、ヘッダーをvalidationします。CSV_READ、CSV_PARSE
file cleanupFileClose、FileDelete、FolderCreateOnDeinitや再初期化時の後始末を確認します。FILE_CLOSE、FILE_DELETE、FOLDER_CREATE
tester outputStrategy Tester保存先、出力頻度BT速度低下や大量ファイル生成に注意します。BT_CSV_WRITE、TESTER_FILE_OPEN

実装時の注意点

  • FileOpenの戻り値がINVALID_HANDLEではないか確認する
  • FileOpen失敗時はGetLastErrorを出す
  • FILE_COMMON指定の有無をログに残す
  • 保存先を通常Files、Common、Tester Filesで分けて確認する
  • CSVのヘッダーとデータ行の列数を揃える
  • 文字コードと区切り文字を読み込み側と合わせる
  • 毎tickでFileOpen / FileCloseを繰り返しすぎない
  • 毎tickでCSV出力しすぎるとバックテストが重くなる
  • 外部ファイル読み込み時は列数validationを行う
  • Webhook URL、GAS URL、APIキー、認証トークンをCSVへ出力しない

ファイル操作関数・定数の辞典表

関数/定数役割保存先使う場面失敗時の確認関連ログ
FileOpenファイルを開いてhandleを取得する通常Files / Common / Tester FilesCSV出力、設定読み込み、ログ保存INVALID_HANDLE、flags、GetLastError、保存先FILE_OPEN、FILE_OPEN_FAIL
FileCloseファイルを閉じる通常Files / Common / Tester Files読み書き終了、OnDeinit、cleanupclose漏れ、handle再利用、ファイルロックFILE_CLOSE、DEINIT_FILE_CLOSE
FileReadString文字列を読み込む通常Files / Common / Tester FilesCSV設定、外部制御、テキスト読み込み文字化け、列ズレ、空欄、読み込みflagsFILE_READ、CSV_READ
FileWriteCSV列として値を書き込む通常Files / Common / Tester Files注文ログ、決済ログ、サイン履歴、検証CSVhandle、列数、保存先、FileOpen失敗CSV_WRITE、FILE_WRITE_ROW
FileWriteString文字列をそのまま書き込む通常Files / Common / Tester Filesテキストログ、自由形式ログ文字コード、改行、handle、書き込みタイミングTXT_WRITE、FILE_WRITE_STRING
FileIsExistファイル存在を確認する通常Files / Common / Tester Files読み込み前、削除前、初期化時FILE_COMMON指定、ファイル名、保存先FILE_EXISTS、FILE_MISSING
FileDeleteファイルを削除する通常Files / Common / Tester Files一時ファイル削除、古いログ削除、再生成前ファイル使用中、保存先違い、権限FILE_DELETE、FILE_DELETE_FAIL
FolderCreateフォルダを作成する通常Files / Common / Tester Fileslogs、reports、snapshotsフォルダ作成既存フォルダ、相対パス、FILE_COMMON指定FOLDER_CREATE、FOLDER_READY
FILE_CSVCSV形式でファイルを扱うflag通常Files / Common / Tester Files列形式のログ出力、CSV読み込み区切り文字、列数、文字化けCSV_MODE、CSV_PARSE
FILE_COMMONCommonフォルダを使うflagCommon Files複数端末共有、外部Agent連携、共通ログ通常Filesとの保存先違い、同時書き込みFILE_COMMON_PATH、COMMON_FILE_OPEN
文字コード日本語や記号の表示に関係する形式出力ファイル全般Excel確認、外部ツール連携、CSV読み込み文字化け、記号崩れ、BOM混入ENCODING_CHECK、CSV_OPEN_CHECK
区切り文字CSV列を分ける文字CSVファイルカンマ、セミコロン、タブ区切り列ズレ、読み込み側との不一致DELIMITER_CHECK、CSV_COLUMN_CHECK

開発依頼前に整理する情報

ファイル操作・CSVログ出力まわりの不具合調査や改修依頼を行う場合は、次の情報を整理してください。

整理する情報内容理由
対象EA名・インジ名・バージョンmq5/ex5名、商品名、バージョン対象ファイルと仕様を特定するため
対象機能CSV出力、ログ保存、設定読み込み、外部制御など読み込みか書き込みかを分けるため
保存先通常Files、FILE_COMMON、Tester FilesCSVが見つからない原因を切り分けるため
ファイル名CSV名、拡張子、サブフォルダ出力対象・読み込み対象を特定するため
FileOpen flagsFILE_READ、FILE_WRITE、FILE_CSV、FILE_COMMONなど読み書き形式と保存先を確認するため
文字コード・区切り文字日本語表示、カンマ、タブ、セミコロンなど文字化けや列ズレを確認するため
ExpertsログFileOpen、FileWrite、FileReadString、GetLastErrorファイル操作の成否を追うため
Journalログ端末側ログ、テスター状態バックテストや端末状態の確認に使うため
CSV実ファイル出力されたCSV、読み込み対象CSV列数、ヘッダー、文字コードを確認するため
再現手順どの操作・条件で発生したかOnInit、OnTick、OnTimer、OnDeinitなどの発生箇所を特定するため

送ってはいけない情報:口座パスワード、投資家パスワード、Webhook URL、GAS URL、APIキー、認証トークン、口座番号の全桁、個人情報は、そのまま送らないでください。必要に応じて必ずマスクしてください。

関連するMQL5技術辞典

ファイル操作やCSVログ出力の確認では、関数全体、エラーコード、時系列取得、注文処理、チャート表示、列挙型、標準ライブラリの理解も関係します。関連するMQL5技術辞典もあわせて確認してください。

技術辞典確認できる内容リンク
MQL5エラーコード辞典GetLastError、TRADE_RETCODE、コンパイルエラー、WebRequest、Strategy Tester関連エラーを確認できます。MQL5エラーコード辞典
MQL5関数辞典EA・インジケーター開発で使う主要関数を、目的別・確認ログ別に確認できます。MQL5関数辞典
MQL5注文関数・取引構造体辞典OrderSend、OrderCheck、MqlTradeRequest、MqlTradeResult、TRADE_RETCODEなどを確認できます。MQL5注文関数・取引構造体辞典
MQL5ポジション・注文・約定・履歴用語辞典Order、Position、Deal、History、ticket、magic、commentなど、取引管理で混同しやすい用語を確認できます。MQL5ポジション・注文・約定・履歴用語辞典
MQL5インジケーター関数辞典iCustom、CopyBuffer、SetIndexBuffer、OnCalculate、IndicatorRelease、buffer index、shiftなどを確認できます。MQL5インジケーター関数辞典
MQL5時系列・価格取得関数辞典CopyRates、CopyClose、iClose、iTime、SymbolInfoDouble、TimeCurrentなどを確認できます。MQL5時系列・価格取得関数辞典
MQL5チャートオブジェクト辞典ObjectCreate、ObjectSetInteger、ObjectSetString、OBJ_LABEL、OBJ_BUTTON、OnChartEventなどを確認できます。MQL5チャートオブジェクト辞典
MQL5列挙型・定数辞典ENUM_TIMEFRAMES、ENUM_ORDER_TYPE、ORDER_FILLING、POSITION_TYPE、SymbolInfo系定数などを確認できます。MQL5列挙型・定数辞典
MQL5標準ライブラリ辞典CTrade、CPositionInfo、COrderInfo、CDealInfo、CSymbolInfo、CAccountInfoなどを確認できます。MQL5標準ライブラリ辞典

確認ポイント:ファイル操作では、FileOpenの戻り値、flags、保存先、FILE_COMMONの有無、GetLastError、文字コード、区切り文字、CSV列数、バックテスト時の保存先をセットで確認してください。

関連する技術講座

関連ページ確認できる内容
技術講座ハブMT5・MQL5・EA開発関連の技術講座一覧を確認できます。
MQL5ファイル操作・CSVログ出力完全ガイドFileOpen、FileWrite、CSV出力、FILE_COMMON、保存先確認に使えます。
MQL5デバッグ・ログファースト開発完全ガイドExpertsログ、Journalログ、CSVログ、再現条件整理に使えます。
MQL5 WebRequest・JSON・外部API実装完全ガイド外部連携、Webhook、GAS、API連携とログ確認に使えます。
MT5開発依頼前に用意する資料まとめ開発依頼前に整理するログ、setファイル、再現条件を確認できます。
EAのログを問い合わせ前に確認する方法問い合わせ前のExpertsログ、Journalログ、CSVログ確認に使えます。

FAQ

FileOpenが失敗する場合は何を確認しますか?

FileOpenの戻り値がINVALID_HANDLEではないか、flags、ファイル名、保存先、FILE_COMMON指定、フォルダ有無、GetLastErrorを確認してください。

CSVが見つからない場合はどこを確認しますか?

通常Filesフォルダ、FILE_COMMONのCommonフォルダ、Strategy Tester側Filesフォルダを分けて確認してください。バックテストとリアル環境では保存先が異なる場合があります。

FILE_COMMONはいつ使いますか?

複数MT5間でファイルを共有したい場合、外部Agentと連携したい場合、共通設定や共通ログを扱いたい場合に使います。ただし、同時書き込みやファイル競合に注意が必要です。

FileWriteとFileWriteStringは何が違いますか?

FileWriteはCSV列として値を書き出す用途に向いています。FileWriteStringは文字列をそのまま書く用途に向いています。CSVとして後から集計したい場合は、列構成を決めてFileWriteを使うと扱いやすくなります。

CSVが文字化けする場合は何を確認しますか?

文字コード、FILE_ANSI指定、Excel側の読み込み方式、区切り文字、日本語や記号の有無を確認してください。外部ツールで開く場合は、そのツール側の文字コード設定も確認します。

CSVの列がずれる場合は何を確認しますか?

区切り文字、ヘッダーとデータ行の列数、message列内のカンマ、空欄、改行、引用符の扱いを確認してください。

バックテストでCSV出力すると重くなりますか?

出力頻度が高い場合は重くなることがあります。毎tick出力、毎回FileOpen / FileClose、過剰なFileFlush、大量ファイル生成はバックテスト速度に影響します。

外部ファイルからEA設定を読み込む場合は何に注意しますか?

ファイル存在、列数、型変換、空欄、文字コード、区切り文字、読み込み頻度、通信・更新タイミング、読み込み失敗時のデフォルト動作を確認してください。

開発依頼前に何を整理すればよいですか?

EA名、インジケーター名、バージョン、保存先、ファイル名、FileOpen flags、CSV実ファイル、Expertsログ、Journalログ、再現手順を整理してください。Webhook URL、GAS URL、APIキー、認証トークン、口座番号などは必ずマスクしてください。

この記事にない項目はどのように確認すればよいですか?

まず公式リファレンス、MetaEditorのコンパイル結果、Expertsログ、Journalログ、実際の保存先、CSV実ファイルを確認してください。ファイル操作が関係する場合は、保存先、flags、GetLastError、文字コード、区切り文字を整理して確認します。

まとめ

MQL5のファイル操作では、FileOpen、FileClose、FileReadString、FileWrite、FileWriteString、FileIsExist、FileDelete、FolderCreate、FILE_CSV、FILE_COMMON、文字コード、区切り文字、保存先を分けて確認することが重要です。

CSVログが出力されない場合や見つからない場合は、通常Filesフォルダ、Commonフォルダ、Strategy Tester側Filesフォルダを分けて確認してください。

CSV出力では、ヘッダー、列数、区切り文字、文字コード、出力頻度、FileClose、FileFlush、バックテスト時の負荷に注意します。後から検証に使う場合は、1行1イベントで列構成を固定すると扱いやすくなります。

不具合調査や開発依頼を行う場合は、EA名、インジケーター名、バージョン、保存先、ファイル名、FileOpen flags、CSV実ファイル、Expertsログ、Journalログ、スクリーンショット、再現手順を整理してください。

ABOUT ME
記事URLをコピーしました