MarketInfo()関数は、「気配値表示ウィンドウ」に表示されている通貨ペアに関する様々なマーケット情報を取得するために使用します。
MarketInfo()関数は、以下のように定義されています。
double MarketInfo(
string symbol,
int type
);
各引数の意味は、以下のとおりです。
- string symbol
マーケット情報を取得したい通貨ペア名を指定します。
例えば、「”USDJPY”」等と記述します(通貨ペアの指定は、気配値表示ウィンドウに表示されているとおりに記述します。)。
特定の通貨ペア名を指定せず、EA等を適用したチャートの通貨ペアのマーケット情報を取得したい場合には、「Symbol()」と記述します。
Symbol()関数の詳細については「こちら」を参照してください。 - int type
以下の表に従って、取得したいマーケット情報を指定します。種 類 定 数 取得される情報 MODE_LOW 1 日足の安値 MODE_HIGH 2 日足の高値 MODE_TIME 5 Tick最終更新時間(サーバー時間) MODE_BID 9 最新のビッド値 MODE_ASK 10 最新のアスク値 MODE_POINT 11 ポイント(提示レートの最少変動数) MODE_DIGITS 12 提示レートの小数点以下の桁数 MODE_SPREAD 13 スプレッド(ポイント単位) MODE_STOPLEVEL 14 ストップレベル(ポイント単位) MODE_LOTSIZE 15 基本通貨でのロットサイズ MODE_TICKVALUE 16 ティックバリュー(口座資金が1ロット当たりいくら変動するかを示す値) MODE_TICKSIZE 17 直前に動いたティック幅(ポイント単位) MODE_SWAPLONG 18 買いポジションのスワップポイント MODE_SWAPSHORT 19 売りポジションのスワップポイント MODE_STARTING 20 マーケット開始日時 MODE_EXPIRATION 21 マーケット有効日時 MODE_TRADEALLOWED 22 トレードが許可されているか否か MODE_MINLOT 23 最少取引ロット数 MODE_LOTSTEP 24 ロットの単位
例えば、「0.01」刻みでロット数を指定できれば、「0.01」を返すMODE_MAXLOT 25 最大取引ロット数 MODE_SWAPTYPE 26 スワップの計算方法
0:ポイント単位
1:基準通貨単位
2:百分率
3:証拠金通貨単位MODE_PROFITCALCMODE 27 利益計算モード
0:為替
1:CFD
2:先物MODE_MARGINCALCMODE 28 証拠金計算モード
0:為替
1:CFD
2:先物
3:インデックスMODE_MARGININIT 29 1ロット当たりに必要となる基準証拠金 MODE_MARGINMAINTENANCE 30 1ロット当たりに必要となる維持証拠金 MODE_MARGINHEDGED 31 1ロットの両建てに必要となる証拠金 MODE_MARGINREQUIRED 32 1ロット当たりに必要となる余剰証拠金 MODE_FREEZELEVEL 33 注文のフリーズレベル(ポイント単位)
執行価格がフリーズレベルに定義された範囲内にある場合、注文の変更・取消し・決済はなされないMODE_CLOSEBY_ALLOWED 34 OrderCloseBy()関数の使用が許可されているか否か
戻り値
気配値表示ウィンドウに表示されている通貨ペアに関する様々なマーケット情報が返されます。
EA等を適用している通貨ペアに関する様々なマーケット情報の一部は、定義済み変数に格納されています。
具体例
- 特定の通貨ペアの少数点以下の桁数を取得したい場合は、以下のように記述します。
double Symbol_Digits = MarketInfo(“USDJPY”,MODE_DIGITS);
- EAを稼動させる通貨ペアのスプレッドを取得したい場合は、以下のように記述します。
double Symbol_Spread = MarketInfo(Symbol(),MODE_SPREAD);