気配値情報 MarketInfo 関数

関数

マーケット情報関数

MarketInfo 関数

 この関数は、MT4上の「気配値表示」の仕様にある様々な情報を取得します。取得できる情報はマーケット情報識別子の29項目です。

「気配値表示」と「仕様」のウィンドウ

データ型と構成・戻り値

double MarketInfo(①,②);

 戻り値は、「気配値表示」にある様々な情報を取得します。取得される情報は②の引数によって決まります。

引数 [2]

 MarketInfo 関数は2個の引数で構成されます。


引数名データ型単位初期値説明
symbolstring取引する通貨ペア。通貨ペア名を”USDJPY”のように ” で囲んで指定するか、Symbol関数を使うと現在のチャート通貨ペアが指定されます。
typeintマーケット情報識別子 [29] の中から選択します。

使用例

MarketInfo関数を使ったログ出力

 MarketInfo関数を使って全 29個の通貨情報をエキスパートタブのメッセージに出力します。

 MarketInfo関数は通常 doubleのデータ型で出力されますが、それぞれの通貨情報が分かり易いように、このコードでは一部キャストしています。

コード

// 気配値情報 MarketInfo 関数
#property strict
void OnInit() {
    Print(" 1_当日安値                 :",          MarketInfo(Symbol(),MODE_LOW ));
    Print(" 2_当日高値                 :",          MarketInfo(Symbol(),MODE_HIGH));
    Print(" 5_Tick受信時間             :",(datetime)MarketInfo(Symbol(),MODE_TIME));
    Print(" 9_売値                     :",          MarketInfo(Symbol(),MODE_BID));
    Print("10_買値                     :",          MarketInfo(Symbol(),MODE_ASK));
    Print("11_通貨ペアの最小値         :",          MarketInfo(Symbol(),MODE_POINT));
    Print("12_通貨ペアの小数点以下桁数 :",(int)     MarketInfo(Symbol(),MODE_DIGITS));
    Print("13_スプレッド               :",(int)     MarketInfo(Symbol(),MODE_SPREAD));
    Print("14_ストップレベル           :",(int)     MarketInfo(Symbol(),MODE_STOPLEVEL));
    Print("15_1ロットあたりの通貨量    :",(int)     MarketInfo(Symbol(),MODE_LOTSIZE));
    Print("16_決済通貨のTick           :",          MarketInfo(Symbol(),MODE_TICKVALUE));
    Print("17_Tickの最小値             :",          MarketInfo(Symbol(),MODE_TICKSIZE)); 
    Print("18_買いのスワップ           :",          MarketInfo(Symbol(),MODE_SWAPLONG));
    Print("19_売りのスワップ           :",          MarketInfo(Symbol(),MODE_SWAPSHORT));
    Print("20_マーケット開始日         :",(datetime)MarketInfo(Symbol(),MODE_STARTING));
    Print("21_マーケット期日           :",(datetime)MarketInfo(Symbol(),MODE_EXPIRATION));
    Print("22_トレード可能な通貨ペア   :",(bool)    MarketInfo(Symbol(),MODE_TRADEALLOWED));
    Print("23_ロットの最小値           :",          MarketInfo(Symbol(),MODE_MINLOT));
    Print("24_ロットのステップ         :",          MarketInfo(Symbol(),MODE_LOTSTEP));
    Print("25_最大ロット数             :",(int)     MarketInfo(Symbol(),MODE_MAXLOT));
    Print("26_スワップ計算方法         :",(int)     MarketInfo(Symbol(),MODE_SWAPTYPE));
    Print("27_損益計算モード           :",(int)     MarketInfo(Symbol(),MODE_PROFITCALCMODE));
    Print("28_証拠金計算モード         :",(int)     MarketInfo(Symbol(),MODE_MARGINCALCMODE));
    Print("29_1ロット初期証拠金        :",          MarketInfo(Symbol(),MODE_MARGININIT));
    Print("30_1ロットオーダの初期証拠金:",          MarketInfo(Symbol(),MODE_MARGINMAINTENANCE));
    Print("31_1ロット必要証拠金        :",          MarketInfo(Symbol(),MODE_MARGINHEDGED));
    Print("32_1ロット余剰証拠金        :",          MarketInfo(Symbol(),MODE_MARGINREQUIRED));
    Print("33_注文凍結レベル           :",(bool)    MarketInfo(Symbol(),MODE_FREEZELEVEL));
    Print("34_両建て同時決済可否       :",(bool)    MarketInfo(Symbol(),MODE_CLOSEBY_ALLOWED));
    Print("指定通貨ペア                :",          Symbol());
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました