記事"エキスパートアドバイザーの資金管理のためのファンクション"についてのディスカッション - ページ 5

 
Karlson:

100個の破片がたくさんある。

それとも、何か見落としているのだろうか......。

IBMをテストしていて、なぜ0.5ロット以上の建玉ができないのか、最初は理解できなかった。 そして気づいた。約200の価格で50シャーズ - それは証拠金の10,000の初期預金全体です。

シャーズ」とは何か?
 
Urain:
シャーズ」とは?

ボタンをワンクリック :)))

NYSEの1ロット=100株。

1単元の株数。

 
Karlson:

ボタンをワンクリック :))

NYSEの1ロット=100株。

1ロットの株数。

さて、この#Name = X株の1ロットは、MQL5の関数SymbolInfoInteger() が返す値として必要です。
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
Получение рыночной информации / SymbolInfoInteger - Документация по MQL5
 

CONTRACT_SIZEが間違っているのか?

 
Karlson:

CONTRACT_SIZEが間違っているのか?

そこがポイントです。CONTRACT_SIZEはすでに証拠金計算式で使われています(このページの2番目の投稿をご覧ください)。通貨の場合はこれで十分ですが、例えば#IBMの場合はそうではありません。
 

ああ、昨日もさっきも、そして多分今日もバカだった。 一睡もできない。

すみません、IBMの1ロット(100株)の保証金は2万ドルです。 そういうことです・・・レバレッジはありません・・・正確には1:1です。

私なら、計算式を逆に書きます。 その方が個人的には納得できます。

SYMBOL_MARGIN = (SYMBOL_BID*SYMBOL_TRADE_CONTRACT_SIZE ) / ACCOUNT_LEVERAGE

そして、1ロットの株式(100枚)の出力は、20 000ドルではなく、200ドルであるべきです。 計算式は正しいでしょう。 しかし、現実の出力は同じではありません。 レバレッジがカウントされていないかのように。

IBM ---- margin= (200 * 100 ) /100= $200 -- そうあるべきです。

EURUSD---- margin= (1.23936 * 100,000) /100= $1,239.36 -- すべて正しい。

input double lot=1.0;
double marg1=0,marg2=0;
void OnStart()
    { 
     double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
     OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,bid,marg1);
     OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,bid,marg2);
     
     Print(_Symbol,"    Buy Margin=",marg1,"     Sell Margin=",marg2);
    }

 
Karlson:

ああ、昨日もさっきも、そして多分今日もバカだった。 一睡もできない。

すみません、IBMの1ロット(100株)の保証金は2万ドルです。 そういうことです・・・レバレッジはありません・・・正確には1:1です。

私なら、計算式を逆に書きます。 その方が個人的には納得できます。

そして、1ロットの株式(100枚)の出力は、20 000ドルではなく、200ドルであるべきです。 計算式は正しいでしょう。 しかし、現実の出力は同じではありません。 レバレッジがカウントされていないかのように。

IBM ---- margin= (200 * 100 ) /100= $200 -- そうあるべきです。

EURUSD ---- margin= (1.23936 * 100,000) /100= $1,239.36 -- すべて正しい。

FXでは1ロット目は1枚ですが、1ロット目は100枚です。

 
Rosh:

なぞなぞを言うなFX用に書かれた計算方法は、ここでは使えないということはわかりましたか?

はい、わかりました。あとはどの計算方法が有効かを見つけるだけですが、内部的な表現がわからなければ、長い間推測の世界をさまようことになるでしょう。

この問題に関するMQの明確な見解が必要だ。

ところで、これはあなたの記事に対する攻撃ではない。問題を明確にすることは私にとって重要なことなのだ。

 
Urain:

FXでは1ロット目は1枚ですが、1ロット目は100枚です。


隣のスレッドで議論されているように、レバレッジは、より大きなボリュームを開く可能性を決定します。 そして、利益は単純に1ピップあたりのボリュームでカウントされます。 まあ、TickValueもあります。 口座がユーロである場合、それは重要です。

いいえ、契約価値はどこでも非常に標準的です -基本 通貨の100 000単位。 Instaは外国為替の異なるサイズを持っていることを除いて。

いずれにせよ、答えを待ってください。

20,000を請求するのは理屈に合わない。計算は正しい。200 * 100 =20,000、レバレッジなし。 どこに消えた?

 
Karlson:

隣のスレッドで議論されているように、レバレッジは、より大きなボリュームを開く可能性を決定します。 そして利益は、単純にピップあたりのボリュームでカウントされます。 さて、TickValueもあります。 口座がユーロである場合、それは重要です。

いいえ、契約値はどこでも非常に標準的です -基本 通貨の100 000単位。 株式のための100単位。 インスタは外国為替の異なるサイズを持っていることを除いて。

いずれにせよ、答えを待ってください。

20,000を請求するのは理屈に合わない。計算は正しい。200 * 100 =20,000、レバレッジなし。 どこに消えた?

金属のTickValueは違う、ファンドとFXではそれぞれ1だ。

もしレバレッジがなかったら、利益が大きくなるにつれて大きくなることはない。FXで0.2ロットをオープンしたとすると、2万ドルで、ファンドでは同じボリュームである。

おそらく、ファンドには100株の標準契約があるが、1ロットの注文で100株の標準契約が開かれるのだろう。これ以外の説明はありません(これは推測ですが)。

ZЫここでは「パリトラ」と「ホールの助け」がないと解けない。