MQL コード内で下記のマクロが定義されているかどうかを調べることによって、MQL プログラムが MQL4 としてコンパイルされているのか、MQL5 としてコンパイルされているのかを判別することができます。
MQL4
… MQL4 としてコンパイルされているときに定義されるMQL5
… MQL5 としてコンパイルされているときに定義される
これを利用すると、MQL4 用と MQL5 用のコードを単一のファイルで記述することができます。
関連記事
- MQL で Hello World
- MetaTrader/MQL: チャートのサイズ(幅・高さ)を取得する (ChartGetInteger)
- MetaTrader/MQL: インジケーターの実装例 - アカウント(口座)情報を表示する
- MetaTrader/MQL: チャートのタイムフレーム(H1 や M15)を取得する (Period, PeriodSeconds)
- MetaTrader/MQL: チャート上に矩形を描画する (OBJ_RECTANGLE, CChartObjectRectangle)
- MetaTrader/MQL: チャート上にラベルを描画する (OBJ_LABEL, CChartObjectLabel)
- MetaTrader/MQL: 組み込み関数の実行に失敗したときにエラー情報を表示する (GetLastError, ErrorDescription)