Ótimo guia, obrigado!
Gostaria de pedir-lhe para fazer o meta-editor no meta-editor, apesar do fato de que eles estão conectados por meio de um includnik (escrito em MQL5), para fazer a subiluminação em sua própria cor.
Agora, o artigo no código-fonte não tem essa subiluminação, por isso é um pouco difícil de ler/receber.
Estamos aguardando o "Visualisation in MQL5 - taking the best from R".
Artigo publicado Distribuições estatísticas em MQL5 - Aproveitando o melhor do R:
Autor: MetaQuotes Software Corp.
O trabalho merece respeito por seu volume, mas
- O teste de hipóteses estatísticas não é o componente mais crítico em termos de velocidade nos produtos MQL.
- As questões de perda de precisão permanecem em aberto (não é à toa que as bibliotecas mat. se fortalecem por um longo tempo e são avaliadas como conhaque, em termos de idade).
Quando a questão da integração do R e do MT https://www.mql5.com/ru/forum/73266/page10#comment_2283757 foi levantada há meio ano, por algum motivo parecia que uma troca de dados completa seria implementada, e não uma biblioteca separada para uma gama restrita de tarefas.
E qual é a vantagem inerente dessa biblioteca em relação à versão existente de 4 anos da alglib https://www.mql5.com/pt/code/1146? e especificamente a biblioteca
| specialfunctions.mqh | Classes de funções de distribuição, integrais, polinômios: .
|
O trabalho merece respeito por seu volume, mas
- O teste de hipóteses estatísticas não é o componente mais crítico em termos de velocidade nos produtos MQL.
- As questões de perda de precisão permanecem em aberto (não é à toa que as bibliotecas mat.são fortes por muito, muito tempo e são valorizadas como conhaque pela idade).
Para verificar cálculos complexos, há testes de unidade (scripts na pasta /Scripts/Unittests).
Para avaliar a precisão do cálculo das funções da biblioteca estatística, você pode compará-las com os valores obtidos no Wolfram Alpha.
O script TestStatPrecision.mql5 calcula as funções de densidade de probabilidade (PDF) e as funções de distribuição cumulativa (CDF) para cada uma das distribuições da biblioteca.
Os resultados obtidos são comparados com os valores do Wolfram Alpha (apresentados com os 30 dígitos mais próximos) e o número de dígitos correspondentes após o ponto decimal é exibido.
Os resultados do script são exibidos na guia "Experts":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
As funções são calculadas com boa precisão, o que permite que sejam usadas em cálculos estatísticos.
- www.wolframalpha.com
E qual é a vantagem inerente dessa biblioteca em relação à versão existente de 4 anos da alglib https://www.mql5.com/pt/code/1146? e especificamente a biblioteca.
Para verificar cálculos complexos, há testes de unidade (scripts na pasta /Scripts/Unittests).
As funções são calculadas com boa precisão, o que permite que sejam usadas em cálculos estatísticos.
Tive a "sorte" de oferecer suporte a um tipo de software intimamente relacionado à matemática, portanto, sou cético em relação a qualquer implementação "nova" de métodos conhecidos... Os Unittests não são uma panaceia, e os erros aparecerão (eu garanto) nos momentos mais inoportunos.
PS/ se você desenvolver o diálogo, então, devido à atitude insuficientemente entusiasmada, eu obviamente irei para o banimento :-)
O comentário acima mostra comparações de precisão com um benchmark, que foi o Wolfram Alpha com detalhes de 30 casas decimais.
Entendemos muito bem que assuntos tão complexos devem ser cobertos com testes o máximo possível. É por isso que temos uma seção especial /Scripts/Unittests, na qual coletamos vários testes extensivos da funcionalidade das bibliotecas matemáticas.
Atualize para a versão beta mais recente do MT5 que lançamos ontem e execute você mesmo esses testes de unidade.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Distribuições estatísticas no MQL5 - tirando o melhor de R foi publicado:
O artigo considera funções para trabalhar com as distribuições estatísticas básicas implementadas na linguagem R (as distribuições de Cauchy, Weibull, normal, log-normal, logistic, exponential, uniform, gamma, beta central e não-central, qui-quadrado, F de Fisher-Snedecor, t de Student, assim como as distribuições binomiais discretas e binomiais negativas, distribuições geométricas, hipergeométricas e de Poisson). Além disso, a biblioteca também contém as funções para cálculo dos momentos teóricos das distribuições, permitindo a avaliação do grau de conformidade da distribuição real com a modelada.
O histograma calculado é salvo no arquivo normal.csv (fig. 2)
Fig. 2. Histograma da distribuição de números aleatórios, gerados de acordo com a distribuição normal e com os parâmetros mu=5 e sigma=1
Autor: MetaQuotes Software Corp.