Вещественные типы (или типы с плавающей точкой) представляют значения, имеющие дробную часть. В языке MQL5 есть два типа для чисел с плавающей точкой. Способ представления вещественных чисел в машинной памяти определен стандартом IEEE 754 и не зависит от платформ, операционных систем и языков программирования. Константы с плавающей точкой...
Alert("Разбег "+DoubleToString(delta,_Digits));
或Alert(StringFormat("Spread %.5f",delta))。
在一般情况下,要习惯它,它们只是同一个数字的不同表现形式。回想一下你美好的学生时代--这就是它的来源。
谢谢你。但如果我需要将delta值作为一个数字来使用并进行比较呢?比如说。
这是否正确?谢谢你。如果我需要将delta值作为一个数字来使用并进行比较怎么办?比如说。
这是否正确?你可以这样比较两个实数。
https://www.mql5.com/ru/docs/basis/types/double
你可以这样比较两个实数。
https://www.mql5.com/ru/docs/basis/types/double
你可以,如果你确定它们的价值不可能非常接近。毕竟,柔软是和温暖相比的。
我不明白。比如说。我取的是价格在一个刻度内所经过的点数。如果价格超过20个点,那么我就会收到一个警报。
我将价格差异(1.12300-1.12321=0.00021)与必要的最大值(0.00020)进行比较。
0.00021>0.00020.
这与柔软和温暖有什么关系?
我不明白。比如说。我取的是价格在一个刻度内所经过的点数。如果价格超过20个点,那么我就会收到一个警报。
我将价格差异(1.12300-1.12321=0.00021)与必要的最大值(0.00020)进行比较。
0.00021>0.00020.
这与柔软和温暖有什么关系?
你需要点,所以要比较点。顺便说一下,它们是整数。
和双倍数相比,epsilon(DBL_EPS,如果没记错的话),否则你可能得到3.0-0.2>2.0+0.8(比喻,数字可能不同)。
你需要点,所以要比较点。顺便说一下,它们是整数。
而double与epsilon(DBL_EPS,如果没记错的话)相比,否则你可能会得到3.0-0.2>2.0+0.8(形象地说,数字可能不同)。
最好为此目的使用@fxsaber 的例子。
脚本来检查。
我不明白。比如说。我取的是价格在一个刻度内所经过的点数。如果价格超过20个点,那么我就会收到一个警报。
我将价格差异(1.12300-1.12321=0.00021)与必要的最大值(0.00020)进行比较。
0.00021>0.00020.
这与柔软和温暖有什么关系?
好吧,有时你不必阅读所有的文字。
你采取了通常由系统代表的数字。拿着这些...
而你得到的是
这个想法是a-b==c,但电脑会给你这样的错误。在论坛上写了很多,可以搜索阅读。
但你可以采取归一化的差异和归一化的控制值,并对它们进行比较。
祝大家时间愉快。问题:在MT4中,当在测试器中使用交叉盘(没有英镑的货币对)时,如果进行测试的账户是美元账户,测试器如何计算平仓 的结果?对于以美元为单位的头寸总额的重新计算,测试者是采用当前时刻还是测试区间时刻的交叉盘基础货币 对美元的汇率?我强烈怀疑,在目前的情况下是这样。如果是这样,是否不可能在间隔时间内使其计算出来?
有谁知道吗?
计算每个刻度 的MODE_TICKVALUE本身。
你可以,如果你确定它们的价值不可能非常接近。毕竟,柔软是和温暖相比的。
如果prom18 需要比较两个数字,在Digits标志内,这是唯一可行的方法。
但正如你所看到的,它有更多的变化:https://www.mql5.com/ru/forum/160683/page1205#comment_17247843。 因此,在这个例子中,我有意将比较的准确性降低了两位数。当然,这样的价格值差是相当不准确的......但是,在这样的情况下,还能如何比较两个数字呢...?如果偏差超过Digits,那么我们就不能使用EqualDoubles,而是使用NormalizeDouble来切断所有不必要的东西。
虽然,你也可以这样做。