技術辞典

MQL5関数辞典|EA・インジケーター開発で使う主要関数一覧

EAファンクラブ

MQL5でEAやインジケーターを開発する場合、イベント処理、注文処理、ポジション確認、履歴確認、インジケーター連携、価格取得、ファイル操作、外部連携、チャート表示など、目的ごとに使う関数が変わります。

このページでは、EA・インジケーター開発でよく使うMQL5関数を、目的別に整理します。公式リファレンスの代わりに丸暗記するための記事ではなく、どの関数を、どの場面で使い、戻り値やログのどこを確認するかを整理するための関数辞典です。

関数名だけを見ても、原因や使い方は判断できません。たとえば、OrderSendで注文できない場合でも、原因はロット、証拠金、銘柄仕様、取引時間、type_filling、EAの発注ガード、取引サーバー側retcodeなどに分かれます。CopyBufferで値が取れない場合も、インジケーターハンドル、バッファ番号、必要本数、確定足、履歴データ、BarsCalculatedなどを合わせて確認します。

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

MQL5関数を目的別に調べる考え方

MQL5の関数は、名前だけでなく、処理の責務ごとに分けて確認すると理解しやすくなります。

分類主な用途代表関数・クラス最初に確認すること
イベント関数EA・インジケーターの処理入口OnInit / OnTick / OnDeinit / OnTimer / OnCalculate / OnChartEventどのイベントで処理しているか
注文・取引関数注文送信、注文前チェック、決済、注文変更OrderSend / OrderCheck / CTrade.Buy / CTrade.Sell / PositionClose戻り値、retcode、request/result
ポジション関数現在保有中ポジションの確認PositionSelect / PositionGetInteger / PositionGetDouble / PositionsTotal選択対象、ticket、symbol、magic
履歴関数過去の注文・約定履歴の確認HistorySelect / HistoryDealGetTicket / HistoryDealGetInteger履歴期間、OrderとDealの違い
インジケーター関数インジケーターハンドル作成、値取得iCustom / iMA / iATR / CopyBuffer / IndicatorReleasehandle、buffer番号、取得本数
時系列・価格取得関数ローソク足、価格、時刻、銘柄情報の取得CopyRates / CopyClose / iClose / iTime / SymbolInfoDouble現在足と確定足、symbol、timeframe
ファイル操作関数CSV保存、ログ出力、設定ファイル読み込みFileOpen / FileWrite / FileReadString / FileClose保存先、FILE_COMMON、文字コード
外部連携関数Webhook、外部API、Google Sheets、通知連携WebRequest / StringToCharArray / CharArrayToString許可URL、HTTPステータス、timeout
チャートオブジェクト関数ラベル、ボタン、ライン、パネルUIObjectCreate / ObjectSetInteger / ObjectSetString / ObjectDeleteobject名、subwindow、z-order、イベント
標準ライブラリCTradeやInfo系クラスによる取引・状態管理CTrade / CPositionInfo / COrderInfo / CDealInfo / CSymbolInfo / CAccountInfoSelect結果、ResultRetcode、Info値

EA開発では、signal、execution、risk、exit、auth、external control、notification、UI表示、loggingを分けて考えると、関数の使いどころを整理しやすくなります。

イベント関数一覧

イベント関数は、EA・インジケーター・スクリプトの処理入口です。どのイベントで何を処理しているかを分けると、不具合調査がしやすくなります。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
OnInitイベント関数EA・インジケーター起動時の初期化INIT_SUCCEEDED / INIT_FAILEDなど入力値validation、ハンドル作成、タイマー設定、初期ログ初期化失敗、INVALID_HANDLE、設定不備MQL5開発入門
OnDeinitイベント関数終了時・削除時・再初期化時の後片付けdeinit reasonTimer解除、IndicatorRelease、Object cleanup、終了ログ削除漏れ、重いcleanup、異常終了MQL5開発入門
OnTickイベント関数新しいtick受信時のEA処理戻り値なし。処理頻度・判定ログを確認価格監視、エントリー判定、決済判定、トレーリング処理過多、重いPrint、重複発注MQL5開発入門
OnTimerイベント関数一定間隔での処理戻り値なし。timer設定状態を確認外部連携、定期ログ、パネル更新、状態監視Timer未設定、EventKillTimer漏れ、処理重複MQL5開発入門
OnCalculateイベント関数インジケーター計算処理計算済み本数、rates_total、prev_calculatedカスタムインジケーター、バッファ計算、サイン描画配列範囲外、バッファ未設定、計算本数不足MQL5インジケーター開発・EA連携完全ガイド
OnChartEventイベント関数チャートイベント・ボタンクリック処理id、lparam、dparam、sparamOBJ_BUTTON、パネルEA、チャート操作、キー入力イベント未取得、object名不一致、z-order不整合MQL5開発入門
OnTradeTransactionイベント関数取引イベントの監視transaction、request、result注文・約定・決済の変化検出、取引監査ログ注文と約定の混同、イベント処理過多MQL5注文・ポジション・履歴管理完全ガイド

ログ・エラー確認関数一覧

エラー確認では、GetLastErrorだけを見ても原因を断定できません。発生関数、戻り値、直前処理、Expertsログ、Journalログ、取引サーバーretcodeを合わせて確認します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
Printログ出力Expertsログへ情報を出す戻り値なし。ログ出力内容を確認初期化、判定理由、注文結果、デバッグログ過多、BT速度低下、情報不足MQL5エラーコード辞典
PrintFormatログ出力整形したログを出す戻り値なし。書式と出力値を確認関数名、symbol、timeframe、retcode、価格の整形書式不一致、型不一致、ログ不足MQL5エラーコード辞典
GetLastErrorエラー確認直近のMQL5実行時エラーを取得するエラーコードFileOpen、CopyBuffer、WebRequest、Object操作の失敗確認直前エラーの残存、原因断定ミスMQL5エラーコード辞典
ResetLastErrorエラー確認直近エラーコードをリセットする戻り値なし関数呼び出し前にエラー状態を明確化古いエラーコードの誤参照MQL5エラーコード辞典
TerminalInfoInteger端末状態確認端末・自動売買・接続状態などを確認するinteger / bool系の端末情報自動売買許可、接続状態、VPS確認EAが注文できない、端末設定不足MQL5エラーコード辞典
MQLInfoIntegerプログラム状態確認EA側の許可状態や実行環境を確認するinteger / bool系のMQL情報自動売買許可、DLL許可、テスター判定取引不可、環境差、Tester制約MQL5エラーコード辞典

注文・取引関数一覧

注文関数では、関数の戻り値だけでなく、取引サーバー側の結果コードを確認します。特にOrderSendやCTrade系では、送信できたことと、約定・決済が成立したことを分けて確認します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
OrderSend注文・取引MqlTradeRequestを送信するbool戻り値、MqlTradeResult.retcode、order、deal新規注文、決済、SL/TP変更、Pending orderINVALID_VOLUME、INVALID_STOPS、NO_MONEY、INVALID_FILLMQL5注文・ポジション・履歴管理完全ガイド
OrderCheck注文・取引注文前に証拠金や条件をチェックするMqlTradeCheckResult、retcode、margin、margin_free発注前validation、ロット確認、証拠金確認証拠金不足、volume不正、価格不正MQL5注文・ポジション・履歴管理完全ガイド
OrderCalcMargin注文・取引必要証拠金を計算するbool戻り値、margin値ロット計算、証拠金確認、発注前チェック計算失敗、symbol未選択、価格不正MQL5注文・ポジション・履歴管理完全ガイド
OrderCalcProfit注文・取引想定損益を計算するbool戻り値、profit値リスク計算、SL距離確認、ロット計算補助計算失敗、tick value不整合、価格指定ミスMQL5注文・ポジション・履歴管理完全ガイド
CTrade.Buy標準ライブラリCTrade経由で買い注文を出すmethod戻り値、ResultRetcode、ResultDeal、ResultOrderBUYエントリー、標準ライブラリ実装ResultRetcode未確認、type_filling不一致MQL5標準ライブラリ・CTrade完全ガイド
CTrade.Sell標準ライブラリCTrade経由で売り注文を出すmethod戻り値、ResultRetcode、ResultDeal、ResultOrderSELLエントリー、標準ライブラリ実装ResultRetcode未確認、価格変動、証拠金不足MQL5標準ライブラリ・CTrade完全ガイド
CTrade.PositionClose標準ライブラリポジションを決済するmethod戻り値、ResultRetcode、ResultDeal決済処理、停止時決済、条件決済対象ポジションなし、決済数量不正、FIFO制限MQL5標準ライブラリ・CTrade完全ガイド
CTrade.PositionModify標準ライブラリSL/TPを変更するmethod戻り値、ResultRetcode建値移動、トレーリング、保護設定INVALID_STOPS、FROZEN、FreezeLevel制限MQL5標準ライブラリ・CTrade完全ガイド

ポジション関数一覧

現在保有中の状態を確認する時は、OrderではなくPositionを確認します。Netting口座とHedging口座では、同一シンボルのポジション管理方式が異なるため、symbol単位かticket単位かを明確にします。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
PositionsTotalポジション現在保有中のポジション数を取得するint件数保有数制限、ループ処理、口座状態確認Netting/Hedgingの意味差、件数誤認MQL5注文・ポジション・履歴管理完全ガイド
PositionGetTicketポジションindexからポジションticketを取得するposition ticketポジションループ、ticket単位管理index範囲外、ticket更新、決済済み参照MQL5注文・ポジション・履歴管理完全ガイド
PositionSelectポジションsymbolでポジションを選択するtrue / falseシンボル単位の保有確認、Netting口座symbol違い、未保有、Hedgingでの誤認MQL5注文・ポジション・履歴管理完全ガイド
PositionSelectByTicketポジションticketでポジションを選択するtrue / falseHedging口座、個別ポジション管理、個別決済ticket違い、決済済み、古いticket参照MQL5注文・ポジション・履歴管理完全ガイド
PositionGetIntegerポジションinteger系ポジション情報を取得するPOSITION_TYPE、POSITION_MAGIC、POSITION_IDENTIFIERなど方向確認、Magic確認、Position ID追跡選択漏れ、プロパティ種別違いMQL5注文・ポジション・履歴管理完全ガイド
PositionGetDoubleポジションdouble系ポジション情報を取得するvolume、price、profit、SL、TPなどロット、建値、損益、SL/TP確認0値と取得失敗の混同、選択漏れMQL5注文・ポジション・履歴管理完全ガイド
PositionGetStringポジションstring系ポジション情報を取得するsymbol、commentなど銘柄確認、コメント確認、識別補助comment依存、選択漏れ、symbol違いMQL5注文・ポジション・履歴管理完全ガイド

注文・履歴関数一覧

MQL5では、Order、Position、Deal、Historyを分けて確認します。未約定注文を見る関数と、現在ポジションを見る関数と、過去の約定履歴を見る関数は別です。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
OrdersTotal注文現在の未約定注文数を取得するint件数Pending orderの件数確認、注文取消前確認Position数との混同、履歴注文との混同MQL5注文・ポジション・履歴管理完全ガイド
OrderGetTicket注文indexから現在注文ticketを取得するorder ticket未約定注文ループ、注文変更、注文削除index範囲外、履歴注文との混同MQL5注文・ポジション・履歴管理完全ガイド
OrderSelect注文現在の注文を選択するtrue / falsePending order確認、注文変更前確認対象注文なし、ticket違い、履歴側との混同MQL5注文・ポジション・履歴管理完全ガイド
OrderGetInteger注文integer系注文情報を取得するORDER_TYPE、ORDER_STATE、ORDER_MAGICなど注文種別、注文状態、Magic確認プロパティ種別違い、未選択注文MQL5注文・ポジション・履歴管理完全ガイド
OrderGetDouble注文double系注文情報を取得するprice、volume、SL/TPなどPending order価格、数量、変更確認現在価格との混同、Position volumeとの混同MQL5注文・ポジション・履歴管理完全ガイド
OrderGetString注文string系注文情報を取得するsymbol、commentなど注文コメント、銘柄確認comment依存、symbol違いMQL5注文・ポジション・履歴管理完全ガイド
HistorySelect履歴指定期間の履歴を選択するtrue / false、履歴件数日次損益、決済履歴、注文履歴確認期間指定ミス、履歴0件、時間基準混同MQL5注文・ポジション・履歴管理完全ガイド
HistorySelectByPosition履歴指定Position IDに関連する履歴を選択するtrue / false、履歴件数1ポジションの新規から決済まで追跡Position ID混同、履歴範囲不足MQL5注文・ポジション・履歴管理完全ガイド
HistoryDealsTotal履歴選択済み履歴内のDeal件数を取得するint件数履歴ループ、日次損益集計HistorySelect漏れ、OrderとDealの混同MQL5注文・ポジション・履歴管理完全ガイド
HistoryDealGetTicket履歴indexからDeal ticketを取得するdeal ticket約定履歴ループ、決済履歴確認履歴未選択、index範囲外、DealなしMQL5注文・ポジション・履歴管理完全ガイド
HistoryDealGetInteger履歴integer系Deal情報を取得するDEAL_TYPE、DEAL_ENTRY、DEAL_MAGICなど新規・決済分類、EA別履歴、Deal監査DEAL_TYPEとDEAL_ENTRYの混同MQL5注文・ポジション・履歴管理完全ガイド
HistoryDealGetDouble履歴double系Deal情報を取得するvolume、price、profit、commission、swapなど損益集計、約定価格確認、決済履歴確認手数料・swap漏れ、履歴範囲不足MQL5注文・ポジション・履歴管理完全ガイド
HistoryDealGetString履歴string系Deal情報を取得するsymbol、commentなど履歴の銘柄確認、コメント確認comment依存、symbol違いMQL5注文・ポジション・履歴管理完全ガイド

銘柄・価格・口座情報関数一覧

発注前やリスク計算では、銘柄仕様と口座状態の確認が重要です。point、digits、tick value、volume step、stops level、filling modeを固定値で決め打ちすると、ブローカーや銘柄差で不具合が出やすくなります。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
SymbolInfoDouble銘柄情報double系銘柄情報を取得するBid、Ask、Point、TickValue、VolumeMinなど発注価格、スプレッド、ロット正規化、損益計算銘柄未選択、プロパティ種別違い、値0誤認MQL5時系列データ・価格取得完全ガイド
SymbolInfoInteger銘柄情報integer / bool系銘柄情報を取得するDigits、Spread、TradeMode、StopsLevel、FillingMode取引可否、SL/TP距離、filling mode確認INVALID_FILL、INVALID_STOPS、銘柄条件違いMQL5時系列データ・価格取得完全ガイド
SymbolInfoString銘柄情報string系銘柄情報を取得するsymbol description、currency、pathなど銘柄名、基軸通貨、損益通貨、suffix確認銘柄名違い、通貨解決ミスMQL5時系列データ・価格取得完全ガイド
SymbolInfoTick銘柄情報最新tick情報を取得するbid、ask、last、volume、time発注前価格更新、価格配信確認、現在価格ログtick未配信、価格なし、休場、接続不安定MQL5時系列データ・価格取得完全ガイド
SymbolSelect銘柄情報Market Watchへ銘柄を選択するtrue / falseマルチシンボルEA、別銘柄価格取得不明なsymbol、Market Watch未選択MQL5時系列データ・価格取得完全ガイド
AccountInfoDouble口座情報double系口座情報を取得するBalance、Equity、FreeMargin、MarginLevelなど証拠金確認、リスク管理、表示口座状態誤認、balance/equity混同MQL5注文・ポジション・履歴管理完全ガイド
AccountInfoInteger口座情報integer / bool系口座情報を取得するACCOUNT_MARGIN_MODE、TRADE_ALLOWEDなどNetting/Hedging判定、取引許可確認口座方式誤認、EA取引不可MQL5注文・ポジション・履歴管理完全ガイド
AccountInfoString口座情報string系口座情報を取得するserver、currency、companyなどログ表示、口座通貨確認、環境確認公開ログへの情報出しすぎMQL5エラーコード辞典

時系列・価格取得関数一覧

時系列・価格取得では、現在足と確定足を分けることが重要です。shift=0やstart_pos=0は現在形成中の足を指すため、バー確定型EAではshift=1や確定足basisを明示します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
CopyRates時系列MqlRates配列でOHLC・時刻・volume・spreadを取得するコピー件数。失敗時-1ローソク足一括取得、MTF判定、検証ログ履歴不足、取得件数不足、symbol/timeframe違いMQL5時系列データ・価格取得完全ガイド
CopyOpen時系列始値配列を取得するコピー件数ローソク足形状、ギャップ確認履歴不足、配列サイズ不足MQL5時系列データ・価格取得完全ガイド
CopyHigh時系列高値配列を取得するコピー件数高値ブレイク、レンジ上限、SL/TP補助履歴不足、start_posミスMQL5時系列データ・価格取得完全ガイド
CopyLow時系列安値配列を取得するコピー件数安値割れ、レンジ下限、SL/TP補助履歴不足、必要本数不足MQL5時系列データ・価格取得完全ガイド
CopyClose時系列終値配列を取得するコピー件数確定足判定、MA計算、終値ベース判定現在足と確定足の混同、履歴不足MQL5時系列データ・価格取得完全ガイド
CopyTime時系列バー開始時刻配列を取得するコピー件数新バー判定、MTF同期、履歴確認timeframe違い、履歴未同期MQL5時系列データ・価格取得完全ガイド
iOpen / iHigh / iLow / iClose時系列指定shiftのOHLCを取得する価格値。取得失敗時0の可能性単発確認、簡易判定、デバッグ0値誤認、履歴不足、shift違いMQL5時系列データ・価格取得完全ガイド
iTime時系列指定shiftのバー開始時刻を取得するdatetime値。失敗時0の可能性新バー判定、MTF同期、バー確定確認履歴不足、対象時間足違いMQL5時系列データ・価格取得完全ガイド
Bars時系列指定symbol/timeframeのバー数を確認するバー数必要本数確認、初期ロード確認バー不足、履歴未ロード、期間不足MQL5時系列データ・価格取得完全ガイド
SeriesInfoInteger時系列時系列データの同期状態などを確認するinteger / bool系の系列情報履歴同期、データ準備確認履歴未同期、Copy系取得失敗MQL5時系列データ・価格取得完全ガイド
PeriodSeconds時系列時間足の秒数を取得する秒数バー時間幅、タイマー補助、MTF処理PERIOD_CURRENT依存、時間足誤認MQL5時系列データ・価格取得完全ガイド

時間関数一覧

EAの時間制御では、PC時刻、サーバー時刻、バー時刻を混同しないことが重要です。ログには、どの時刻をbasisにしているかを明示します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
TimeCurrent時間最後に受信した気配値に基づくサーバー時刻を取得するdatetime取引時間判定、日次制御、ログ無tick時間帯、サーバー時刻誤認MQL5時系列データ・価格取得完全ガイド
TimeTradeServer時間取引サーバー時刻を取得するdatetimeサーバー時刻基準の制御、外部時間制御PC時刻との混同、時刻basis不明MQL5時系列データ・価格取得完全ガイド
TimeLocal時間PCローカル時刻を取得するdatetimeログ補助、端末環境確認PC時刻ズレ、サーバー時刻との混同MQL5エラーコード辞典
TimeToString時間datetimeを文字列へ変換する時刻文字列ログ、CSV、画面表示書式不統一、時刻basis不明MQL5エラーコード辞典
StringToTime時間文字列をdatetimeへ変換するdatetime設定ファイル、外部CSV、時間制御文字列形式不正、タイムゾーン誤認MQL5エラーコード辞典

インジケーター関数一覧

EAからインジケーター値を使う場合は、ハンドル作成、BarsCalculated、CopyBuffer、buffer番号、shift、IndicatorReleaseを分けて確認します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
iCustomインジケーターカスタムインジケーターのハンドルを作成するindicator handle。失敗時INVALID_HANDLEサインインジEA化、外部インジ参照インジ名違い、Inputs不一致、ファイル配置ミスMQL5インジケーター開発・EA連携完全ガイド
iMAインジケーター移動平均のハンドルを作成するindicator handleトレンド判定、フィルター、MAクロスhandle作成失敗、パラメータ不正MQL5インジケーター開発・EA連携完全ガイド
iATRインジケーターATRのハンドルを作成するindicator handleボラティリティ判定、SL/TP幅、フィルター履歴不足、handle不正、CopyBuffer失敗MQL5インジケーター開発・EA連携完全ガイド
iRSIインジケーターRSIのハンドルを作成するindicator handle逆張り判定、過熱感フィルターパラメータ不正、buffer取得失敗MQL5インジケーター開発・EA連携完全ガイド
iBandsインジケーターボリンジャーバンドのハンドルを作成するindicator handleレンジ判定、バンドタッチ、幅判定buffer番号違い、CopyBuffer不足MQL5インジケーター開発・EA連携完全ガイド
BarsCalculatedインジケーターインジケーター計算済みバー数を確認する計算済みバー数CopyBuffer前の準備確認計算不足、初回ロード中、handle不正MQL5インジケーター開発・EA連携完全ガイド
CopyBufferインジケーターインジケーターバッファ値を取得するコピー件数。失敗時-1サイン値取得、MA値取得、確定足判定buffer番号違い、必要本数不足、handle不正MQL5インジケーター開発・EA連携完全ガイド
IndicatorReleaseインジケーターインジケーターハンドルを解放するbool戻り値OnDeinit、ハンドル再作成、リソース管理解放済み参照、handleリークMQL5インジケーター開発・EA連携完全ガイド
SetIndexBufferインジケーターカスタムインジケーターのバッファを設定するbool戻り値描画バッファ、計算バッファ、サインバッファbuffer番号違い、宣言数不足、描画不具合MQL5インジケーター開発・EA連携完全ガイド
PlotIndexSetIntegerインジケーター描画プロパティを設定するbool戻り値矢印、ライン、色、描画開始位置描画されない、plot番号違いMQL5インジケーター開発・EA連携完全ガイド

ファイル操作関数一覧

ファイル操作では、通常のMQL5\Files、Strategy Tester側Files、FILE_COMMONの共通フォルダを混同しないことが重要です。CSVログでは、列構成、文字コード、区切り文字、出力頻度も確認します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
FileOpenファイル操作ファイルを開いてhandleを取得するfile handle。失敗時INVALID_HANDLECSV出力、設定ファイル読み込み、ログ保存ファイル未作成、保存先違い、権限、flags不備MQL5ファイル操作・CSVログ出力完全ガイド
FileCloseファイル操作開いたファイルを閉じる戻り値なしCSV保存後、読み込み後、OnDeinitclose漏れ、handle再利用、ファイルロックMQL5ファイル操作・CSVログ出力完全ガイド
FileWriteファイル操作CSV形式で値を書き込む書き込みバイト数または結果注文ログ、サインログ、検証ログ、状態履歴handle不正、列順不統一、出力過多MQL5ファイル操作・CSVログ出力完全ガイド
FileWriteStringファイル操作文字列をそのまま書き込む書き込み文字数または結果TXTログ、JSON風テキスト、独自形式出力文字コード、改行、出力位置不明MQL5ファイル操作・CSVログ出力完全ガイド
FileReadStringファイル操作文字列を読み込む文字列設定ファイル、CSV読み込み、外部制御ファイル文字化け、区切り文字不一致、空行処理MQL5ファイル操作・CSVログ出力完全ガイド
FileReadNumberファイル操作数値を読み込むdouble値など数値設定、検証値、パラメータ読み込み空欄、型不一致、列位置ズレMQL5ファイル操作・CSVログ出力完全ガイド
FileIsExistファイル操作ファイル存在を確認するtrue / false読み込み前、削除前、初期化時FILE_COMMON指定違い、ファイル名違いMQL5ファイル操作・CSVログ出力完全ガイド
FileDeleteファイル操作ファイルを削除するtrue / false一時ファイル削除、古いログ削除、cleanup使用中ファイル、保存先違い、権限MQL5ファイル操作・CSVログ出力完全ガイド
FolderCreateファイル操作フォルダを作成するtrue / falselogs、reports、snapshotsなどのサブフォルダ作成相対パス違い、Common指定違い、既存フォルダMQL5ファイル操作・CSVログ出力完全ガイド
FileFlushファイル操作バッファ内容をファイルへ反映する戻り値なし長時間稼働ログ、異常終了対策呼び出し過多、負荷増加MQL5ファイル操作・CSVログ出力完全ガイド

外部連携・WebRequest関数一覧

WebRequestや外部API連携では、MQL5コードだけでなく、MT5側の許可URL、外部サービス側の権限、HTTPステータス、VPS通信状態を確認します。Webhook URL、APIキー、GAS URL、認証トークンは本文や公開ログに入れないでください。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
WebRequest外部連携HTTPリクエストを送信するHTTPステータス、レスポンス、GetLastErrorDiscord通知、Google Sheets、外部API、外部認証WebRequest未許可、HTTP 403、timeout、URL不正MQL5エラーコード辞典
StringToCharArray外部連携文字列を送信用char配列へ変換する変換文字数JSON、payload、POSTデータ作成文字コード、終端文字、payload不正MQL5エラーコード辞典
CharArrayToString外部連携レスポンス配列を文字列へ変換する文字列HTTPレスポンス確認、JSON風レスポンス解析文字化け、空レスポンス、サイズ不足MQL5エラーコード辞典
StringFormat外部連携文字列を整形する整形済み文字列JSON文字列、通知文、ログ文、CSV行作成エスケープ不足、型不一致、引用符不足MQL5エラーコード辞典
StringReplace外部連携文字列の一部を置換する置換回数改行除去、エスケープ、CSV整形、ログ整形置換漏れ、不要置換、JSON破損MQL5エラーコード辞典
StringSplit外部連携文字列を区切り文字で分割する分割数CSV読み込み、外部設定、簡易レスポンス解析区切り文字違い、空欄、列ズレMQL5ファイル操作・CSVログ出力完全ガイド

外部連携の確認:WebRequestはMT5側で許可URLを登録する必要があります。また、Strategy Testerやインジケーター側では利用制約があります。EA本体の判定、通知処理、外部通信処理、外部サービス側の権限は分けて確認してください。

チャートオブジェクト関数一覧

チャートオブジェクト関数は、画面表示やボタン操作に使います。表示系と判定系を混同しないことが重要です。表示用objectをEAの判定truthとして扱うと、残存objectや削除漏れで誤動作につながる可能性があります。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
ObjectCreateチャートオブジェクトラベル、ボタン、ラインなどを作成するtrue / false、GetLastErrorパネルUI、ステータス表示、価格ライン表示作成失敗、名前衝突、subwindow違いMQL5開発入門
ObjectSetIntegerチャートオブジェクトinteger / bool / color系プロパティを設定するtrue / false位置、色、z-order、選択可否、背景設定プロパティID違い、z-order不整合、表示崩れMQL5開発入門
ObjectSetDoubleチャートオブジェクトdouble系プロパティを設定するtrue / false価格ライン、座標、補助ライン価格桁数違い、対象object違いMQL5開発入門
ObjectSetStringチャートオブジェクト文字列プロパティを設定するtrue / falseラベル文字、ボタン文字、tooltip文字更新失敗、object名違い、古い表示残りMQL5開発入門
ObjectGetIntegerチャートオブジェクトinteger系プロパティを取得する対象プロパティ値状態確認、z-order確認、ボタン状態確認object未作成、プロパティ種別違いMQL5開発入門
ObjectFindチャートオブジェクトobjectが存在するか確認するsubwindow index。見つからない場合-1upsert処理、残存object確認、初期化時監査object名不一致、別チャート参照MQL5開発入門
ObjectDeleteチャートオブジェクト指定objectを削除するtrue / false不要表示削除、モード切替、cleanup削除漏れ、他EA object削除、対象名違いMQL5開発入門
ObjectsDeleteAllチャートオブジェクト条件に合うobjectをまとめて削除する削除数prefix cleanup、再初期化、表示リセット削除範囲過大、手動ライン削除、他EA object削除MQL5開発入門
ChartRedrawチャートオブジェクトチャート再描画を促す戻り値なし表示更新、パネル更新、オブジェクト反映呼び出し過多、描画負荷、ちらつきMQL5開発入門

標準ライブラリ関数・クラス一覧

MQL5標準ライブラリを使うと、取引処理や状態確認をクラスで扱えます。ただし、CTradeを使っても、注文結果の確認が不要になるわけではありません。メソッド戻り値、ResultRetcode、ResultDeal、ResultOrder、PositionInfoの選択結果を確認します。

関数名・クラス名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
CTrade標準ライブラリ注文・決済・注文変更を扱う取引クラス各メソッド戻り値、ResultRetcodeCTrade.Buy、Sell、PositionClose、PositionModifyResultRetcode未確認、filling不一致、注文失敗誤認MQL5標準ライブラリ・CTrade完全ガイド
CTrade.ResultRetcode標準ライブラリ最後の取引結果コードを取得するTRADE_RETCODE系コードBuy/Sell/Close後の結果確認メソッドtrueだけで成功扱いにするミスMQL5標準ライブラリ・CTrade完全ガイド
CTrade.ResultDeal標準ライブラリ最後の取引結果のdeal ticketを取得するdeal ticket約定確認、履歴追跡orderとdealの混同、Pendingでdeal 0MQL5標準ライブラリ・CTrade完全ガイド
CTrade.ResultOrder標準ライブラリ最後の取引結果のorder ticketを取得するorder ticket注文受付確認、Pending追跡dealとorderの混同MQL5標準ライブラリ・CTrade完全ガイド
CPositionInfo標準ライブラリ保有ポジション情報を取得するSelect結果、Volume、PriceOpen、Profitなど保有確認、決済対象確認、損益表示Select漏れ、Position未選択、ticket違いMQL5標準ライブラリ・CTrade完全ガイド
COrderInfo標準ライブラリ未約定注文情報を取得するSelect結果、OrderType、State、VolumeCurrentなどPending order確認、注文変更、注文削除Positionとの混同、履歴注文との混同MQL5標準ライブラリ・CTrade完全ガイド
CDealInfo標準ライブラリ約定履歴情報を取得するDealType、Entry、Volume、Price、Profitなど決済履歴、日次損益、約定監査HistorySelect漏れ、Order/Deal混同MQL5標準ライブラリ・CTrade完全ガイド
CSymbolInfo標準ライブラリ銘柄情報をクラスで扱うBid、Ask、Point、Digits、LotsMin、StopsLevelなど発注前確認、銘柄仕様確認、ロット正規化RefreshRates漏れ、銘柄未選択、仕様誤認MQL5標準ライブラリ・CTrade完全ガイド
CAccountInfo標準ライブラリ口座情報をクラスで扱うBalance、Equity、FreeMargin、TradeAllowedなど証拠金確認、取引許可確認、リスク表示口座状態誤認、EA取引不可、証拠金不足MQL5標準ライブラリ・CTrade完全ガイド

文字列・配列・変換系関数一覧

ログ、CSV、外部連携、設定読み込みでは、文字列・配列・変換系関数をよく使います。文字コード、区切り文字、配列サイズ、添字、空欄処理を確認します。

関数名分類主な用途戻り値 / 確認値よく使う場面関連エラー関連講座
StringLen文字列文字列長を取得する文字数空文字チェック、通知文、CSV列確認空文字誤認、長すぎる通知MQL5エラーコード辞典
StringSubstr文字列文字列の一部を取り出す部分文字列ログ整形、CSV解析、URL加工位置範囲外、検索結果-1の未確認MQL5エラーコード辞典
StringFind文字列文字列内の位置を検索する位置。見つからない場合-1レスポンス判定、CSV列確認、ログ解析-1未確認、大小文字差、空文字MQL5エラーコード辞典
StringSplit文字列区切り文字で文字列を分割する分割数CSV読み込み、設定行、外部レスポンス解析区切り文字違い、列数不足、空欄MQL5ファイル操作・CSVログ出力完全ガイド
ArraySize配列配列サイズを取得する要素数CopyBuffer後、CopyRates後、ループ前確認配列外参照、サイズ0配列MQL5エラーコード辞典
ArrayResize配列動的配列のサイズを変更する新サイズまたは失敗値履歴保存、CSV読み込み、計算配列メモリ不足、静的配列、巨大配列MQL5エラーコード辞典
ArraySetAsSeries配列配列の時系列方向を設定するtrue / false価格配列、インジバッファ、Copy系取得後添字方向の混同、現在足/過去足の誤参照MQL5時系列データ・価格取得完全ガイド
NormalizeDouble変換・丸め小数桁を丸める丸め後double値価格、ロット、SL/TP、ログ表示digits違い、volume step未考慮、丸め誤差MQL5注文・ポジション・履歴管理完全ガイド
DoubleToString変換・表示double値を文字列化する文字列価格ログ、CSV、通知文、画面表示桁数不統一、丸め誤認MQL5エラーコード辞典

関数辞典の使い方

この関数辞典は、関数名を単独で覚えるためではなく、目的別に確認するために使います。

状況最初に見る分類確認する関数・値次に確認するログ
EAが起動しないイベント関数、ログ・エラー確認OnInit、GetLastError、PrintExperts、Journal
注文できない注文・取引、銘柄・口座情報OrderSend、OrderCheck、SymbolInfoInteger、AccountInfoDoubleretcode、Journal、取引タブ
ポジションが見つからないポジション関数PositionSelect、PositionSelectByTicket、PositionsTotalPOSITION_SELECT、ticket、symbol、magic
履歴が取れない履歴関数HistorySelect、HistoryDealsTotal、HistoryDealGetTicket履歴期間、DEAL_ENTRY、DEAL_PROFIT
インジケーター値が取れないインジケーター関数iCustom、BarsCalculated、CopyBufferhandle、buffer番号、取得件数
ローソク足がずれる時系列・価格取得CopyRates、iTime、CopyClose、PeriodSecondsbar_time、shift、timeframe
CSVが保存されないファイル操作FileOpen、FileWrite、FileIsExist、FolderCreateFileOpen戻り値、GetLastError、保存先
外部通知が届かない外部連携WebRequest、StringToCharArray、CharArrayToStringHTTPステータス、WebRequest許可、timeout
ボタンが反応しないチャートオブジェクト、イベント関数ObjectCreate、ObjectSetInteger、OnChartEventsparam、object名、z-order
CTradeで注文した結果が分からない標準ライブラリCTrade.Buy / Sell、ResultRetcode、ResultDeal、ResultOrderTRADE_RESULT、POSITION_SNAPSHOT

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

EA利用者がMQL5コードを直接編集しない場合でも、関数まわりの不具合調査で整理できる情報があります。

確認項目利用者が確認できる内容開発者へ伝えるとよい情報
EA名・インジ名設置しているファイル名・商品名対象ファイルを特定するため
バージョンログや画面に表示される版古い版・別版との混同を防ぐため
対象銘柄・時間足チャート左上のsymbol、M1/M5/M15など価格取得、symbol、timeframeの確認に必要
発生した操作起動、注文、決済、ボタン押下、バックテストなどどの分類の関数を見るかを絞るため
表示されたエラーコード、定数名、メッセージ全文GetLastError系かTRADE_RETCODE系かを分けるため
ExpertsログEA・インジ側のログ関数戻り値、retcode、判定理由の確認に使う
Journalログ端末側・サーバー側ログ注文、接続、テスター、端末状態の確認に使う
スクリーンショットチャート、Experts、Journal、取引タブ、設定画面実際の表示状態とログを照合するため

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

MQL5開発では、関数を目的別に分け、戻り値とログを必ず確認します。特に、表示系と判定系、input初期値とruntime状態、推奨値とruntime調整値を混同しないことが重要です。

責務主に使う関数確認するログ混同すると起きる問題
signalCopyBuffer、CopyRates、iClose、iCustomSIGNAL_CONTEXT、COPYBUFFER_READ、BAR_BASIS現在足と確定足の混同、サイン再現ズレ
executionOrderSend、OrderCheck、CTrade.Buy/SellORDER_SEND、TRADE_RESULT、RESULT_RETCODE注文送信と約定成功の混同
riskSymbolInfoDouble、AccountInfoDouble、OrderCalcMarginLOT_CHECK、MARGIN_CHECK、SYMBOL_SPECロット不正、証拠金不足、銘柄仕様ズレ
exitPositionSelect、PositionClose、PositionModifyEXIT_CHECK、POSITION_CLOSE、SLTP_MODIFY決済対象違い、SL/TP変更失敗
history auditHistorySelect、HistoryDealGetInteger、HistoryDealGetDoubleHISTORY_SELECT、DEAL_AUDIT、DAILY_PNL履歴0件、日次損益ズレ、Deal/Order混同
external controlWebRequest、FileReadString、StringSplitEXT_CONTROL、WEBREQUEST_RESULT、CSV_READ外部通信失敗とEA判定不成立の混同
notificationWebRequest、SendNotification、PrintFormatNOTIFY_SEND、HTTP_STATUS、NOTIFY_THROTTLE通知過多、HTTPエラー、送信先不明
UI / objectObjectCreate、ObjectSetInteger、OnChartEventOBJECT_UPSERT、BUTTON_CLICK、EVENT_ROUTE表示状態とruntime状態の不一致

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

MQL5関数まわりの開発や修正を依頼する場合は、次の情報を整理しておくと原因確認が早くなります。

整理する情報内容理由
対象EA・インジ名mq5/ex5名、バージョン対象ファイルと版を特定するため
該当する機能注文、決済、インジ連携、CSV、通知、パネルなど見るべき関数分類を絞るため
対象銘柄・時間足symbol、timeframe、ブローカー表記SymbolInfo、CopyRates、iCustomの確認に必要
エラー内容コード、定数名、メッセージ全文GetLastError系かretcode系かを分けるため
ExpertsログEA側ログ、関数戻り値、判定理由内部処理の流れを追うため
Journalログ端末側・サーバー側ログ注文・接続・テスター状態を確認するため
setファイルInputs設定再現条件と設定差を確認するため
再現手順何をしたら発生したかOnInit、OnTick、OnChartEventなどの発生箇所を特定するため
スクリーンショットチャート、設定、ログ、取引タブ、履歴タブ表示状態とログを照合するため

開発依頼前に必要な資料の整理については、次のページも確認してください。

MT5開発依頼前に用意する資料まとめ

関連する技術講座

関連ページ確認できる内容
技術講座ハブMT5・MQL5・EA開発関連の技術講座一覧を確認できます。
MQL5開発入門MQL5開発全体の基本構造、EA・インジケーター開発の入口を確認できます。
MQL5エラーコード辞典GetLastError、TRADE_RETCODE、コンパイルエラー、WebRequest関連エラーを確認できます。
MQL5注文・ポジション・履歴管理完全ガイドOrder、Position、Deal、History、OrderSend、PositionSelect、HistorySelectの確認に使えます。
MQL5インジケーター開発・EA連携完全ガイドiCustom、CopyBuffer、インジケーターバッファ、EA連携の確認に使えます。
MQL5時系列データ・価格取得完全ガイドCopyRates、CopyClose、iClose、iTime、SymbolInfo系の確認に使えます。
MQL5ファイル操作・CSVログ出力完全ガイドFileOpen、FileWrite、CSV出力、FILE_COMMON、保存先確認に使えます。
MQL5標準ライブラリ・CTrade完全ガイドCTrade、CPositionInfo、COrderInfo、CDealInfo、CSymbolInfo、CAccountInfoの確認に使えます。

問い合わせ前チェック表

  • □ 対象EA・インジ名を確認した
  • □ バージョンを確認した
  • □ 対象銘柄と時間足を確認した
  • □ どの機能で発生したかを整理した
  • □ 関数名または該当処理を確認した
  • □ Expertsログを確認した
  • □ Journalログを確認した
  • □ GetLastError系かTRADE_RETCODE系かを分けた
  • □ Order / Position / Deal / Historyを混同していないか確認した
  • □ 現在足と確定足を混同していないか確認した
  • □ Webhook URL、APIキー、GAS URL、認証トークン、口座番号をマスクした
  • □ setファイルを保存した
  • □ 再現手順を整理した
  • □ スクリーンショットを保存した

FAQ

この辞典だけでMQL5の仕様をすべて判断できますか?

いいえ。この辞典は、MQL5の主要関数を実務上確認しやすく整理した記事です。最終的な仕様確認は、公式リファレンス、MetaEditorのコンパイル結果、Expertsログ、Journalログ、実際の動作結果を合わせて確認してください。

公式リファレンスとこの記事は何が違いますか?

公式リファレンスは、関数仕様や引数を厳密に確認するための一次情報です。この記事では、EA・インジケーター開発で見落としやすい「使う場面」「戻り値」「確認するログ」「出やすいエラー」「開発依頼前に整理する情報」を中心に補足しています。

関数名だけで原因を断定できますか?

断定できない場合が多いです。たとえばOrderSendで失敗しても、原因はロット、証拠金、銘柄仕様、取引時間、type_filling、EA側ガード、取引サーバー側retcodeなどに分かれます。関数名、戻り値、GetLastError、retcode、Expertsログ、Journalログをセットで確認してください。

EA利用者でも確認すべき項目はありますか?

あります。EA名、バージョン、発生日時、銘柄、時間足、Expertsログ、Journalログ、スクリーンショット、setファイル、発生時の操作手順を整理しておくと、原因確認が早くなります。

開発依頼前にどの情報を整理すればよいですか?

対象EA・インジ名、バージョン、対象銘柄、時間足、発生した機能、エラー内容、Expertsログ、Journalログ、setファイル、再現手順、スクリーンショットを整理してください。Webhook URL、APIキー、GAS URL、認証トークン、口座番号などは必ずマスクしてください。

ExpertsログとJournalログのどちらを確認すべきですか?

両方確認するのが基本です。ExpertsログではEAやインジケーター内部の判定、関数戻り値、GetLastError、ResultRetcodeなどを確認できます。Journalログでは端末側、サーバー側、接続状態、注文処理、Strategy Tester関連の情報を確認できます。

OrderSendとCTradeはどちらを使うべきですか?

目的によります。CTradeは標準ライブラリとして扱いやすい一方、OrderSend直接実装はMqlTradeRequestやMqlTradeResultを細かく制御しやすい特徴があります。どちらを使う場合でも、戻り値、retcode、order、deal、comment、Position確認は必要です。

CopyBufferが失敗する場合は何を確認すべきですか?

iCustomや標準インジケーターのhandleが有効か、BarsCalculatedが十分か、buffer番号が正しいか、必要本数が取得できているか、現在足と確定足を混同していないかを確認してください。CopyBufferの戻り値とGetLastErrorも確認します。

WebRequest関連では何を確認すべきですか?

MT5側のWebRequest許可URL、送信先URL形式、HTTPステータス、payload、timeout、外部サービス側の権限、VPS通信状態を確認します。ただし、Webhook URL、GAS URL、APIキー、認証トークンの実値は公開ログや問い合わせ文に含めないでください。

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

まず公式リファレンス、MetaEditorの補完、コンパイル結果、Expertsログ、Journalログを確認してください。EA固有の仕様が関係する場合は、対象ファイル、バージョン、設定値、該当関数、再現手順、ログを整理して確認すると原因を追いやすくなります。

開発依頼・不具合調査前の確認:関数まわりの不具合では、関数名だけで判断せず、分類、戻り値、GetLastError、ResultRetcode、対象symbol、timeframe、ticket、magic、buffer番号、保存先、HTTPステータスをセットで確認してください。

MT5開発依頼前に用意する資料まとめ

関連するMQL5技術辞典

MQL5関数は、目的別に確認すると整理しやすくなります。エラー確認、注文処理、ポジション管理、インジケーター連携、時系列取得、ファイル操作、チャート表示、標準ライブラリなど、詳しい内容は各技術辞典も確認してください。

技術辞典確認できる内容リンク
MQL5エラーコード辞典GetLastError、TRADE_RETCODE、コンパイルエラー、WebRequest、Strategy Tester関連エラーなどを確認できます。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ファイル操作関数辞典FileOpen、FileRead、FileWrite、FileClose、FILE_COMMON、CSV出力、ログ保存に関する内容を確認できます。MQL5ファイル操作関数辞典
MQL5チャートオブジェクト辞典ObjectCreate、ObjectSetInteger、ObjectSetString、OBJ_LABEL、OBJ_BUTTON、OnChartEventなど、チャート表示やパネルUIに関する内容を確認できます。MQL5チャートオブジェクト辞典
MQL5列挙型・定数辞典ENUM_TIMEFRAMES、ENUM_ORDER_TYPE、ORDER_FILLING、POSITION_TYPE、SymbolInfo系定数などを確認できます。MQL5列挙型・定数辞典
MQL5標準ライブラリ辞典CTrade、CPositionInfo、COrderInfo、CDealInfo、CSymbolInfo、CAccountInfoなど、標準ライブラリの主要クラスを確認できます。MQL5標準ライブラリ辞典

確認ポイント:関数名だけで原因や仕様を断定せず、分類、戻り値、GetLastError、ResultRetcode、対象symbol、timeframe、ticket、magic、buffer番号、保存先、HTTPステータスをセットで確認してください。

まとめ

MQL5関数は、目的別に分けて確認すると整理しやすくなります。イベント関数、注文・ポジション・履歴関数、インジケーター関数、時系列・価格取得関数、ファイル操作関数、外部連携関数、チャートオブジェクト関数、標準ライブラリは、それぞれ確認すべき戻り値とログが異なります。

不具合調査では、関数名だけで原因を断定せず、発生場所、戻り値、GetLastError、ResultRetcode、Expertsログ、Journalログ、対象銘柄、時間足、設定値、再現手順を合わせて確認してください。

開発依頼や修正依頼を行う場合は、EA名、バージョン、setファイル、ログ、スクリーンショット、再現手順を整理し、Webhook URL、APIキー、GAS URL、認証トークン、口座番号などの機密情報は必ずマスクしてください。

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