MQLの勉強メモ (8) 口座情報

口座資金

Balance(残高)

double AccountBalance();

MessageBox(AccountBalance());

スクリーンショット 2014-10-11 19.13.46

Currency(通貨)

double AccountCurrency();

MessageBox(AccountCurrency());

XMでは「USD」ですが、YJFXでは「JPY」でした。
スクリーンショット 2014-10-11 19.15.08

FreeMargin(余剰証拠金・評価残高)

double AccountFreeMargin();
でも出力にいくつかのモードがあって、XMでもYJFXでも評価残高を出力している。

double AccountFreeMarginMode();
この関数の結果が1の場合、ポジションの損益が残高に計算し、評価残高になります。

double AccountFreeMarginCheck(string symbol, int cmd, double volume)
現有の資金で売買した後、資金の状況をチェックする関数。
symbol:通貨ペア(”USDJPY”の形式)
cmd:買い(OP_BUY)あるいは売り(OP_SELL)
volume:ポジションのロット数

MessageBox(AccountFreeMarginMode());
// 1が出力

MessageBox(AccountFreeMargin());
// ポジションによってBalanceには上下されます

MessageBox(AccountFreeMarginCheck("USDJPY", OP_BUY, 2));
// ドル円を2ロット買い建玉を立てた後の資金を出力

Profit(評価損益)

double AccountProfit();

口座の属性

資金には関係ない部分

Leverage(レバレッジ)

double AccountLeverage();
日本の25倍の場合、出力が25。

Stopout(ロスカット)

  • double AccountStopoutLevel():ロスカットの率
  • double AccountStopoutMode():百分率で計算される場合は0

スクリーンショット 2014-10-11 19.41.01
XMでは「20%」でロスカットされます。
YJFXでもテストしました。ちゃんと「100」と出力されました。

業者・サーバ・口座名

数値計算には関係ないかもしれませんが、
メール通知機能を導入すると通知の内容を分かりやすく出せます。
出力が全部string型です。

  • AccountCompany():業者名
  • AccountServer():サーバ
  • AccountName():口座名(自分の名前です。)

業者名をXMは下記のような出力ですが、YJFXではちゃんと「YJFX」と出力されました。
スクリーンショット 2014-10-11 19.47.44
サーバ名の出力。
スクリーンショット 2014-10-11 19.49.32

テスト環境:
海外FXのXMです。
MacのMT4が用意されていますが、日本語も中国語も韓国語も文字化けがあり、英語でテストしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>