ここでは、市場情報においてMT4用のソースコードとMT5用のソースコードを共通化するための方法について記載します。
市場情報関数一覧
MQL4とMQL5での有無を〇(あり)、✕(なし)で示しています。
MQL4、MQL5共に存在するNo3~6,8~14についてはそのままの利用で互換性があります。
それ以外の関数については共通化の考慮が必要です。
互換性ありの関数については、本サイトで共通化の解説は行っていません。
No | 関数 | MQL4有無 | MQL5有無 | 用途 |
---|---|---|---|---|
1 | MarketInfo() | 〇 | ✕ | マーケット情報に関する各種データを返します。 |
2 | SymbolsTotal() | 〇 | 〇 | 指定された名称の銘柄が存在するかどうかを確認します 互換性あり |
3 | SymbolName() | 〇 | 〇 | 指定されたシンボルの名称を返します。 互換性あり |
4 | SymbolSelect() | 〇 | 〇 | 「気配値表示」 ウィンドウでシンボルを選択したり、ウィンドウからシンボルを削除したりします。 互換性あり |
5 | SymbolInfoDouble() | 〇 | 〇 | 端末で選択されたシンボルのデータがレードサーバ―上のデータと同期されているかどうかをチェックします 関数は互換性ありですがENUM_SYMBOL_INFO_DOUBLEに一部差がある |
6 | SymbolInfoInteger() | 〇 | 〇 | 対応するプロパティで指定したシンボルの整数型の値を返します。 関数は互換性ありですがENUM_SYMBOL_INFO_INTEGERに一部差がある |
7 | SymbolInfoString() | 〇 | 〇 | 対応するプロパティで指定したシンボルの文字列型の値を返します。 関数は互換性ありですがENUM_SYMBOL_INFO_STRINGに一部差がある |
8 | SymbolInfoTick() | 〇 | 〇 | 指定されたシンボルの現在の価格をMqlTick型の変数で返します。 関数は互換性ありですが MqlTick構造体の内容に差異あり |
9 | SymbolInfoSessionQuote() | 〇 | 〇 | 指定されたシンボルと曜日について、指定された見積りセッションの開始と終了の時刻を受信できるようにする。 互換性あり |
10 | SymbolInfoSessionTrade() | 〇 | 〇 | 指定されたシンボルと曜日について、指定された取引セッションの開始と終了の時刻を受信できるようにします。 互換性あり |
11 | MarketBookAdd() | ✕ | 〇 | 選択したシンボルの板情報のオープンを提供し、DOMの変更の通知を受信にサブスクライブします。 MQL4にはない機能のため共通化対象外 |
12 | MarketBookRelease() | ✕ | 〇 | 指定されたシンボルの板情報の閉鎖を提供し、DOMの変更の通知受信のサブスクライブをキャンセルします。 MQL4にはない機能のため共通化対象外 |
13 | MarketBookGet() | ✕ | 〇 | 指定されたシンボルの板情報を含むMqlBookInfo構造体の配列を返します。 MQL4にはない機能のため共通化対象外 |
コメント