マージンはどのように計算するのですか? - ページ 4

 
Janis Ozols:

総ロット数の増加やその他の理由で商品のレバレッジが変化した場合、これらのクエリーは証拠金の増加量を返すと考えるのが自然ではないでしょうか?

いいえ、これらの機能はアカウントのレバレッジを使用します。

 
Andrey Khatimlianskii:

はい、そうです。

ただ、最も可能性が高いのは、レバレッジが個々の取引ではなく、商品全体として変化することですが、本質は変わりません。

この件に関しては、私のインフォーマーにアラートを追加しておきます...。

ワイズ、それはワイズです。

 
Andrey Khatimlianskii:

いいえ、これらの機能は、アカウントのレバレッジを使用しています。

特定の商品のレバレッジが現時点での口座のレバレッジと同じでない場合、その商品の現在の証拠金を計算するためにどの関数を使用することができるか教えてください。

 
Janis Ozols:

特定の商品のレバレッジが口座のレバレッジと異なる場合、どの関数を使用すれば、その商品の現在の証拠金を得ることができるか教えてください。

遥か昔のことであろう
 
Janis Ozols:

ある商品のレバレッジが口座のレバレッジと異なる場合、どの関数を使えば、その商品の実際の証拠金を得ることができるのか、教えてください。

多分SymbolInfoDouble(Symbol,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE)?

SymbolInfoDouble - Market Info - MQL4 Reference
SymbolInfoDouble - Market Info - MQL4 Reference
  • docs.mql4.com
2. Returns true or false depending on whether a function is successfully performed. In case of success, the value of the property is placed into a recipient variable, passed by reference by the last parameter. It is recommended to use SymbolInfoTick() if the function is used for getting information about the last tick. It may well be that not a...
 
Stanislav Korotky:

多分SymbolInfoDouble(Symbol,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE)?

残念ながら、SymbolInfoDouble関数にこれらの定数を指定しても、FOREX市場の商品を扱う場合はゼロを返します。

 

さて、これでスレッドの質問に答えることができます。

直接見積もり時のマージン計算式

M=CC/CP

  • ここで、Mはマージンです。
  • CC - 取引金額です。
  • MP - レバレッジ。

例えば、通貨ペアUSD/CADで1標準ロット(100 000ユニット)の取引量をレバレッジ1:200で行う場合、必要な証拠金は以下のとおりです。

  • M=CC/CP
  • М=100 000/200
  • М=500

つまり、証拠金の額は500ドルになります。 そして、レバレッジが1:500の場合、証拠金は100,000/500=200ドルで済みます。しかし、1:500のレバレッジでは、100万ドルを10ロット購入し、100 000/500=2 000ドルの証拠金で取引を行うことができるようになります。

逆日歩のマージン計算

M=MSC/KP x KP

  • ここで、Mはマージンです。
  • CC - 取引金額です。
  • CC - レバレッジ。
  • VC -通貨レート

GBR/USDを例にとって考えてみましょう。

  • M = MOP / KP × TOR
  • M = 100,000/200 × 1, 5074
  • М= 753,7 $

丸い和は出ないが、1pipの値は必ず丸い数字になる。また、ダイレクトクォートの場合、ピップの計算に多少の不都合があります。

クロスレート用マージンの算出

M = CC/KP x EF

  • M - 余白。
  • CC - トランザクションの合計。
  • CC - レバレッジ。
  • EF - (基準)通貨の対ドル為替レート

例)


//+-------------- РАСЧЕТ МАРЖИ ---------------------+
double calcMGN(string SYMB, double VOL)
{
   double Res=0,Price=0;
   if(LEVERAGE!=0)
   {
      if(StringSubstr(SYMB,0,3)!="USD")
      {
         SYMB=StringSubstr(SYMB,0,3)+"USD";
         Price=iClose(SYMB,Period(),0);
         Res=VOL*Price/LEVERAGE;
      }
      else Res=VOL/LEVERAGE;
   }
   return(Res);
}


 
Janis Ozols:

特定の商品のレバレッジが口座のレバレッジと異なる場合、どの関数を使用すれば、その商品の現在の証拠金を得ることができるか教えてください。

数式を見つけることができるかもしれません。でも、なぜ?

その商品のすべてのポジションの実際の証拠金を取り、実際のレバレッジがいくらか計算します。

 
Andrey Khatimlianskii:

数式が確認できます。でも、なぜ?

その商品のすべてのポジションの実際の証拠金を取り、実際のレバレッジがいくらか計算します。

うまくいかない。

レバレッジが効いている

彼の言うようなことがあったんです。

本当に残念なことに、かなりのハイリスクです。

 
Renat Akhtyamov:

さて、これで支店の質問に答えられるようになりました

すみません、スレッドのタイトルで質問の言い方が悪かったですね。実は、マージンの計算 方法ではなく、その実際の値(計算値ではない)をターミナルから取得 する方法に興味があるのです。しかも、口座全体ではなく、一つのポジションを個別に。それが、最初の投稿の内容です。MQL4ではできないこと、そのような機能が存在しないことはすでに理解しています。しかし、少し前にアンドレイ・ハチムリアンスキー(@Andrey Khatimlianskii)が、レバレッジは単一のポジションではなく、商品全体に対して変化する可能性があると示唆しました。さて、このレバレッジの値が口座のレバレッジと異なる場合、どのように求めるかが重要なポイントになりますね。


Renat Akhtyamov:

直接見積もり時のマージン計算式

M=CC/CP

  • ここで、Mはマージンです。
  • CC - トランザクションの合計。
  • KP - レバレッジ。

この式とそれ以降の式の問題点は、KP(レバレッジ)を含んでいることです。残念ながら、この値を1つの楽器で取得する方法はまだ分かっていません。関数 AccountMargin() および AccountInfoInteger(ACCOUNT_LEVERAGE) は、シンボルのレバレッジではなく、口座のレバレッジを返し、関数 MarketInfo(_Symbol,MODE_MARGINREQUIRED) は、このシンボルのポジションが実際には全く異なるレバレッジで開設されていても、口座レバレッジに対応する証拠金を返します。定数 SYMBOL_MARGIN_INITIAL またはSYMBOL_MARGIN_MAINTENANCE を持つ SymbolInfoDouble 関数は、FOREX シンボルを扱うと常にゼロを返します。

したがって、一つの商品のレバレッジがブローカーによって設定され、一般的なアカウントのKPとは異なる場合、私はこの数式や他のすべての数式を使用することができるのか理解できません。


Andrey Khatimlianskii:

数式を見つけることができます。でも、なぜ?

数式を探すのではなく(すでに十分提案されている)、まさにMQL4の機能を知りたいのです。計算値ではなく、実際の値を取得するため。Andreyのおかげで、1つのポジションに対して個別に行うのは無理だということがもうわかりました。さて、商品全体のレバレッジが口座のそれと異なる場合、どのように取得するのかが気になります。


Andrey Khatimlianskii:

商品のすべてのポジションの実際の証拠金を取り、実際のレバレッジがいくらになるかを計算します。

これはまさに今の私です。Expert Advisorは、証拠金の実測値と計算値を比較し、大幅に超過した場合は取引を停止し、トレーダーに通知を送信します。今のところ、そのような通知は受けていません(痛い※3)。

しかし、他の楽器のポジションがある場合はどうすればいいのでしょうか?結局のところ、一つのポジションに対するマージンの実測値を端末から得ることは不可能であることが上記で明らかになった。しかし、確かに楽器全体としては可能なのでしょうか?