シグナルの最大証拠金使用率の計算方法が少々面倒だった件

MetaTrader 4 MQL4

MQL5マーケットから月30ドルくらいでシグナルを受信してコピートレードを行うことができる。私もEAや裁量トレードで行き詰った時に参考の為利用することがあるのだが、自分が思っていたようなロットでなかなかエントリーしてくれない。そこで具体的な算出方法について調べ、個人的な備忘録として記す。私の解釈が間違っている可能性もあるので正確性は保証できない、あしからず。

参考にさせていただいたページはこちら(FX-Bonus様)。リンク先にはシグナル受信時のロット計算に便利なツールも紹介されています。ありがとうございます。

配信元、受信側の環境

シグナル配信元

  • 証拠金:490USD
  • レバレッジ:500倍
  • 直近の投入ロット:0.09

シグナル受信側

  • 証拠金:10,000円
  • レバレッジ:888倍
  • 最大証拠金使用率:90%

残高10,000円の90%、つまり9,000円をシグナルトレードに充てていいですよ、という設定。

レバレッジの差と証拠金の差を計算

レバレッジの差の計算は「受信側のレバレッジ / 配信元のレバレッジ」となるが、受信側のレバレッジが配信元のレバレッジより小さい場合のみ適用される。今回のパターンだと受信側のレバレッジのほうが大きいのでレバレッジの差は考慮されない。

証拠金の差の計算は「受信側の証拠金 × 最大使用率 / 送信側の証拠金」となる。USDと円で通貨が異なるが、それはこの後計算される。
受信側の証拠金(10,000)×最大使用率(90%) / 配信元の証拠金(490) = 約18.367。

レバレッジの差と証拠金の差を掛け合わせる。今回はレバレッジの差は考慮しない為、1 × 18.367 = 18.367。

通貨を受信側に合わせる

受信側の通貨が円なので、「1円は何ドル」なのかを調べる。googleで「1円 レート」等で検索すればすぐわかる。投稿時点で1円は0.0096USD。
18.367 × 0.0096 = 0.1763232(約17.6%)

算出された値はMT4内のルールで処理される

  • 算出された値が1%未満の場合、1%に切り上げられる。
  • 算出された値が1%以上10%未満である場合、最も近い整数値に切り捨てられる。
  • 算出された値が10%以上100%未満である場合、5の倍数の整数値に切り捨てられる。(例)39.8%=35%
  • 算出された値が100%以上1000%未満である場合、10の倍数の整数値に切り捨てられる。(例)142.2%=140%

上記の式に当てはめた場合、17.6%は15%として処理される。

配信元の直近のロット数から受信側のロットを算出

導き出された値は15%。受信側は配信元のロットの15%のロットでエントリーしますという事。配信元の直近のロットは0.09なので、0.09 × 0.15 = 0.0135、即ち0.01ロット(1000通貨)で受信側はエントリーすることになる。手っ取り早くロット数を知りたければ、前述したツールを使うのが一番早い。シグナルによってポジションの持ち方が違うので、常にひとつしかポジションを持たないシグナルなら良いが、複数ポジションを持ったり、ポジション毎にロット数が変わるシグナルを受信する場合は配信元と受信側でトレード結果に差が出ることもあるので注意が必要。もっともスプレッドやスリップだけでもそこそこ影響は受けるのだが。