新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 107

 
你好!我怎样才能有效地学习MQL?我不是在寻找简单的方法,我只是想了解它!我正在研究科瓦列夫的教程,看视频,试图重复其中规定的代码。但是,即使我重复教程中的代码,也有很多错误,.....。我明白,我已经升级了。 有人告诉我,这个网站可以帮助我,所以我在这里!我应该怎么做?
 
也许我很着急!
 
Alexey Kozitsyn:
用". "分界符分割字符串。

不是一个坏主意...

阿列克谢-维克多罗夫
不需要拆卸任何东西。把它改为字符串,只是为了看到 正确的数字。你不需要为计算做任何事情。

如果你想制造麻烦,将字符串转换回StringToDouble()数字,然后乘以_Point归一化的正确数字,可能是_Digits

关键是,我需要把这个字符串分解成3个数字,而我不能把它转换成一个数字--对语言来说,它变成了一个非常大的数字。

下面是这样一个数字的例子

long CalcY=StringToDouble("111111111111111111");
Print ("CalcY=",CalcY);

打印数字11111111111111104

 
FOTOGRAF14:
也许我很着急!
好了,不要着急!只有在捕捉跳蚤时才需要匆忙行事((c)军队的幽默)。
 
-Aleks-:

问题是,你需要把这个字符串分解成3个数字,但你不能把它转换成一个数字--它变成了一个对语言来说非常大的数字。

下面是这样一个数字的例子

long CalcY=StringToDouble("111111111111111111");
Print ("CalcY=",CalcY);

打印数字11111111111111104

童话故事...
 
Vitalie Postolache:
故事...

自己试试吧。

long CalcY=StringToDouble("111111111111111111");
Print ("CalcY=",CalcY);

long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);

double Test=CalcZ;
Print ("Test=",Test);

 
-Aleks-:

自己试试吧。

long CalcY=StringToDouble("111111111111111111");
Print ("CalcY=",CalcY);

long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);

double Test=CalcZ;
Print ("Test=",Test);

我的意思是 "数字太大",但代码也不正确,所以如果你想从格式转换到格式,你应该这样做。

long CalcY=(long)StringToInteger("111111111111111111");
Print ("CalcY=",IntegerToString(CalcY));

你在那里抱怨的不是一个大数字,而是文本输出中的一个小故障。

 
Vitalie Postolache:
我是指 "太大的数字"。
太大的数字无法准确计算--否则你怎么解释数字后面的错误?
 
-Aleks-:
太大的数字无法准确计算--否则你怎么解释数字后面的错误?
以上是补充。
 
Vitalie Postolache:
以上是补充。

因此,我有这样的概率--你可以把一条线放长,但我需要双倍的逗号计算。