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

 
-Aleks-:

そこで、こんなプローブがあります。ロングでラインを入れればいいのですが、小数点のある計算にはダブルが必要なんです。

まあ、これで問題ないようです。

double CalcY=StringToDouble("0.01234567890001");
Print ("CalcY=",DoubleToString(CalcY,14));

2017.02.05 23:52:50.190 00 EURUSD,M1: CalcY=0.01234567890001

 
Vitalie Postolache:

これで問題ないようです。

double CalcY=StringToDouble("0.01234567890001");
Print ("CalcY=",DoubleToString(CalcY,14));

18桁の数字を持っています。

 
-Aleks-:

18桁の数字があるのですが。

今時、誰が楽をしているのか...。

テキスト出力は16文字までしかできない、ドキュメントには白黒で書かれている。また、計算はデータ型の 限界までです。

 
Vitalie Postolache:

今時、誰が楽をしているのか...。

テキスト出力は16文字までしかできない、ドキュメントには白黒で書かれている。そして計算 -データ型によって 提供される限界まで。

だから、計算の話なんですが、数値は文字列にプリフォームしなくても、ちょうどいいんです。しかし、数字を使った二重計算そのものは、私の理解では15桁までです。それとも、小数点の前と後の両方向で15桁なのでしょうか?

DBL_MIN

doubleで表現できる正の値の最小値

2.2250738585072014e-308

DBL_MAX

double 型で表現できる最大値

1.7976931348623158e+308

DBL_EPSILON

1.0+DBL_EPSILON != 1.0 の条件を満たす最小の数

2.2204460492503131e-016

DBL_DIG

小数点以下の有効桁数

15

DBL_MANT_DIG

仮数部のビット数

53

DBL_MAX_10_EXP

指数次数の最大小数値

308

DBL_MAX_EXP

指数次数の最大2値

1024

DBL_MIN_10_EXP

指数部の最小桁数

(-307)

DBL_MIN_EXP

指数次数の最小2進数値

(-1021)

 
-Aleks-:

数字とのダブルは15桁までと理解しています。それとも、小数点の前後で両方向に15桁なのでしょうか?

最大15桁までなので、カンマは関係ない。

 
int Counter (int type, string sy, enum counterEnum{TIME_1_SY, TOTAL, LOCK})
{
...
}
関数のパラメータに列挙型を宣言して、関数が呼び出さ れたときに3番目のパラメータとして以下の値だけを選択できるようにしたいのですが、アドバイスをお願いします。
TIME_1_SY、TOTALまたはLOCK

どのように実装するのか?

私はそれを理解した、それは非常に単純であることが判明した。

enum CE {TIME_1_SY, TOTAL, LOCK};
int Counter (int type, string sy, int counterEnum)
{
...
}
 

こんにちは、このプログラムのコードを教えてください。

if(ObjectFind("Rectangle 33579")==0) Alert("YES");
else Alert("NO")です。

オブジェクトが存在すれば「YES」を数回、存在しなければ「NO」をずっとシグナルしていますが、オブジェクトが存在するのになぜこのようなシマフォがあるのでしょうか?

 
Maksym Mudrakov:
int Counter (int type, string sy, enum counterEnum{TIME_1_SY, TOTAL, LOCK})
{
...
}
関数のパラメータに列挙型を宣言して、関数が呼び出さ れたときに3番目のパラメータとして以下の値だけを選択できるようにしたいのですが、アドバイスをお願いします。
TIME_1_SY、TOTALまたはLOCK

どのように実装するのか?
グローバルスコープで列挙を宣言する。そして、その列挙を関数のパラメータ型として使用します。
 
vivatforex:

こんにちは、あなたは私に教えてください、ここでプログラムのコードです。

if (ObjectFind("Rectangle 33579")==0) Alert("YES")。
else Alert("NO");

オブジェクトが存在すれば「YES」を数回、存在しなければ「NO」を数回、常に「NO」のシグナルを発していますが、オブジェクトが存在するのになぜこのようなシマフォがあるのでしょうか?

こんな風に試してみてください。

if (ObjectFind(0,"Rectangle 33579")<0) Alert("НЕТ");
else Alert("ДА");
 

皆さん、こんにちは。

なぜこのように表示されるのか、わかる人はいますか?

すなわち、機能は異なるプロパティであるが、表示は同じである。

また、同じ型の他の2つのオブジェクトを使用した場合、どちらか一方のみが動作し、他のパラメータは無視されます。

ファイル: