MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1250

 
Artyom Trishkin :

調べたことがないので......残念ながら言えません。

説明します。意味があるのならいいのですが。

以下はその説明です。

MT5でEURUSDとAUDJPYを取引しています。どちらもMT5ツールバーに表示されているようにマージンが計上されています。画像を共有します。

EURUSDで初トレード。

ロット=1で売りました。トゥックマージン=235.31。

私は今、AUDJPYで取引しています。

ロット=1で売りました。マージンコール=144.24を取りました。

そして、ToolBoxに表示されるマージンの合計=379.55。

ツールボックスには、ご覧のようにEURUSDとAUDJPYのシンボルが使用する総マージンが表示されています。

さて、私の質問に入ります。

EURUSDで使用する総証拠金のマージンを知りたい。そのための計算が出来ていない。答えは235.31であるべきだと知っています。

しかし、OrderCalcMargin()を使うと、違う答えが返ってきます。この関数は235.23を返すこともあれば、235.01を返すこともある。しかし、これは間違った答えです。特定のシンボルに使用されるマージンを計算する方法を知りたいのですが。私の例では、EURSDまたはAUDJPYで使用する証拠金をどのように計算すればよいのか教えてください。

OrderCalcMargin()は、EURUSDの場合、正しい答えを出すことがあります。しかし、AUDJPYのマージンを計算したい場合は、いつもと違います。

では、私が理解できたかどうか教えてください。

この質問があり、フォーラムのみんなに説明しようとしたのですが、誰も理解してくれません。これは私が再挑戦したものです。

それでも意味がわからなければ、もう一度やってみます。

@ Artyom Trishkinさん、教えて ください。解決策を与えてくれることを期待しています。

 
jaffer wilson:

説明します。意味があるのならいいのですが。

以下はその説明です。

MT5でEURUSDとAUDJPYを取引しています。どちらもMT5ツールバーに表示されているようにマージンが計上されています。画像を共有します。

EURUSDで初トレード。

ロット=1で売りました。トゥックマージン=235.31。

私は今、AUDJPYで取引しています。

ロット=1で売りました。マージンコール=144.24を取りました。

そして、ToolBoxに表示されるマージンの合計=379.55。

ツールボックスには、ご覧のようにEURUSDとAUDJPYのシンボルが使用する総マージンが表示されています。

さて、私の質問に入ります。

EURUSDで使用する総証拠金のマージンを知りたい。そのための計算が出来ていない。答えは235.31であるべきだと知っています。

しかし、OrderCalcMargin()を使うと、違う答えが返ってきます。この関数は235.23を返すこともあれば、235.01を返すこともある。しかし、これは間違った答えです。特定のシンボルに使用されるマージンを計算する方法を知りたいのですが。私の例では、EURSDまたはAUDJPYで使用する証拠金をどのように計算すればよいのか教えてください。

OrderCalcMargin()は、EURUSDの場合、正しい答えを出すことがあります。しかし、AUDJPYのマージンを計算したい場合は、いつもと違います。

では、私が理解できたかどうか教えてください。

この質問があり、フォーラムの皆さんに説明しようとしたのですが、誰も理解することができません。これは私が再挑戦したものです。

それでも意味がわからなければ、もう一度やってみます。

@ Artyom Trishkinさん、教えて ください。解決 策を与えてくれることを期待しています。

あなたの場合、計算するのに非常に重要な値です。

  1. 口座の通貨
  2. ポジションを建てた時の為替レートは?

例として、AUDJPYの証拠金計算には、AUDUSDとUSDJPYが含まれます。ポジションを建てた時のAUDJPYの為替レートがどうだったかは、誰も推測できないでしょう。現在のマージンを介してのみ計算を試みることができます。これはリンク先のスレッドにも書いてありましたね。でも、正直なところあまり書かれていないのですが、コードに何か書いてあるんです。

これらのレートは、その後の各時点で変化するため、異なるマージン値を得ることができます。ポジションの始値に対する現在の証拠金の比率を計算し、この係数をオープンポジションの証拠金計算に適用します。実験が必要なんですね。正確な計算アルゴリズムは覚えていません。

しかし、誰も既成の解決策を与えてはくれないと思います。

 
Alexey Viktorov :

あなたの場合の計算には、非常に重要な値です。

  1. 口座の通貨建てについて
  2. ポジションを建てた時の為替レートは?

例として、AUDJPYの証拠金計算には、AUDUSDとUSDJPYが含まれます。ポジションを建てた時のAUDJPYの為替レートがどうだったかは、誰も推測できない。現在のマージンを介してのみ計算を試みることができます。これはリンク先のスレッドにも書いてありましたね。でも、正直なところあまり書かれていないのですが、コードに何か書いてあるんです。

これらのレートは、その後の各時点で変化するため、異なるマージン値を得ることができます。ポジションの始値に対する現在の証拠金の比率を計算し、この係数をオープンポジションの証拠金計算に適用します。実験が必要なんですね。正確な計算アルゴリズムは覚えていません。

しかし、誰も既成の解決 策を与えてはくれないと思います。

はい、了解しました。しかし、MT5 ToolBoxではマージンを変えずにきっちり計算しているんですね。では、MT5 ToolBoxはどのようなロジックを使っているのでしょうか。この件に関して、もう少し詳しく教えてください。

 

関数の引数を介して異なる変数に値を代入する方法について質問します。引数が1つの場合は、値を返して代入 すればよいのですが、2つの場合はどうすればよいのでしょうか?

int x,x1,x2,x3=1,x4,x5;
void OnStart()
{
x=2;
F(x,x1,x2);
Print ("x1= ",x1," x2= ",x2);
x=5 ;
F(x,x4,x5);
Print ("x4= ",x4," x5= ",x5);
return;
}

int F(int ArgX, int ArgX1, int ArgX2)
{
ArgX1=ArgX + x3;
ArgX2=ArgX - x3;
return ArgX1;
}

//результат
2020.09.09 15:10:10.561 TestS EURUSD,H1: x4= 0 x5= 0
2020.09.09 15:10:10.561 TestS EURUSD,H1: x1= 0 x2= 0
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
  • www.mql5.com
Побитовые операции производятся только с целыми числами. При выполнении операции логический сдвиг представления y вправо/влево на x бит используются младшие 5 двоичных разрядов значения x, старшие разряды отбрасываются, то есть сдвиг производится на 0-31 бит.
 

ヴァレリー これでいいかもしれない。

void  F(int &ArgX, int &ArgX1, int &ArgX2)
 
Aleksei Stepanenko:

ヴァレリー これでいいかもしれない。

そうですね、リンク、アパーサンドは間違えなければ。

2020.09.09 15:18:33.572 TestS EURUSD,H1: x4= 6x5= 4

2020.09.09 15:18:33.572 TestS EURUSD,H1: x1= 3x2= 1

ありがとうございました)))


 
そうなんだ!リンク先で送信
 
Valeriy Yastremskiy:

関数の引数を介して異なる変数に値を代入する方法について質問します。引数が1つの場合は、値を返して代入 することができますが、2つの場合はどうでしょうか。

これは何でしょう?

void start()

昔々、ずっとずっと昔のこと。マンモスが食べたそして、それを装着するのです。そういうことなんでしょうか?

 
Artyom Trishkin:

それは何ですか?

昔々、あるところに...マンモスが食べていたものそして、それを装着するのです。そういうことなんでしょうか?

批判しないでください、私は手書きで脚本を書きました。そして、厳密なチェックは古い機能をスキップする。もちろん、そんな風に脚本を書いているわけではありません。それに、コンストラクタもありますしね ))))。

修正済み)
 
同僚の皆さん、ごきげんよう。新しいバーの始値でマーケットポジションを開く、異なるマジックシンボルを持つ5つのトレーディングロボットがあり、それらはすべて同じ条件でエントリーされます。出口が違うんです。
5つのポジションを すべて手動で閉じることもあります。
そして、どのように新しい市場の位置を開くためのアルゴリズムを整理するための最小限の努力ではなく、次のバーで - M1上の取引が、連続した別の、すなわち1 M1で時間があった第一を開き、第二M1でそれらから時間があった第二、等5に開いた。
つまり、オプションとして、市場開始時間の1分間を、その後のミニッツ()標準のf-fiとの比較にどう割り振るかという問題に集約されると思うのですが。もちろん、この時点ですでにマーケットポジションがある場合は、リターン()します。