很棒的指南,谢谢!
我想请您让元编辑器中的元编辑器(尽管它们是通过 includnik(用 MQL5 编写)连接的)用自己的颜色显示子照明。
现在源代码中的文章没有这种子照明,所以阅读/接收起来有点困难。
我们正在等待 "MQL5 中的可视化 - 从 R 中汲取精华"。
这项工作的工作量值得尊敬,但
- 测试统计假设并不是 MQL 产品中对速度要求最高的部分。
- 准确性损失的问题仍未解决(mat.library 能长期保持强劲增长,其价值就像白兰地一样久经考验,并不是没有道理的)。
当半年前提出整合 R 和 MT https://www.mql5.com/ru/forum/73266/page10#comment_2283757 的问题时,出于某种原因,当时似乎是要实现全面的数据交换,而不是为小范围的任务提供一个单独的库。
与现有的 4 年前版本的 alglib https://www.mql5.com/zh/code/1146 相比,这个库有什么内在优势?
| specialfunctions.mqh | 分布函数、积分、多项式类: 。
|
劳动力的数量值得尊敬,但
- 统计假设检验并不是 MQL 产品中对速度要求最高的部分。
- 精度损失的问题仍未解决(mat.library 的强大不是没有道理的,它就像白兰地一样历久弥新)。
为了检查复杂的计算,有单元测试(脚本在 /Scripts/Unittests 文件夹中)。
要评估统计库函数计算的准确性,您可以将其与Wolfram Alpha 中获得的数值进行比较。
TestStatPrecision.mql5 脚本会计算每个库分布的概率密度函数(PDF)和累积分布函数(CDF)。
获得的结果将与 Wolfram Alpha 中的值进行比较(显示到最接近的 30 位),并显示小数点后的匹配位数。
脚本结果显示在 "专家 "选项卡中:Distribution: Beta, Wolfram PDF=1.250000000000000000000000000000, PDF_calculated=1.249999999999998223643160599750, deltaPDF=0.000000000000001776356839400250
Distribution: Beta, Wolfram CDF=0.812500000000000000000000000000, CDF_calculated=0.812500000000000222044604925031, deltaCDF=-0.000000000000000222044604925031
Distribution: Beta PDF correct digits=14
Distribution: Beta CDF correct digits=15
Testing precision for distribution:Binomial
Distribution: Binomial, Wolfram PDF=0.178863050569879750151258690494, PDF_calculated=0.178863050569879888929136768638, deltaPDF=-0.000000000000000138777878078145
Distribution: Binomial, Wolfram CDF=0.416370829447481383134288535075, CDF_calculated=0.416370829447481938245800847653, deltaCDF=-0.000000000000000555111512312578
Distribution: Binomial PDF correct digits=15
Distribution: Binomial CDF correct digits=15
Testing precision for distribution:Cauchy
Distribution: Cauchy, Wolfram PDF=0.078353202752933087671394218887, PDF_calculated=0.078353202752933101549182026702, deltaPDF=-0.000000000000000013877787807814
Distribution: Cauchy, Wolfram CDF=0.165249340538567907055167438557, CDF_calculated=0.165249340538567907055167438557, deltaCDF=0.000000000000000000000000000000
Distribution: Cauchy PDF correct digits=16
Distribution: Cauchy CDF correct digits=30
Testing precision for distribution:ChiSquare
Distribution: ChiSquare, Wolfram PDF=0.389400391535702439238519900755, PDF_calculated=0.389400391535702439238519900755, deltaPDF=0.000000000000000000000000000000
Distribution: ChiSquare, Wolfram CDF=0.221199216928595121522960198490, CDF_calculated=0.221199216928595121522960198490, deltaCDF=0.000000000000000000000000000000
Distribution: ChiSquare PDF correct digits=30
Distribution: ChiSquare CDF correct digits=30
Testing precision for distribution:Exponential
Distribution: Exponential, Wolfram PDF=0.441248451292297727555080655293, PDF_calculated=0.441248451292297727555080655293, deltaPDF=0.000000000000000000000000000000
Distribution: Exponential, Wolfram CDF=0.117503097415404600400989920672, CDF_calculated=0.117503097415404544889838689414, deltaCDF=0.000000000000000055511151231258
Distribution: Exponential PDF correct digits=30
Distribution: Exponential CDF correct digits=16
Testing precision for distribution:F
Distribution: F, Wolfram PDF=0.702331961591220799157042620209, PDF_calculated=0.702331961591220910179345082724, deltaPDF=-0.000000000000000111022302462516
Distribution: F, Wolfram CDF=0.209876543209876531559388013193, CDF_calculated=0.209876543209876587070539244451, deltaCDF=-0.000000000000000055511151231258
Distribution: F PDF correct digits=15
Distribution: F CDF correct digits=16
Testing precision for distribution:Gamma
Distribution: Gamma, Wolfram PDF=0.606530659712633424263117376540, PDF_calculated=0.606530659712633424263117376540, deltaPDF=0.000000000000000000000000000000
Distribution: Gamma, Wolfram CDF=0.393469340287366575736882623460, CDF_calculated=0.393469340287366575736882623460, deltaCDF=0.000000000000000000000000000000
Distribution: Gamma PDF correct digits=30
Distribution: Gamma CDF correct digits=30
Testing precision for distribution:Geometric
Distribution: Geometric, Wolfram PDF=0.050421000000000000540456568388, PDF_calculated=0.050420999999999979723774856666, deltaPDF=0.000000000000000020816681711722
Distribution: Geometric, Wolfram CDF=0.882350999999999996425970039127, CDF_calculated=0.882350999999999996425970039127, deltaCDF=0.000000000000000000000000000000
Distribution: Geometric PDF correct digits=16
Distribution: Geometric CDF correct digits=30
Testing precision for distribution:Hypergeometric
Distribution: Hypergeometric, Wolfram PDF=0.036675398904501069208272667765, PDF_calculated=0.036675398904501069208272667765, deltaPDF=0.000000000000000000000000000000
Distribution: Hypergeometric, Wolfram CDF=0.996784948797332703840368139936, CDF_calculated=0.996784948797332703840368139936, deltaCDF=0.000000000000000000000000000000
Distribution: Hypergeometric PDF correct digits=30
Distribution: Hypergeometric CDF correct digits=30
Testing precision for distribution:Logistic
Distribution: Logistic, Wolfram PDF=0.235003712201594494590750628049, PDF_calculated=0.235003712201594494590750628049, deltaPDF=0.000000000000000000000000000000
Distribution: Logistic, Wolfram CDF=0.377540668798145462314863607389, CDF_calculated=0.377540668798145406803712376131, deltaCDF=0.000000000000000055511151231258
Distribution: Logistic PDF correct digits=30
Distribution: Logistic CDF correct digits=16
Testing precision for distribution:Lognormal
Distribution: Lognormal, Wolfram PDF=0.000000247498055546993546655130, PDF_calculated=0.000000247498055546993546655130, deltaPDF=0.000000000000000000000000000000
Distribution: Lognormal, Wolfram CDF=0.000000044817423501713188227213, CDF_calculated=0.000000044817423501713168374878, deltaCDF=0.000000000000000000000019852335
Distribution: Lognormal PDF correct digits=30
Distribution: Lognormal CDF correct digits=22
Testing precision for distribution:NegativeBinomial
Distribution: NegativeBinomial, Wolfram PDF=0.046875000000000000000000000000, PDF_calculated=0.046875000000000000000000000000, deltaPDF=0.000000000000000000000000000000
Distribution: NegativeBinomial, Wolfram CDF=0.937500000000000000000000000000, CDF_calculated=0.937500000000000000000000000000, deltaCDF=0.000000000000000000000000000000
Distribution: NegativeBinomial PDF correct digits=30
Distribution: NegativeBinomial CDF correct digits=30
Testing precision for distribution:NoncentralBeta
Distribution: NoncentralBeta, Wolfram PDF=1.835315758284358889085297050769, PDF_calculated=1.835315758284356890683852725488, deltaPDF=0.000000000000001998401444325282
Distribution: NoncentralBeta, Wolfram CDF=0.279804451879309967754494437031, CDF_calculated=0.279804451879309523665284586968, deltaCDF=0.000000000000000444089209850063
Distribution: NoncentralBeta PDF correct digits=14
Distribution: NoncentralBeta CDF correct digits=15
Testing precision for distribution:NoncentralChiSquare
Distribution: NoncentralChiSquare, Wolfram PDF=0.266641691212769094132539748898, PDF_calculated=0.266641691212769094132539748898, deltaPDF=0.000000000000000000000000000000
Distribution: NoncentralChiSquare, Wolfram CDF=0.142365913869366367272562001745, CDF_calculated=0.142365913869366339516986386116, deltaCDF=0.000000000000000027755575615629
Distribution: NoncentralChiSquare PDF correct digits=30
Distribution: NoncentralChiSquare CDF correct digits=16
Testing precision for distribution:NoncentralF
Distribution: NoncentralF, Wolfram PDF=0.354683475208693754776589912581, PDF_calculated=0.354683475208693865798892375096, deltaPDF=-0.000000000000000111022302462516
Distribution: NoncentralF, Wolfram CDF=0.090794346737526995805289686814, CDF_calculated=0.090794346737526995805289686814, deltaCDF=0.000000000000000000000000000000
Distribution: NoncentralF PDF correct digits=15
Distribution: NoncentralF CDF correct digits=30
Testing precision for distribution:Normal
Distribution: Normal, Wolfram PDF=0.000013365598267338118769627896, PDF_calculated=0.000013365598267338122157759685, deltaPDF=-0.000000000000000000003388131789
Distribution: Normal, Wolfram CDF=0.000015229981947977879768092203, CDF_calculated=0.000015229981947977883156223992, deltaCDF=-0.000000000000000000003388131789
Distribution: Normal PDF correct digits=20
Distribution: Normal CDF correct digits=20
Testing precision for distribution:Poisson
Distribution: Poisson, Wolfram PDF=0.000000000000281323432020839554, PDF_calculated=0.000000000000281323432020839908, deltaPDF=-0.000000000000000000000000000353
Distribution: Poisson, Wolfram CDF=0.999999999999981348253186297370, CDF_calculated=0.999999999999981237230883834854, deltaCDF=0.000000000000000111022302462516
Distribution: Poisson PDF correct digits=27
Distribution: Poisson CDF correct digits=15
Testing precision for distribution:Uniform
Distribution: Uniform, Wolfram PDF=0.004000000000000000083266726847, PDF_calculated=0.004000000000000000083266726847, deltaPDF=0.000000000000000000000000000000
Distribution: Uniform, Wolfram CDF=0.000500000000000000010408340856, CDF_calculated=0.000500000000000000010408340856, deltaCDF=0.000000000000000000000000000000
Distribution: Uniform PDF correct digits=30
Distribution: Uniform CDF correct digits=30
Testing precision for distribution:Weibull
Distribution: Weibull, Wolfram PDF=0.019512185823866712297558478895, PDF_calculated=0.019512185823866712297558478895, deltaPDF=0.000000000000000000000000000000
Distribution: Weibull, Wolfram CDF=0.000976085818024337737580653496, CDF_calculated=0.000976085818024330365005880594, deltaCDF=0.000000000000000007372574772901
Distribution: Weibull PDF correct digits=30
Distribution: Weibull CDF correct digits=17
Testing precision for distribution:T
Distribution: T, Wolfram PDF=0.319904796224811438509760819215, PDF_calculated=0.319904796224811494020912050473, deltaPDF=-0.000000000000000055511151231258
Distribution: T, Wolfram CDF=0.682299044355095474223560358951, CDF_calculated=0.682299044355095474223560358951, deltaCDF=0.000000000000000000000000000000
Distribution: T PDF correct digits=16
Distribution: T CDF correct digits=30
Testing precision for distribution:NoncentralT
Distribution: NoncentralT, Wolfram PDF=0.000000000000040650786864501445, PDF_calculated=0.000000000000040650786864501173, deltaPDF=0.000000000000000000000000000271
Distribution: NoncentralT, Wolfram CDF=0.000000000000004816980000000000, CDF_calculated=0.000000000000004818163532209154, deltaCDF=-0.000000000000000001183532209154
Distribution: NoncentralT PDF correct digits=27
Distribution: NoncentralT CDF correct digits=17
函数的计算精度很高,可用于统计计算。
- www.wolframalpha.com
要检查复杂的计算,可以使用单元测试(/Scripts/Unittests 文件夹中的脚本)。
函数的计算精度很高,因此可以用于统计计算。
我曾 "有幸 "支持过一种与数学密切相关的软件,因此我对任何已知方法的 "新 "实现都持怀疑态度。
PS/ 如果你们开展对话,那么由于态度不够热情,我显然会被禁言 :-)
上面的评论显示了与一个基准的准确性比较,该基准是小数点后 30 位的 Wolfram Alpha。
我们深知,此类复杂问题应尽可能通过测试来解决。因此,我们在 /Scripts/Unittests 部分专门收集了一些数学库功能的广泛测试。
请升级到我们昨天发布的最新 MT5 测试版,并自行运行这些单元测试。
新文章 MQL5 中的统计分布 - 取最佳的 R已发布:
R 语言 是统计处理和数据分析的最佳工具之一。
得益于可用性以及对多种统计分布的支持, 它已在各种数据分析和处理中变得普遍。使用概率理论和数学统计的装置, 可以重新审视金融市场数据, 并提供创造交易策略的新机会。运用统计库, 所有这些功能现在均可于 MQL5 中使用。
统计库包含用于计算数据统计特性的函数, 以及用于处理统计分布的函数。
本文研究可与 R 语言实现的基本统计分布工作的函数 (柯西, 威布尔, 正态, 对数正态, 逻辑斯谛, 指数, 均匀, γ 分布, 中心和非中心 β, 卡方, 费舍尔 F-分布, 学生 t-分布, 以及离散二项式和负二项式分布, 几何, 超几何和泊松分布)。此外, 软件库还包含用于计算理论分布力矩的函数, 可评估真实分布到建模的一致性程度。
图例. 2. 随机数的分布直方图, 是根据参数为 mu=5 he1 sigma=1 的正态分布生成
作者:MetaQuotes Software Corp.