order_calc_margin

指定された取引操作を実行するための証拠金を口座通貨で返します。

order_calc_margin(
  action,      // 注文の種類(ORDER_TYPE_BUYまたはORDER_TYPE_SELL)
  symbol,      // 銘柄名
  volume,      // ボリューム
  price        // 始値
  )

パラメータ

action

[in] 注文の種類(ORDER_TYPE列挙からの値)名前なし必須パラメータ。

symbol

[in] 金融商品名。名前なし必須パラメータ。

volume

[in] 取引操作量。名前なし必須パラメータ。

price

[in] 始値。名前なし必須パラメータ。

戻り値

成功した場合は実際の値、それ以外の場合はなし。エラーコードは、last_error()を使用して取得できます。

注意事項

この関数を使用すると、現在の未決注文やポジションを考慮せずに、現在の口座および現在の市場環境で指定された注文の種類に必要な証拠金を見積もることができます。この関数はOrderCalcMarginに似ています。

ORDER_TYPE

ID

説明

ORDER_TYPE_BUY

成行買い注文

ORDER_TYPE_SELL

成行売り注文

ORDER_TYPE_BUY_LIMIT

買い指値注文

ORDER_TYPE_SELL_LIMIT

売り指値注文

ORDER_TYPE_BUY_STOP

買い逆指値注文

ORDER_TYPE_SELL_STOP

売り逆指値注文

ORDER_TYPE_BUY_STOP_LIMIT

注文価格に達すると、未決の買い指値注文がStopLimit価格で出されます

ORDER_TYPE_SELL_STOP_LIMIT

注文価格に達すると、未決の売り指値注文がStopLimit価格で出されます

ORDER_TYPE_CLOSE_BY

反対のポジションでポジションを決済するための注文

例:

import MetaTrader5 as mt5
# MetaTrader 5パッケージにデータを表示する
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# MetaTrader 5ターミナルへの接続を確立する
if not mt5.initialize():
   print("initialize() failed, error code =",mt5.last_error())
  quit()
 
# 口座通貨を取得する
account_currency=mt5.account_info().currency
print("Account сurrency:",account_currency)
 
# 銘柄リストを整理する
symbols=("EURUSD","GBPUSD","USDJPY", "USDCHF","EURJPY","GBPJPY")
print("Symbols to check margin:", symbols)
action=mt5.ORDER_TYPE_BUY
lot=0.1
for symbol in symbols:
   symbol_info=mt5.symbol_info(symbol)
  if symbol_info is None:
      print(symbol,"not found, skipped")
      continue
  if not symbol_info.visible:
      print(symbol, "is not visible, trying to switch on")
      if not mt5.symbol_select(symbol,True):
          print("symbol_select({}}) failed, skipped",symbol)
          continue
   ask=mt5.symbol_info_tick(symbol).ask
   margin=mt5.order_calc_margin(action,symbol,lot,ask)
  if margin != None:
      print("   {} buy {} lot margin: {} {}".format(symbol,lot,margin,account_currency));
  else:
      print("order_calc_margin failed: , error code =", mt5.last_error())
 
# MetaTrader 5ターミナルへの接続をシャットダウンする
mt5.shutdown()
 
 
Result:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
 
Account сurrency: USD
 
Symbols to check margin: ('EURUSD', 'GBPUSD', 'USDJPY', 'USDCHF', 'EURJPY', 'GBPJPY')
  EURUSD buy 0.1 lot margin: 109.91 USD
  GBPUSD buy 0.1 lot margin: 122.73 USD
  USDJPY buy 0.1 lot margin: 100.0 USD
  USDCHF buy 0.1 lot margin: 100.0 USD
  EURJPY buy 0.1 lot margin: 109.91 USD
  GBPJPY buy 0.1 lot margin: 122.73 USD

参照

order_calc_profitorder_check