移动平均线(和任何其他指标)和误差的比较 - 页 2 1234567 新评论 Dina Paches 2015.07.29 17:16 #11 gammaray:这与mql在原则上没有关系。让我们来看看一种抽象的编程语言。在我给出的这个特定的例子中,主要问题是在一个和同一个条形图中的缪翼之差的值不相等(在第一个计算中为2e-16,而在第二个计算中正好为0)。在这种情况下,这个交叉点可能不会以任何方式确定。如果我们回到mql,规范化意味着对数字进行四舍五入(或者说,简单地去掉某个符号之后的所有数字,就像在Sish函数floor中一样,但要达到某个小数位)。 那么,我如何知道要归一化到哪一位数?如果选择了错误的数字,所有的值都可能被四舍五入到0的位置。因此,正常化在这里是危险的,一般来说不能解决问题。至于阿列克谢-列别杰夫写的东西。是的,我正朝着这个方向思考。但是,如果我们将两者的差异多于或等于0进行比较,就有可能得到一个错误的信号(例如,理论上可能出现的情况,即相邻条形图之间的μwings具有完全相同的值)。那么他们的差异不会改变符号(没有交叉),但交叉的信号将通过程序确定。你可以像你建议的那样,只把一个比较放在更多或相等上。但问题是,在这种情况下的计算中,首先它将不等于0(2e-16),而在下一栏中,它将正好是0,但它将是一个严格的比较。重要的是要理解为什么同样的差异,在不同的条形图上计算,会产生不一样的结果。如果结果是一样的,问题总是通过引入一个非严格的比较来解决的。当归一化 时,是的,有四舍五入到一个给定的小数位。不是丢弃某个符号之后的所有数字,而是四舍五入。如果我在这种情况下完全理解你的话(我同时看了你的第一篇带截图的帖子和第二篇),用这种方法 做各种实验,包括在打印时考虑DoubleToString,我想,还是可以帮助你的。罗索玛 在我之前向你提到过。包括,帮助自己确定在任何任务中归一化到什么数字,或者在某些情况下是否需要归一化(在有疑问的情况下,应用或不应用在一组相关的因素上,包括该程序然后可以应用在不同的直流,因此,计算的值可能不同)。从我的观点来看,根据手头的任务,得到可被视为虚假的信号的危险,可能只是在没有应用归一化的时候(或者由于一些小数值而没有以第一种方式进行比较),在这种情况下不会有问题。 此外,如果在打印输出中不应用DoubleToString,可能会简单地认为相同的差异或相同的值不是相同的结果。/* 以防万一,我想再次提到,当打印出双倍类型的数字时,有必要使用DoubleToString,因为输出会将数字值转换为文本值。相应地,如果不使用这个函数,你可能会看到实际上不存在的错误。在这个函数中,小数点的位数当然不比归一化的数值少。而对于非正常化的数值,小数点后的数字更大。 gammaray 2015.07.29 17:40 #12 Aleksey Lebedev:iMA函数的计算很可能是优化的。第一个值=sum(close)/N,第二个值=MA的前值+(新收盘-旧收盘)/N。 那么,一般来说,对于一个相同的条形图,在不同的调用时间,iMA可以给出不同的两个muwings 的值? Dina Paches 2015.07.29 17:44 #13 gammaray: 那么,一般来说,同一个酒吧的iMAs可以在不同的调用时间给出不同的两个muwings的值? 你想检查还是开车? gammaray 2015.07.29 17:52 #14 Dina Paches: 当归一化 时,是的,有四舍五入到指定的小数位。它是四舍五入, 而不是抛弃某个小数点后的所有数字。如果我在这种情况下完全理解你的意思(我同时考虑到了你的第一篇带截图的帖子和第二篇帖子),那么用这种方法 进行的各种实验,包括在打印时考虑DoubleToString,我相信还是可以帮助你。包括,帮助自己定义在任何任务中归一化的数字,或者在某些情况下是否需要归一化(在有疑问的情况下,使用或不使用一组附带的因素,包括该程序然后可以应用于不同的直流,分别获得的计算值可能是不同的)。从我的观点来看,得到可能被认为是错误的信号的危险,取决于手头的任务,可能只是在没有应用归一化的时候(或者由于一些小数值而没有比较第一种方法),在这种情况下不会有什么影响。 此外,如果在打印输出中不应用DoubleToString,可能会简单地认为相同的差异或相同的值不是相同的结果。/* 以防万一,我想再次提到,当打印出双倍类型的数字时,有必要使用DoubleToString,因为输出会将数字值转换为文本值。因此,当不使用该功能时,可能会发生以下错误在这个函数中,小数点的位数当然不比归一化的数值少。而对于非正常化的数值,小数点的数量更大。 很明显,最后一位有效数字是四舍五入的。但如果,例如,如果你把5个有效数字的数字0.000016,它将是0.00002,如果有更少的有效数字,它将永远是0。因此,四舍五入到一个特定的数字总是不可能的。MA值不仅取决于时间框架,而且还取决于条形图本身。因此,在一般情况下,不清楚如何在归一化过程中设置有效数字的数量。我不能理解的是,关于无限小值,如何应用它。Infinitesimal(误差)是用来将一个实数与0进行比较。而我,则需要比较一下其中的差别。这里的情况可能更糟糕。例如,我设置了一些epsilon。当差异大于epsilon时,我认为它是正数。当它小于减去epsilon时,它就是负的。当它在边界内时,它是0。但那样的话,你如何确定差值的符号变化?例如,两根柱子上的muvings之差在epsilon之内。但在第一种情况下,它是积极的,在第二种情况下,它是消极的(即跨越已经发生)。而我,考虑到误差的引入,将认为差值为0,那么符号改变的条件应该改变。从条件上看,在这种情况下,两个MA从上到下交叉的信号,既是<0(曾经)和>0(成为)的简单比较,也是=0(曾经)和>0(成为)的比较。最重要的是,在所描述的情况下(当不同的调用在同一点上的值是不同的),引入这个错误并没有帮助。这种差异可能总是这样,无论你选择哪个ε,你都不会得到一个信号。 Dina Paches 2015.07.29 18:33 #15 gammaray:很明显,最后一位有效数字是四舍五入的。但是,如果,对于一个数字0.000016,你把正常化的5位数字,它将是数字0.00002,如果数字少,它将永远是0。因此,四舍五入到一个特定的数字总是不可能的。MA值不仅取决于时间框架,而且还取决于条形图本身。因此,在一般情况下,不清楚如何在归一化过程中设置有效数字的数量。我不能理解的是,关于无限小值,如何应用它。Infinitesimal(误差)是用来将一个实数与0进行比较。而我,则需要比较一下其中的差别。这里的情况可能更糟糕。例如,我设置了一些epsilon。当差异大于epsilon时,我认为它是正数。当它小于减去epsilon时,它就是负的。当它在边界内时,它是0。但那样的话,你如何确定差值的符号变化?例如,两根柱子上的muvings之差在epsilon之内。但在第一种情况下,它是积极的,而在第二种情况下,它是消极的(即跨越已经发生)。而我,考虑到误差的引入,将认为差值为0,那么符号改变的条件应该改变。从条件上看,在这种情况下,两个MA从上到下交叉的信号,既是<0(曾经)和>0(成为)的简单比较,也是=0(曾经)和>0(成为)的比较。最重要的是,在所描述的情况下(当不同的调用在同一点上的值是不同的),引入这个错误并没有帮助。这种差异可能总是这样,无论你选择什么ε,你都不会得到信号。我认为,在解决任何特定问题时,你也可以依靠小数点后的数字的准确性。根据文件,在双倍数 时,它是15个有效数字。 归一化 精度格式,从0到8,根据文件规定。DoubleToString有其特有的精度格式。此外,从我的观点来看,iMA是一个考虑到用它得出的价值将被应用于不同情况和解决不同问题的函数。因此,它输出的数值可以被不同的处理,也可以针对具体的任务。此外,计算平均数是一种数学计算。比如说。(1.20525 + 1.20598 + 1.2081)/3 = 1.2064433333...相应地,带有小四舍五入或扩展四舍五入的计算值增加了应用计算的选择。为了以防万一,我想提一下,你可以使用MovingAverages 库中的函数来代替iMA,该库包含在标准终端包中。或者你可以在这个库中的基础上使用你自己的函数。/* 在数学计算中,可能会有像double这样的数字工作 的特殊性*/。另一方面,关于epsilons,我就不说了。P./S.: 我是说,实验,我想,可以帮助你。没有针对具体任务的实际实验(在大量的数据上)的理论推理,包括,可能会混淆,并导致远离可接受的解决方案。 Artyom Trishkin 2015.07.30 00:00 #16 真是一团糟。我们已经比较了300天的MAs...正常化为数字,不要担心...... Artyom Trishkin 2015.07.30 01:07 #17 Dina Paches:... 迪娜,我惊叹于你天使般的耐心......。 gammaray 2015.07.30 17:08 #18 Artyom Trishkin: 真是一团糟。我们已经比较了300天的MAs...正常化为数字,不需要麻烦... 你可以直接对数值进行归一化处理(差值--绝非如此)。但是,给定的用于MA比较的阿拉基准代码又必须改变,无论如何必须输入一个非严格的不等式。此外,在不同时间计算出的同一个柱子上的不同MA值的问题仍然没有解决。如果它将进一步重复,即使是规范化和引入一个非严格的不等式也不一定能完全解决问题。另外,当一个柱状图内的缪翼相交两次时,如果你不按点位分析,而是按新柱状图 的开口分析,你就无法抓住。也许你可以分享你的经验,在这种情况下你是如何行动的? Artyom Trishkin 2015.07.30 19:52 #19 gammaray: 你可以直接将数值归一化(差值--没办法)。但同样地,必须改变给定的用于比较MA的ala基准代码,无论如何都应该输入一个非严格的不等式。此外,在不同时间计算出的同一个柱子上的不同MA值的问题仍然没有解决。如果它将进一步重复,即使是规范化和引入一个非严格的不等式也不一定能完全解决这个问题。另外,当一个柱状图内的缪翼相交两次时,如果你不按点位分析,而是按新柱状图 的开口分析,你就无法抓住。也许你可以分享一下你的经验,在这种情况下你是如何行动的?那么首先,两个归一化的数值之差最终会得到一个非归一化的数值。你需要检查归一化的差异。第二,如果你想在一个条形图内抓到交叉点,就在零点和第一个条形图上取所有的刻度值--你会抓到很多 ......你将会得到真正的享受...如果你通过柱状体的开口进行测试,那么专家顾问应该清楚地监测新柱状体的开口,并在事后检查是否有交叉点。首先自己决定--是在开盘时交易,还是在每个交易日交易,然后编写你的代码。而且,相应地,以同样的方式测试它。 Dina Paches 2015.07.30 19:57 #20 Artyom Trishkin: 迪娜,我对你天使般的耐心感到惊奇......。 谢谢你,Artem,但不幸的是,事实证明它也会有局限性。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这与mql在原则上没有关系。让我们来看看一种抽象的编程语言。在我给出的这个特定的例子中,主要问题是在一个和同一个条形图中的缪翼之差的值不相等(在第一个计算中为2e-16,而在第二个计算中正好为0)。在这种情况下,这个交叉点可能不会以任何方式确定。如果我们回到mql,规范化意味着对数字进行四舍五入(或者说,简单地去掉某个符号之后的所有数字,就像在Sish函数floor中一样,但要达到某个小数位)。 那么,我如何知道要归一化到哪一位数?如果选择了错误的数字,所有的值都可能被四舍五入到0的位置。因此,正常化在这里是危险的,一般来说不能解决问题。
至于阿列克谢-列别杰夫写的东西。是的,我正朝着这个方向思考。但是,如果我们将两者的差异多于或等于0进行比较,就有可能得到一个错误的信号(例如,理论上可能出现的情况,即相邻条形图之间的μwings具有完全相同的值)。那么他们的差异不会改变符号(没有交叉),但交叉的信号将通过程序确定。你可以像你建议的那样,只把一个比较放在更多或相等上。但问题是,在这种情况下的计算中,首先它将不等于0(2e-16),而在下一栏中,它将正好是0,但它将是一个严格的比较。
重要的是要理解为什么同样的差异,在不同的条形图上计算,会产生不一样的结果。如果结果是一样的,问题总是通过引入一个非严格的比较来解决的。
当归一化 时,是的,有四舍五入到一个给定的小数位。不是丢弃某个符号之后的所有数字,而是四舍五入。
如果我在这种情况下完全理解你的话(我同时看了你的第一篇带截图的帖子和第二篇),用这种方法 做各种实验,包括在打印时考虑DoubleToString,我想,还是可以帮助你的。罗索玛 在我之前向你提到过。
包括,帮助自己确定在任何任务中归一化到什么数字,或者在某些情况下是否需要归一化(在有疑问的情况下,应用或不应用在一组相关的因素上,包括该程序然后可以应用在不同的直流,因此,计算的值可能不同)。
从我的观点来看,根据手头的任务,得到可被视为虚假的信号的危险,可能只是在没有应用归一化的时候(或者由于一些小数值而没有以第一种方式进行比较),在这种情况下不会有问题。
此外,如果在打印输出中不应用DoubleToString,可能会简单地认为相同的差异或相同的值不是相同的结果。
/* 以防万一,我想再次提到,当打印出双倍类型的数字时,有必要使用DoubleToString,因为输出会将数字值转换为文本值。相应地,如果不使用这个函数,你可能会看到实际上不存在的错误。
在这个函数中,小数点的位数当然不比归一化的数值少。而对于非正常化的数值,小数点后的数字更大。
iMA函数的计算很可能是优化的。第一个值=sum(close)/N,第二个值=MA的前值+(新收盘-旧收盘)/N。
那么,一般来说,同一个酒吧的iMAs可以在不同的调用时间给出不同的两个muwings的值?
当归一化 时,是的,有四舍五入到指定的小数位。它是四舍五入, 而不是抛弃某个小数点后的所有数字。
如果我在这种情况下完全理解你的意思(我同时考虑到了你的第一篇带截图的帖子和第二篇帖子),那么用这种方法 进行的各种实验,包括在打印时考虑DoubleToString,我相信还是可以帮助你。
包括,帮助自己定义在任何任务中归一化的数字,或者在某些情况下是否需要归一化(在有疑问的情况下,使用或不使用一组附带的因素,包括该程序然后可以应用于不同的直流,分别获得的计算值可能是不同的)。
从我的观点来看,得到可能被认为是错误的信号的危险,取决于手头的任务,可能只是在没有应用归一化的时候(或者由于一些小数值而没有比较第一种方法),在这种情况下不会有什么影响。
此外,如果在打印输出中不应用DoubleToString,可能会简单地认为相同的差异或相同的值不是相同的结果。
/* 以防万一,我想再次提到,当打印出双倍类型的数字时,有必要使用DoubleToString,因为输出会将数字值转换为文本值。因此,当不使用该功能时,可能会发生以下错误
在这个函数中,小数点的位数当然不比归一化的数值少。而对于非正常化的数值,小数点的数量更大。
很明显,最后一位有效数字是四舍五入的。但如果,例如,如果你把5个有效数字的数字0.000016,它将是0.00002,如果有更少的有效数字,它将永远是0。因此,四舍五入到一个特定的数字总是不可能的。MA值不仅取决于时间框架,而且还取决于条形图本身。因此,在一般情况下,不清楚如何在归一化过程中设置有效数字的数量。
我不能理解的是,关于无限小值,如何应用它。Infinitesimal(误差)是用来将一个实数与0进行比较。而我,则需要比较一下其中的差别。这里的情况可能更糟糕。例如,我设置了一些epsilon。当差异大于epsilon时,我认为它是正数。当它小于减去epsilon时,它就是负的。当它在边界内时,它是0。但那样的话,你如何确定差值的符号变化?例如,两根柱子上的muvings之差在epsilon之内。但在第一种情况下,它是积极的,在第二种情况下,它是消极的(即跨越已经发生)。而我,考虑到误差的引入,将认为差值为0,那么符号改变的条件应该改变。从条件上看,在这种情况下,两个MA从上到下交叉的信号,既是<0(曾经)和>0(成为)的简单比较,也是=0(曾经)和>0(成为)的比较。最重要的是,在所描述的情况下(当不同的调用在同一点上的值是不同的),引入这个错误并没有帮助。这种差异可能总是这样,无论你选择哪个ε,你都不会得到一个信号。
很明显,最后一位有效数字是四舍五入的。但是,如果,对于一个数字0.000016,你把正常化的5位数字,它将是数字0.00002,如果数字少,它将永远是0。因此,四舍五入到一个特定的数字总是不可能的。MA值不仅取决于时间框架,而且还取决于条形图本身。因此,在一般情况下,不清楚如何在归一化过程中设置有效数字的数量。
我不能理解的是,关于无限小值,如何应用它。Infinitesimal(误差)是用来将一个实数与0进行比较。而我,则需要比较一下其中的差别。这里的情况可能更糟糕。例如,我设置了一些epsilon。当差异大于epsilon时,我认为它是正数。当它小于减去epsilon时,它就是负的。当它在边界内时,它是0。但那样的话,你如何确定差值的符号变化?例如,两根柱子上的muvings之差在epsilon之内。但在第一种情况下,它是积极的,而在第二种情况下,它是消极的(即跨越已经发生)。而我,考虑到误差的引入,将认为差值为0,那么符号改变的条件应该改变。从条件上看,在这种情况下,两个MA从上到下交叉的信号,既是<0(曾经)和>0(成为)的简单比较,也是=0(曾经)和>0(成为)的比较。最重要的是,在所描述的情况下(当不同的调用在同一点上的值是不同的),引入这个错误并没有帮助。这种差异可能总是这样,无论你选择什么ε,你都不会得到信号。
我认为,在解决任何特定问题时,你也可以依靠小数点后的数字的准确性。根据文件,在双倍数 时,它是15个有效数字。 归一化 精度格式,从0到8,根据文件规定。DoubleToString有其特有的精度格式。
此外,从我的观点来看,iMA是一个考虑到用它得出的价值将被应用于不同情况和解决不同问题的函数。因此,它输出的数值可以被不同的处理,也可以针对具体的任务。
此外,计算平均数是一种数学计算。比如说。(1.20525 + 1.20598 + 1.2081)/3 = 1.2064433333...相应地,带有小四舍五入或扩展四舍五入的计算值增加了应用计算的选择。
为了以防万一,我想提一下,你可以使用MovingAverages 库中的函数来代替iMA,该库包含在标准终端包中。或者你可以在这个库中的基础上使用你自己的函数。
/* 在数学计算中,可能会有像double这样的数字工作 的特殊性*/。
另一方面,关于epsilons,我就不说了。
P./S.: 我是说,实验,我想,可以帮助你。没有针对具体任务的实际实验(在大量的数据上)的理论推理,包括,可能会混淆,并导致远离可接受的解决方案。
Dina Paches:
...
真是一团糟。我们已经比较了300天的MAs...正常化为数字,不需要麻烦...
你可以直接将数值归一化(差值--没办法)。但同样地,必须改变给定的用于比较MA的ala基准代码,无论如何都应该输入一个非严格的不等式。此外,在不同时间计算出的同一个柱子上的不同MA值的问题仍然没有解决。如果它将进一步重复,即使是规范化和引入一个非严格的不等式也不一定能完全解决这个问题。另外,当一个柱状图内的缪翼相交两次时,如果你不按点位分析,而是按新柱状图 的开口分析,你就无法抓住。也许你可以分享一下你的经验,在这种情况下你是如何行动的?
那么首先,两个归一化的数值之差最终会得到一个非归一化的数值。你需要检查归一化的差异。
第二,如果你想在一个条形图内抓到交叉点,就在零点和第一个条形图上取所有的刻度值--你会抓到很多 ......你将会得到真正的享受...
如果你通过柱状体的开口进行测试,那么专家顾问应该清楚地监测新柱状体的开口,并在事后检查是否有交叉点。
首先自己决定--是在开盘时交易,还是在每个交易日交易,然后编写你的代码。而且,相应地,以同样的方式测试它。
迪娜,我对你天使般的耐心感到惊奇......。
谢谢你,Artem,但不幸的是,事实证明它也会有局限性。