SymbolInfoMarginRate

注文の種類と方向に応じて証拠金率を返します。

bool  SymbolInfoMarginRate(
  string            name,                    // 銘柄名
  ENUM_ORDER_TYPE    order_type,               // 注文の種類
  double&           initial_margin_rate,     // 初期の証拠金率
  double&            maintenance_margin_rate  // 維持証拠金率
  );

パラメータ

name

[in] 銘柄名

order_type

[in] 注文の種類

initial_margin_rate

[in] 初期の証拠金率を受け取る double 型の値。当初証拠金は、適切な方向での 1 ロットの証拠金です。当初証拠金によってレートを倍増し、指定された種類の注文をする際に、口座に保留される資金の額を受け取ります。

maintenance_margin_rate

[out] 維持証拠金率を受け取る double 型の変数。維持証拠金は、適切な方向に1ロットの建玉の維持に必要な最小限の資金です。維持証拠金によってレートを倍増し、指定された種類の注文を有効にする際に、口座に保留される資金の額を受け取ります。

戻り値

プロパティリクエストが成功の場合は true、それ以外の場合は false

例:

#define SYMBOL_NAME Symbol()
 
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数                                              |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 比率が設定される変数を宣言する
  double initial_margin_rate = 0;     // initial margin rate
  double maintenance_margin_rate = 0; // maintenance margin rate
 
//--- 買い市場注文のSYMBOL_NAMEシンボル比率を取得して操作ログに送信する
  SymbolInfoMarginRatePrint(SYMBOL_NAME, ORDER_TYPE_BUY, initial_margin_rate, maintenance_margin_rate);
 
//--- 売り市場注文のSYMBOL_NAMEシンボル比率を取得して操作ログに送信する
  SymbolInfoMarginRatePrint(SYMBOL_NAME, ORDER_TYPE_SELL, initial_margin_rate, maintenance_margin_rate);
 
  /*
  結果:
  Initial margin rate for symbol AFKS for the Buy market order: 0.225600
  Maintenance margin rate for symbol AFKS for the Buy market order: 0.112800
  Initial margin rate for symbol AFKS for the Sell market order: 0.254400
  Maintenance margin rate for symbol AFKS for the Sell market order: 0.127200  
  */
 }
//+------------------------------------------------------------------+
//| 証拠金比率を操作ログに送信する                                          |
//+------------------------------------------------------------------+
void SymbolInfoMarginRatePrint(const string symbol, const ENUM_ORDER_TYPE order_type, double &initial_margin_rate, double &maintenance_margin_rate)
 {
//--- order_type成行注文のsymbol比率を取得する
  ResetLastError();
  if(!SymbolInfoMarginRate(symbol, order_type, initial_margin_rate, maintenance_margin_rate))
    {
    Print("SymbolInfoMarginRate() failed. Error ", GetLastError());
    return;
    }
//--- 取得した比の値を出力する
  string type=(order_type==ORDER_TYPE_BUY ? "Buy" : order_type==ORDER_TYPE_SELL ? "Sell" : "Unknown");
  PrintFormat("Initial margin rate for symbol %s for the %s market order: %f\n"+
              "Maintenance margin rate for symbol %s for the %s market order: %f",
              SYMBOL_NAME, type, initial_margin_rate,
              SYMBOL_NAME, type, maintenance_margin_rate);
 }