在MT4中通过NormalizeDouble对数字进行四舍五入 - 页 15 1...891011121314151617 新评论 fxsaber 2016.09.27 15:08 #141 pavlick_: 有些数字只能用无限小数来表示,如十进制系统中的1/3。但1/3在三级系统中不是一个无限的分数,在那里它==0.1。也就是说,不同的数字系统都有自己的无限小数。因此,十进制的非无限小数在二进制中可以是1。例如:0.1,0.2,0.3,0.4,...。没有确切的二进制表示。如果你调用NormalizeDouble 十次,它要么是0.199999999...1,要么是0.200000...1。 我不知道,也许这就是新闻。你说的是真话!说白了,ND只是用来比较的,而不是用来代表的。而且它早已过时了。 חולםטרנסצנדר ᨖ 2016.09.27 15:46 #142 pavlick_: 有些数字只能表示为无限大的分数,例如十进制中的1/3。但1/3在三级系统中不是一个无限的分数,在那里它==0.1。也就是说,不同的数字系统都有自己的无限小数。因此,十进制的非无限小数在二进制中可以是1。例如:0.1,0.2,0.3,0.4,...。没有确切的二进制表示。如果你调用NormalizeDouble 十次,它要么是0.199999999...1,要么是0.200000...1。 我不知道,也许这就是新闻。我记得,但在这种情况下,它是0+0,不是0。 Sergei Vladimirov 2016.09.27 16:02 #143 transcendreamer: 我记得,但在这种情况下,它是0+0,它不是0。 在什么情况下?给我一个例子,说明什么时候是这种情况。 Slava 2016.09.27 16:37 #144 fxsaber:你说的是真话!说白了,ND只是用来比较的,而不是用来代表的。而且早已被淘汰了。NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。这一点在文件中已明确说明计算出的StopLoss和TakeProfit值,以及挂单的开盘价,必须以准确度为标准,其值可以通过Digits() 获得。 חולםטרנסצנדר ᨖ 2016.09.27 16:53 #145 Sergei Vladimirov: 在什么特定情况下?给我一个例子,说明什么时候会发生这种情况。当变量中原有的0被加入时,就会发生这种情况。(我怀疑它实际上不是0) Alexander Bereznyak 2016.09.27 17:21 #146 Slawa:NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。这一点在文件中已明确说明 但是,比较真实的数字呢... Sergei Vladimirov 2016.09.27 17:22 #147 transcendreamer:当变量中原有的0被加入时,就会发生这种情况。(我怀疑它实际上不是0)正是如此。加法和减法中的 "实数 "零仍然是零。这就是为什么我向你提供了一个例子。 Slava 2016.09.27 17:23 #148 Alexander Bereznyak: 那么,比较真实的数字...一个相关的副作用。事实证明这很方便。但它最初并不打算以这种方式使用。有一些特殊的功能用于打印具有正确精度的实数。告诉我,为什么在计算中需要对实数进行四舍五入?因为在这种情况下,计算的准确性就会丧失! חולםטרנסצנדר ᨖ 2016.09.27 17:27 #149 Sergei Vladimirov: 正是如此。加法和减法中的 "真正 "的零仍然是零。这就是为什么我向你提供了一个例子。 我开始猜测NormalizeDouble(new_lot-sum_lots,Lots_Digits);不会准确输出0,而是存储一些尾数 fxsaber 2016.09.27 17:29 #150 Slawa:NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。这一点在文件中已明确说明 废弃的 关于交易、自动交易系统和策略测试的论坛 标准功能/方法的其他实现方式 Renat Fatkhullin, 2016.09.02 00:55 这不是超载的方法。相同的函数签名。 但这个想法是明确的--考虑到打勾造粒 的正常化的功能。 1...891011121314151617 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
有些数字只能用无限小数来表示,如十进制系统中的1/3。但1/3在三级系统中不是一个无限的分数,在那里它==0.1。也就是说,不同的数字系统都有自己的无限小数。因此,十进制的非无限小数在二进制中可以是1。例如:0.1,0.2,0.3,0.4,...。没有确切的二进制表示。如果你调用NormalizeDouble 十次,它要么是0.199999999...1,要么是0.200000...1。 我不知道,也许这就是新闻。
你说的是真话!说白了,ND只是用来比较的,而不是用来代表的。而且它早已过时了。
有些数字只能表示为无限大的分数,例如十进制中的1/3。但1/3在三级系统中不是一个无限的分数,在那里它==0.1。也就是说,不同的数字系统都有自己的无限小数。因此,十进制的非无限小数在二进制中可以是1。例如:0.1,0.2,0.3,0.4,...。没有确切的二进制表示。如果你调用NormalizeDouble 十次,它要么是0.199999999...1,要么是0.200000...1。 我不知道,也许这就是新闻。
我记得,但在这种情况下,它是0+0,不是0。
我记得,但在这种情况下,它是0+0,它不是0。
你说的是真话!说白了,ND只是用来比较的,而不是用来代表的。而且早已被淘汰了。
NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。
这一点在文件中已明确说明
计算出的StopLoss和TakeProfit值,以及挂单的开盘价,必须以准确度为标准,其值可以通过Digits() 获得。
在什么特定情况下?给我一个例子,说明什么时候会发生这种情况。
当变量中原有的0被加入时,就会发生这种情况。
(我怀疑它实际上不是0)
NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。
这一点在文件中已明确说明
当变量中原有的0被加入时,就会发生这种情况。
(我怀疑它实际上不是0)
正是如此。加法和减法中的 "实数 "零仍然是零。这就是为什么我向你提供了一个例子。
那么,比较真实的数字...
一个相关的副作用。
事实证明这很方便。但它最初并不打算以这种方式使用。
有一些特殊的功能用于打印具有正确精度的实数。
告诉我,为什么在计算中需要对实数进行四舍五入?因为在这种情况下,计算的准确性就会丧失!
正是如此。加法和减法中的 "真正 "的零仍然是零。这就是为什么我向你提供了一个例子。
NormalizeDouble 只需要在下挂单和止损时对价格进行归一化处理。它不需要它做其他事情。
这一点在文件中已明确说明
关于交易、自动交易系统和策略测试的论坛
标准功能/方法的其他实现方式
Renat Fatkhullin, 2016.09.02 00:55
这不是超载的方法。相同的函数签名。
但这个想法是明确的--考虑到打勾造粒 的正常化的功能。