对MT5的祝愿 - 页 45

 
亲爱的开发者。你觉得从C/C++引入一个数据类型"long double "怎么样?这将是非常有用的。说实话,我遇到过,"双 "字型的准确性在计算中是不够的。或者说,为具有任意定义精度的操作制作一个特殊的类。你如何看待这个问题?
Документация по MQL5: Основы языка / Типы данных
Документация по MQL5: Основы языка / Типы данных
  • www.mql5.com
Основы языка / Типы данных - Документация по MQL5
 
-Alexey-:
亲爱的开发者。你对从C/C++引入 "长双 "数据类型 有何看法?这将是非常有用的。说实话,我遇到过 "双倍 "类型的精确度不足以进行计算。或者说,为具有任意定义精度的操作制作一个特殊的类。你怎么看这个问题?

抱歉打扰了,但你在向太空发射火箭吗?考虑优化算法什么的不是更好吗?

你能举出一个需要这种精确性的例子吗?

 
例如,正态分布的量化计算需要至少4-5个符号,因为在P>.9时的依赖性位于地平线上,机器零点的概率变化不允许获得超过2-3个符号的精度,而在P>.99时甚至更糟。以此类推。数字可能有点不同,这只是举例,因为我必须用不同的分布来工作,但想法是一样的。什么是火箭 :)
 
另一个问题是出现了缺乏精确性的情况。情况是这样的。我正在建立一个按价格计算的10000个值的分布函数。在某些区间,该函数的值很小,被10000除以。我们获得了1*10e-6的数值;然后我们需要找到这些数值之间差值的平方,并获得1*10e-13的数值(然后需要将几千个这样的数值相加);数据是灾难性的丢失。而10000元并不是那么多,说实话--不多。这就是为什么我再次要求开发者引入 "长双"。据我所知,在金融领域,大样本的统计工作是一项经常需要的任务。否则就会发现,自己刚刚对MQL5感到兴奋,现在又不得不转到C++。
 
-Alexey-:
还有一个问题,就是缺乏准确性。情况是这样的。我们正在建立一个按价格计算的10 000个价值的分布函数。在某些区间,该函数的值很小,被10000除以。我们得到了1*10e-6的数值;然后有必要定义这些数值之间的差值的平方,我们得到了1*10e-13的数值(然后必须将几千个这样的数值相加);数据是灾难性的丢失。而10000元并不是那么多,说实话--不多。这就是为什么我再次要求开发者引入 "长双"。据我所知,在金融领域,大样本的统计工作是一项经常需要的任务。否则就会发现,我们刚刚对MQL5感到兴奋,现在就得改用C++了。

mql5中的double类型 适用于范围为+-10e-307到+-10e307的数字,尾数为16位。所以没有你所描述的问题。

如果申报的尾数不够,可以开发一个更高的精度等级,例如,尾数为32位。这是你的权利。

但对于主要的大众开发者来说,16位尾数就足够了,何必搞得这么乱呢?

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 
Urain:

mql5中的double类型 适用于范围为+-10e-307到+-10e307的数字,尾数为16位。因此,不存在你所描述的问题。

如果申报的尾数不够,可以开发一个更高的精度等级,例如,尾数为32位。这是你的权利。

对于大多数开发者来说,16个字符的尾数已经足够了,为什么还要费心呢?

我不同意,下面是一个例子(网格10000x10000)。

double x1=0.0011。

double y1=x1/10000。

double x2=0.0012。
双重y2=x2/10000。

双重c=y1-y2。
double d=MathPow(c,2);


printf(string(d))。

результат: 9.999999999999968e-017

我应该如何处理这个结果?我如何与其他结果进行比较?DBL_EPSILON=2.2204460492503131e-016.除了最后两个数字--看到了吗?而这仅仅是两项操作。而且我有更多这样的操作。而这些信息必须用于以后恢复数据时的一些更多操作。更多的损失。我只是在学习用类似C语言编程,这样的课对我来说很难建立(或者说,我不知道如何建立)。这是一项严肃的工作。顺便问一下,你有没有这样的课?而开发者可以一次性为每个人改善事情。这将有可能使100,000x100,000的网格。已经有了或多或少具有代表性的样本,尽管即使这样也大体上是不够的。如果他们为任意精度做一个类,那就更好了 :)它只是一个数据类型。如果它存在,它的存在是有原因的,因为它满足了一种需要。关键是,我不知道这对开发者来说是否困难。如果这很困难,很昂贵--我同意你的看法--为什么要把我的问题转嫁给他们。但是,如果这并不困难--为什么不做呢。同样--一个强大的开发环境,用于高精度的交易计算--这里有些竞争优势:)。这就是为什么我问他们怎么看。
 
-Alexey-:
同样--一个强大的开发环境,用于高精度的交易计算--这里有些竞争优势:)。

这只是从你的角度来看...99.9999%不需要它

为此使用专门的软件....

 
AlexSTAL:

这只是从你的角度来看...99.9999%不需要它

为此使用专门的软件....

这就是问题所在,MT是一种专门用于金融计算的产品。财务计算与统计方法的使用密切相关。而且没有必要掌握新产品--我想在一个交易环境中发展TS,而不是处理这个问题,与类型作斗争。此外,似乎MQL5的计数真的很快。
 
-Alexey-:
这就是问题所在,MT是一种专门用于金融计算的产品。而财务计算与统计方法的使用密切相关。而且没有必要掌握新产品--我想在一个交易环境中发展TS,而不是处理这个问题,与类型作斗争。此外,似乎MQL5真的很快。

你明白,任何开发人员总是缺少一些东西....

如果500个程序员每人写10个愿望--那么就需要一个像比尔的办公室....

以实现幻想....

 
AlexSTAL:

你明白,任何开发人员总是缺少一些东西....

如果500个程序员每人写10个愿望,就需要一个像比尔的办公室....

以使幻想成真....

幻想与此完全没有关系。我的问题是关于实施 常见的分析方法的可能性。也就是说,它是用去除趋势和周期后剩下的那一行来工作。所有关于金融统计的教科书和大学教材中都无一例外地写到了这种方法。这不是一个幻想,而是分析的经典 方法之一。而专门的环境应该有手段来实施这种方法--你怎么看?