Floating point representations vary from machine to machine, as I've implied. Fortunately one is by far the most common these days: the IEEE-754 standard. This standard is prevalent enough that it's worthwhile to look at it in depth; chances are good you'd be able to use this information on your platform (look for ieee754.h). An IEEE-754...
我希望能够控制我使用的历史数据,以便我能够在受控条件下重复测试(策略测试器)。
什么控制 条件?
谢谢你
什么样的控制条件?
谢谢你
我选择的条件不是我的经纪人选择的条件。 你还建议如何测试? 每次测试的条件都是随机的? 但我们不要偏离主题。
明白了。
谢谢你
如果你读了我的链接和/或RaptorUK的链接,你就会更清楚。如果没有,再读一遍 :-D
1.000000000006551e-005只是0.00001000000000006551的另一种记号。
你好,angevoyageur。
1.000000000006551e-005
0.00001000000000006551
第二个双数 的小数被向左移动了五次,但是;)在测试器中不能以这种格式返回,因为双数返回的最大值是小数右边的十六个数字(有效数字)。
主持人
1651
你好,MQL5社区。
https://www.mql5.com/en/docs/common/comment
"双数类型的数据 以小数点后16位的精度输出,并且可以以传统格式或科学格式输出,这取决于哪种符号会更紧凑。Float类型的数据在小数点后有5位数字输出。要以另一种精度或预定义的格式输出实数,请使用DoubleToString() 函数。"
USDJPY在 98.370的价格表示 是浮动类型的数据(在小数点后5位输出)。
USDJPY在-0.0019999999995339的价格表示是双数类型的数据,传统格式(小数点后最多输出16位数)。
如果一个双数输出只到小数点后16位,为什么双数-0.001999999999533[9] 会返回小数点后的第18位?
谢谢你
价格总是双数,98.370是双数。有 16位有效数字。零是没有意义的。
如果零并不重要,为什么不能 在测试器中返回0.00001000000000006551 的值 ,而不是1.000000000006551e-005?我更喜欢以0.00001000000000006551 的格式进行计算!
谢谢你
如果零并不重要,为什么不能 在测试器中返回0.00001000000000006551 这个值 ,而不是1.000000000006551e-005?我更喜欢以0.00001000000000006551 的格式进行计算!
一个浮点数(双数)在内部总是 以这种格式保存......1.000000000006551e-005,你阅读并理解了所给链接中的信息吗?
从这里:浮点数
"一个IEEE-754浮点数(4字节)或双倍数(8字节)有三个组成部分(在IEEE-854下也有一个类似的96位扩展精度格式):一个符号位告诉这个数字是正数还是负数,一个指数给出其数量级,一个尾数指定数字的实际数字。以单精度浮点数为例,以下是比特布局:"
3个部分
如果你想看到0.00001000000000xyz,那么请使用DoubleToStr()将输出格式化为你喜欢的样子。
一个浮点数(双数)在内部总是 以这种格式保存 . . . 1.000000000006551e-005,你阅读并理解了所给链接的信息吗?
从这里:浮点数
"一个IEEE-754浮点数(4字节)或双倍数(8字节)有三个组成部分(在IEEE-854下也有一个类似的96位扩展精度格式):一个符号位告诉这个数字是正数还是负数,一个指数给出其数量级,一个尾数指定数字的实际数字。以单精度浮点数为例,以下是比特布局:"
3个部分
如果你想看到0.00001000000000xyz,那么请使用DoubleToStr()将输出格式化为你喜欢的样子。
是的,我读了你提供的所有链接,发现它们很有帮助,再次感谢你提供这些链接。我喜欢将DoubleToString结合起来,并选择双数的倒数第二位值(例如:CADJPY 95.9[5]9)作为DoubleToString的第二个参数。我认为这个 "can price!=price "的问题并不难解决!你对此有何看法?
谢谢你
是的,我读了你提供的所有链接,发现它们很有帮助,再次感谢你提供的链接。我喜欢结合DoubleToString,选择双倍数的倒数第二位值(例如:CADJPY 95.9[5]9)作为DoubleToString的第二个参数。我认为这个 "can price!=price "的问题并不难解决!你对这个问题怎么看?
那么你的意思是这样的?
Can price !=price是一个不同的问题,但略有联系。 它其实是无法解决的,首先你需要了解问题是什么 ......然后你再去解决它。
所以你的意思是这样的?
Can price != price是一个不同的问题,但略有联系。 它不能真正解决,首先你需要了解问题是什么 ......然后你要解决它。
你对这个 "可以价格!=价格 "的问题有什么看法?
谢谢你
WhooDoo22:
...
价格总是双倍的,98.370是双倍的。有 16位有效数字。零是不重要的。
如果零不重要,为什么不能 在测试器中返回0.00001000000000006551 的 值 ,而不是1.000000000006551e-005?我更喜欢以0.00001000000000006551 的格式进行计算!
谢谢你
可以的,这只是格式化输出值的一个选择。
这正是 因为 零 的意义不大
是的,我读了你提供的所有链接,发现它们很有帮助,再次感谢你提供这些链接。我喜欢结合DoubleToString,并选择双数的倒数第二位值(例如:CADJPY 95.9[5]9)作为DoubleToString的第二个参数。我认为这个 "can price!=price "的问题并不难解决!你对此有何看法?
谢谢你
这可能是,这只是格式化输出值的一个选择。
这正是 因为 零的 意义不大
对不起,但我不理解这句话。"对不起,我不明白这句话。"
谢谢你