Voltemos à declaração original sobre os erros R no artigo.
A nossa opinião ainda se mantém: há erros presentes, e eles foram causados por descuido na implementação.
O seu especialista não me quer responder sobre os méritos. Ele só me espetou com o tungsténio e pronto.
Vou repetir o nosso ponto de vista. Não há erro na distribuição gama. Isto é uma questão de convenção na comunidade matemática. Há uma frase de erro da sua parte que não está correcta.
A derivação de zero para densidade na sua versão é, em primeiro lugar, uma das opções possíveis (convenções). E, em segundo lugar, a essência da análise aplicada a partir da escolha deste valor (nan, 0 ou 1) não afecta nada. As funções de distribuição são usadas para estimar estatísticas. Neste, a distribuição é zero. E isso é suficiente.
Em relação à distribuição t. Reproduzi este erro na última versão do R. mas não cheguei à essência do algoritmo. Eu admito que a correcção era realmente necessária.
Vou tentar fazer uma pergunta à equipa de apoio R.
E você entra nele, recalcula tudo, passa algumas semanas a rever como ele fez. Mas em vez disso, ainda nem leu o nosso artigo.
Pela nossa parte, nós fizemos o trabalho. E nós fizemos um bom trabalho. Se a Wolfram não é uma autoridade para você também, então você está perdendo seu tempo com essa forma de comunicação.
Não confunda os criadores com os usuários, por favor.
E você entra nele, recalcula tudo, passa algumas semanas a rever, como ele fez. Mas em vez disso, ainda nem leu o nosso artigo.
Pela nossa parte, nós fizemos o trabalho. E nós fizemos um bom trabalho. Se a Wolfram não é uma autoridade para você também, então você está perdendo seu tempo com esta forma de comunicação.
Não confunda os criadores com os usuários, por favor.
Eu respeito a sua opinião. Mas por que você responde por isso?
Vou dizer novamente.
A derivação de zero para densidade na sua versão, em primeiro lugar, é uma das opções possíveis (convenções). E, em segundo lugar, a essência da análise aplicada a partir da escolha deste valor (nan, 0 ou 1) não afecta nada. As funções de distribuição são usadas para estimar estatísticas. Neste ponto, a distribuição é zero. E isto é o suficiente.
Eu acrescentaria em geral, acelerar os cálculos é uma vantagem. Ou seja, objetivamente a implementação de funções não é pior ou até melhor, de acordo com o seu artigo.
0^0 e 0! são iguais a 1 por causa da regra do produto vazio. A norma IEEE diz que 0^0 deve avaliar 1. Por isso, a maioria dos softwares de computador irá avaliá-lo dessa forma. Não há situações em que a avaliação a 0 seja útil.
Há muitas fórmulas que assumem 0^0=1, por exemplo notação para polinómios e séries de potência, aritmética do número cardinal, o teorema binomial, etc., todos estes assumem 0^0=1. Por exemplo, substituindo x=0 por x^0+x^1+x^2+... = 1/(1-x) mostra 0^0 = 1.
Ou seja, o padrão para converter esta expressão em 1. E não há nenhum benefício ou dano em trazer a expressão para 0.
Acho que em R hardcoded 1... e você tem 0.
Essa é a questão e não vale a pena discutir sobre isso. Um computador não pode calcular o valor algebricamente.
se x = 0, alfa = 1, beta = 1, você obtém um valor indefinido no numerador, o que traz toda a fração para a incerteza.
Afirmamos que, estritamente falando, a densidade gama da distribuição no ponto zero é indefinida. E tomando o limite à direita, a densidade é uma só.
À luz disto, acreditamos que a formulação da declaração "erros de cálculo em R" não é correcta. Mais precisamente, é uma questão de convenções: do que considerar igual à expressão zero em grau zero. Equalizar a densidade da distribuição gama a zero no ponto zero não parece ser uma prática válida.
não se ajusta à definição da função porque contém uma incerteza no ponto x=0, como assinalaste.
Se a condição x>=0 for colocada em vez de x>0 então não há incerteza e você pode calcular valores usando esta fórmula.
Em relação à prática - Mathematica e Matlab podem ser considerados como padrões da indústria para cálculos de engenharia, eles produzem 0, ou seja, essa expressão é válida apenas para x>0.
Podemos assumir que definir uma função significa especificar uma forma de calculá-la.
A expressão dada é.
não é apropriado para definir uma função porque contém uma incerteza em x=0, como você apontou.
Se você colocar a condição x>=0 em vez de x>0, não há incerteza e você pode calcular valores usando esta fórmula.
Em relação à prática - Mathematica e Matlab podem ser considerados o padrão da indústria para cálculos de engenharia, eles dão 0, ou seja, essa expressão só é verdadeira para x>0.
Correcto. A função é definida na área positiva (0,inf).
Por que você ainda tem 0 no ponto 0? e por que o erro é um 1?
A propósito, interessante. Tungstênio define uma função de distribuição gama de probabilidade no espaço [0,inf]. E assim eles dão um certo valor a zero... O que é estranho.
O Mathematica e o Matlab podem ser considerados o padrão da indústria para cálculos de engenharia
Você pegou uma situação para a qual não há solução, procurou o resultado que a Wolfram retorna, e chamou todos os outros resultados errados. Isto não é um cálculo de engenharia, mas um dogma.
Eles poderiam tomar R como referência, e escrever sobre encontrar um erro na Wolfram. Eu acho que se você pegar todos os softwares de matemática, e dividi-los em dois grupos com base no que eles retornam nesta situação - haverá uma divisão de 50%/50%, você pode adicionar mais uma dúzia de softwares que o mql se sobressai em um artigo sobre mql.
Obrigado pelos erros mencionados noAS 243. Mas não se deve culpar o comportamento de outras funções com parâmetros, para os quais não existe uma solução clara. Você deveria ter escrito no artigo sobre as vantagens do mql - R tem tal e tal função que tem um erro de 15 casas decimais. E nós temos outra função em mql que é mais precisa. Tudo seria culto e científico, não dogmático como é agora.
Para várias páginas há uma discussão sobre as diferenças entre os algoritmos do seu e do R nas bordas do domínio da função. Os pontos marginais são pontos marginais e, na prática, as diferenças podem ser negligenciadas.
Mas, neste caso, tenho uma pergunta muito mais substancial:
Onde está a documentação para todas as suas funções?
Anteriormente, eu pensava que nós pegávamos a sua função, depois pegávamos a documentação para R, já que suas funções são analógicas, e mergulhávamos nas partes da documentação de R que ou descrevem os algoritmos, ou vão para os links fornecidos por R. R tem uma documentação e um aparelho de referência de altíssima qualidade.
No decorrer do argumento, descobri que as suas funções são diferentes do R - são algumas outras funções cujos algoritmos dependem de outras fontes. Não há nada sobre isso no próprio artigo, nenhuma documentação. E aprendemos sobre isso com Renat num contexto completamente diferente.
Na prática, podemos tirar uma conclusão inequívoca de que o código não pode ser portado de R para MQL5.
E aqui está o porquê.
É claro para mim que se diz "analógico de R" e não há documentação sobre o analógico, então é 100% analógico e eu posso facilmente transferir o código do intérprete para o compilador sem me preocupar com isso. E se não for assim, então um caso é suficiente para pôr um fim à ideia de portar código de R para MQL5. Ninguém quer ter uma dor de cabeça completamente bloqueada ao transferir código de trabalho para R você recebe código MQL que não funciona por causa de sutilezas na implementação de algoritmos.
Onde está a documentação para todas as suas funções?
Anteriormente, eu pensava que nós pegávamos sua função, depois pegávamos a documentação para R, já que suas funções são analógicas, e entrávamos nas partes da documentação de R que descrevem os algoritmos, ou íamos para os links fornecidos por R. R tem uma documentação e um aparelho de referência de altíssima qualidade.
No decorrer do argumento, descobri que as suas funções são diferentes do R - são algumas outras funções cujos algoritmos dependem de outras fontes. Não há nada sobre isso no próprio artigo, nenhuma documentação. E aprendemos sobre isso com Renat num contexto completamente diferente.
Na prática, podemos tirar uma conclusão inequívoca de que o código não pode ser portado de R para MQL5.
E aqui está o porquê.
É claro para mim que se diz "analógico de R" e não há documentação sobre o analógico, então é 100% analógico e eu posso facilmente transferir o código do intérprete para o compilador sem me preocupar com isso. E se não for assim, é o suficiente para pôr fim à ideia de portar o código do R para o MQL5. Ninguém quer obter um impasse completo, quando após a migração do código de trabalho para R você obtém código MQL, que não funciona devido às sutilezas na implementação dos algoritmos.
A função calcula os valores da função de densidade de probabilidade de distribuição normal com os parâmetros mu e sigma para o conjunto de variáveis aleatórias x[]. No caso de um erro, ele retorna falso. Um análogo de dnorm() em R.
boolMathProbabilityDensityNormal(
constdouble &x[], // [in] Массив со значениями случайной величиныconstdouble mu, // [in] Параметр распределения mean (математическое ожидание)constdouble sigma, // [in] Параметр распределения sigma (среднеквадратическое отклонение) constbool log_mode, // [in] Флаг расчета логарифма значения, если log_mode=true, то рассчитывается натуральный логарифм плотности вероятностиdouble &result[] // [out] Массив для значений функции плотности вероятности
);
2) Anormalidade analógica:
A função calcula o valor da função de distribuição normal com os parâmetros mu e sigma para a matriz de variáveis aleatórias x[]. No caso de um erro, ela retorna falso. Analógico de pnorm() em R.
bool MathCumulativeDistributionNormal(
constdouble &x[], // [in] Массив со значениями случайной величиныconstdouble mu, // [in] Математическое ожиданиеconstdouble sigma, // [in] Среднеквадратическое отклонениеconstbool tail, // [in] Флаг расчета, если lower_tail=true, то рассчитывается вероятность того, что случайная величина не превысит xconstbool log_mode, // [in] Флаг расчета логарифма значения, если log_mode=true, то рассчитывается натуральный логарифм вероятности
double &result[] // [out] Массив для значений функции вероятности
);
3) Análogo da qnorm:
Esta função calcula os valores da função inversa da distribuição normal com os parâmetros mu e sigma para a matriz de valores de probabilidade[]. No caso de um erro, ele retorna falso. O análogo de qnorm() em R.
boolMathQuantileNormal(
constdouble &probability[],// [in] Массив со значениями вероятностей случайной величиныconstdouble mu, // [in] Математическое ожиданиеconstdouble sigma, // [in] Среднеквадратическое отклонениеconstbool tail, // [in] Флаг расчета, если lower_tail=false, то расчет ведется для вероятности 1.0-probabilityconstbool log_mode, // [in] Флаг расчета, если log_mode=true, то расчет ведется для вероятности Exp(probability)double &result[] // [out] Массив со значениями квантилей
);
Este é um exemplo de como usá-lo:
#include <Math\Stat\Normal.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ voidOnStart() { //--- arrays for calculated values double x_values[]; double normal_pdf[]; double normal_cdf[]; double normal_quantile[]; //--- prepare x values constint N=11; ArrayResize(x_values,N); for(int i=0;i<N;i++) x_values[i]=i*1.0/(N-1); //--- set distribution parameters double mu=2.0; double sigma=1.0; //--- calculate pdf, cdf and quantiles MathProbabilityDensityNormal(x_values,mu,sigma,false,normal_pdf); MathCumulativeDistributionNormal(x_values,mu,sigma,true,false,normal_cdf); MathQuantileNormal(normal_cdf,mu,sigma,true,false,normal_quantile); //--- show calculated values for(int i=0;i<N;i++) PrintFormat("1 %d, x=%.20e PDF=%.20e, CDF=%.20e, Q=%.20e,",i,x_values[i],normal_pdf[i],normal_cdf[i],normal_quantile[i]); }
Resultado:
2016.11.11:56:46.413 Teste (EURUSD,H1) 1 0, x=0,00000000000000000000e+00 PDF=5,39909665131880628364e-02, CDF=2,27501319481792120547e-02, Q=0,00000000000000000000e+00, 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 1, x=1.000000000000000000005551e-01 PDF=6.56158147746765951780e-02, CDF=2.87165598160018034624e-02, Q=1.00000000000000088818e-01 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 2, x=2,000000000000000000011102e-01 PDF=7,89501583008941493214e-02, CDF=3,593031911292598098213e-02, Q=2,00000000000000177636e-01 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 3, x=2,9999999999999999988898e-01 PDF=9,40490773768869470217e-02, CDF=4,456546247585430410108e-02, Q=3,00000000000000266454e-01 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 4, x=4,00000000000000022204e-01 PDF=1,1092083434679455543315e-01, CDF=5,47992916995579740225e-02, Q=3,9999999999999999999999999999911182e-01 2016.11.11:56:46.413 Teste (EURUSD,H1) 1 5, x=5.00000000000000000000e-01 PDF=1.295175956656589174343772e-01, CDF=6.6807201268858071803080e-02, Q=5.0000000000000022202045e-01, 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 6, x=5,9999999999999999999999977796e-01 PDF=1,4972727465635744877437e-01, CDF=8,07566592337710387195e-02, Q=6,00000000000000310862e-01 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 7, x=6,999999999999999999955591e-01 PDF=1,71368592047807355438e-01, CDF=9,6800484585610344040793e-02, Q=7,00000000000000177636e-01 2016.11.11:56:46.413 Teste (EURUSD,H1) 1 8, x=8.0000000000000000044409e-01 PDF=1.94186054983212952330e-01, CDF=1.15069670221708289515e-01, Q=8.0000000000000000044409e-01, 2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 9, x=9.0000000000000000022204e-01 PDF=2.1785217177032550525793e-01, CDF=1.35666060946382671659e-01, Q=9.00000000000000133227e-01 2016.11.11:56:46.413 Teste (EURUSD,H1) 1 10, x=1.00000000000000000000e+00 PDF=2.41970724519143365328e-01, CDF=1.5865525253931457046468e-01, Q=1.00000000000000000000e+00,
Рассмотрены функции для работы с основными статистическими распределениями, реализованными в языке R. Это распределения Коши, Вейбулла, нормальное, логнормальное, логистическое, экспоненциальное, равномерное, гамма-распределение, центральное и нецентральные распределения Бета, хи-квадрат, F-распределения Фишера, t-распределения Стьюдента, а также дискретные биномиальное и отрицательное биномиальные распределения, геометрическое, гипергеометрическое и распределение Пуассона. Есть функции расчета теоретических моментов распределений, которые позволяют оценить степень соответствия реального распределения модельному.
Voltemos à declaração original sobre os erros R no artigo.
A nossa opinião ainda se mantém: há erros presentes, e eles foram causados por descuido na implementação.
Vou tentar fazer uma pergunta à equipa de apoio R.
E você entra nele, recalcula tudo, passa algumas semanas a rever como ele fez. Mas em vez disso, ainda nem leu o nosso artigo.
Pela nossa parte, nós fizemos o trabalho. E nós fizemos um bom trabalho. Se a Wolfram não é uma autoridade para você também, então você está perdendo seu tempo com essa forma de comunicação.
Não confunda os criadores com os usuários, por favor.
E você entra nele, recalcula tudo, passa algumas semanas a rever, como ele fez. Mas em vez disso, ainda nem leu o nosso artigo.
Pela nossa parte, nós fizemos o trabalho. E nós fizemos um bom trabalho. Se a Wolfram não é uma autoridade para você também, então você está perdendo seu tempo com esta forma de comunicação.
Não confunda os criadores com os usuários, por favor.
Há muitas fórmulas que assumem 0^0=1, por exemplo notação para polinómios e séries de potência, aritmética do número cardinal, o teorema binomial, etc., todos estes assumem 0^0=1. Por exemplo, substituindo x=0 por x^0+x^1+x^2+... = 1/(1-x) mostra 0^0 = 1.
Pode-se assumir que definir uma função significa especificar uma forma de calculá-la.
Dada a expressãoAlém disso, de acordo com:
https://en.wikipedia.org/wiki/Gamma_distribution
se x = 0, alfa = 1, beta = 1, você obtém um valor indefinido no numerador, o que traz toda a fração para a incerteza.
Afirmamos que, estritamente falando, a densidade gama da distribuição no ponto zero é indefinida. E tomando o limite à direita, a densidade é uma só.
À luz disto, acreditamos que a formulação da declaração "erros de cálculo em R" não é correcta. Mais precisamente, é uma questão de convenções: do que considerar igual à expressão zero em grau zero. Equalizar a densidade da distribuição gama a zero no ponto zero não parece ser uma prática válida.
não se ajusta à definição da função porque contém uma incerteza no ponto x=0, como assinalaste.
Se a condição x>=0 for colocada em vez de x>0 então não há incerteza e você pode calcular valores usando esta fórmula.
Em relação à prática - Mathematica e Matlab podem ser considerados como padrões da indústria para cálculos de engenharia, eles produzem 0, ou seja, essa expressão é válida apenas para x>0.
Podemos assumir que definir uma função significa especificar uma forma de calculá-la.
A expressão dada é.não é apropriado para definir uma função porque contém uma incerteza em x=0, como você apontou.
Se você colocar a condição x>=0 em vez de x>0, não há incerteza e você pode calcular valores usando esta fórmula.
Em relação à prática - Mathematica e Matlab podem ser considerados o padrão da indústria para cálculos de engenharia, eles dão 0, ou seja, essa expressão só é verdadeira para x>0.
O Mathematica e o Matlab podem ser considerados o padrão da indústria para cálculos de engenharia
Você pegou uma situação para a qual não há solução, procurou o resultado que a Wolfram retorna, e chamou todos os outros resultados errados. Isto não é um cálculo de engenharia, mas um dogma.
Eles poderiam tomar R como referência, e escrever sobre encontrar um erro na Wolfram. Eu acho que se você pegar todos os softwares de matemática, e dividi-los em dois grupos com base no que eles retornam nesta situação - haverá uma divisão de 50%/50%, você pode adicionar mais uma dúzia de softwares que o mql se sobressai em um artigo sobre mql.
Obrigado pelos erros mencionados noAS 243. Mas não se deve culpar o comportamento de outras funções com parâmetros, para os quais não existe uma solução clara.
Você deveria ter escrito no artigo sobre as vantagens do mql - R tem tal e tal função que tem um erro de 15 casas decimais. E nós temos outra função em mql que é mais precisa. Tudo seria culto e científico, não dogmático como é agora.
Vamos considerar um exemplo com os parâmetros a=0,5, b=1 no ponto x=0
Se não excluirmos o ponto x=0, a densidade diverge e a probabilidade é boa.
E, mais adiante, também não há problema:
Acontece que ao calcular o CDF R exclui o ponto x=0, o infinito desapareceu em algum lugar.
Caro colega!
Para várias páginas há uma discussão sobre as diferenças entre os algoritmos do seu e do R nas bordas do domínio da função. Os pontos marginais são pontos marginais e, na prática, as diferenças podem ser negligenciadas.
Mas, neste caso, tenho uma pergunta muito mais substancial:
Onde está a documentação para todas as suas funções?
Anteriormente, eu pensava que nós pegávamos a sua função, depois pegávamos a documentação para R, já que suas funções são analógicas, e mergulhávamos nas partes da documentação de R que ou descrevem os algoritmos, ou vão para os links fornecidos por R. R tem uma documentação e um aparelho de referência de altíssima qualidade.
No decorrer do argumento, descobri que as suas funções são diferentes do R - são algumas outras funções cujos algoritmos dependem de outras fontes. Não há nada sobre isso no próprio artigo, nenhuma documentação. E aprendemos sobre isso com Renat num contexto completamente diferente.
Na prática, podemos tirar uma conclusão inequívoca de que o código não pode ser portado de R para MQL5.
E aqui está o porquê.
É claro para mim que se diz "analógico de R" e não há documentação sobre o analógico, então é 100% analógico e eu posso facilmente transferir o código do intérprete para o compilador sem me preocupar com isso. E se não for assim, então um caso é suficiente para pôr um fim à ideia de portar código de R para MQL5. Ninguém quer ter uma dor de cabeça completamente bloqueada ao transferir código de trabalho para R você recebe código MQL que não funciona por causa de sutilezas na implementação de algoritmos.
Onde está a documentação para todas as suas funções?
Anteriormente, eu pensava que nós pegávamos sua função, depois pegávamos a documentação para R, já que suas funções são analógicas, e entrávamos nas partes da documentação de R que descrevem os algoritmos, ou íamos para os links fornecidos por R. R tem uma documentação e um aparelho de referência de altíssima qualidade.
No decorrer do argumento, descobri que as suas funções são diferentes do R - são algumas outras funções cujos algoritmos dependem de outras fontes. Não há nada sobre isso no próprio artigo, nenhuma documentação. E aprendemos sobre isso com Renat num contexto completamente diferente.
Na prática, podemos tirar uma conclusão inequívoca de que o código não pode ser portado de R para MQL5.
E aqui está o porquê.
É claro para mim que se diz "analógico de R" e não há documentação sobre o analógico, então é 100% analógico e eu posso facilmente transferir o código do intérprete para o compilador sem me preocupar com isso. E se não for assim, é o suficiente para pôr fim à ideia de portar o código do R para o MQL5. Ninguém quer obter um impasse completo, quando após a migração do código de trabalho para R você obtém código MQL, que não funciona devido às sutilezas na implementação dos algoritmos.
No momento, as funções estão descritas no artigo https://www.mql5.com/ru/articles/2742
Considere o cálculo de uma distribuição normal com os parâmetros mu=2, sigma=1 como exemplo:
n <- 10
k <- seq(0,1,by=1/n)
mu=2
sigma=1
normal_pdf<-dnorm(k, mu, sigma, log = FALSE)
normal_cdf<-pnorm(k, mu, sigma, lower.tail=TRUE,log.p = FALSE)
normal_quantile <- qnorm(normal_cdf, mu,sigma, lower.tail=TRUE,log.p = FALSE)
normal_pdf
normal_cdf
normal_quantile
1) O análogo da função R dnorm() é uma função:
A função calcula os valores da função de densidade de probabilidade de distribuição normal com os parâmetros mu e sigma para o conjunto de variáveis aleatórias x[]. No caso de um erro, ele retorna falso. Um análogo de dnorm() em R.
2) Anormalidade analógica:
A função calcula o valor da função de distribuição normal com os parâmetros mu e sigma para a matriz de variáveis aleatórias x[]. No caso de um erro, ela retorna falso. Analógico de pnorm() em R.
3) Análogo da qnorm:
Esta função calcula os valores da função inversa da distribuição normal com os parâmetros mu e sigma para a matriz de valores de probabilidade[]. No caso de um erro, ele retorna falso. O análogo de qnorm() em R.
Este é um exemplo de como usá-lo:
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- arrays for calculated values
double x_values[];
double normal_pdf[];
double normal_cdf[];
double normal_quantile[];
//--- prepare x values
const int N=11;
ArrayResize(x_values,N);
for(int i=0;i<N;i++)
x_values[i]=i*1.0/(N-1);
//--- set distribution parameters
double mu=2.0;
double sigma=1.0;
//--- calculate pdf, cdf and quantiles
MathProbabilityDensityNormal(x_values,mu,sigma,false,normal_pdf);
MathCumulativeDistributionNormal(x_values,mu,sigma,true,false,normal_cdf);
MathQuantileNormal(normal_cdf,mu,sigma,true,false,normal_quantile);
//--- show calculated values
for(int i=0;i<N;i++)
PrintFormat("1 %d, x=%.20e PDF=%.20e, CDF=%.20e, Q=%.20e,",i,x_values[i],normal_pdf[i],normal_cdf[i],normal_quantile[i]);
}
Resultado:
2016.11.11:56:46.413 Teste (EURUSD,H1) 1 0, x=0,00000000000000000000e+00 PDF=5,39909665131880628364e-02, CDF=2,27501319481792120547e-02, Q=0,00000000000000000000e+00,
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 1, x=1.000000000000000000005551e-01 PDF=6.56158147746765951780e-02, CDF=2.87165598160018034624e-02, Q=1.00000000000000088818e-01
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 2, x=2,000000000000000000011102e-01 PDF=7,89501583008941493214e-02, CDF=3,593031911292598098213e-02, Q=2,00000000000000177636e-01
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 3, x=2,9999999999999999988898e-01 PDF=9,40490773768869470217e-02, CDF=4,456546247585430410108e-02, Q=3,00000000000000266454e-01
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 4, x=4,00000000000000022204e-01 PDF=1,1092083434679455543315e-01, CDF=5,47992916995579740225e-02, Q=3,9999999999999999999999999999911182e-01
2016.11.11:56:46.413 Teste (EURUSD,H1) 1 5, x=5.00000000000000000000e-01 PDF=1.295175956656589174343772e-01, CDF=6.6807201268858071803080e-02, Q=5.0000000000000022202045e-01,
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 6, x=5,9999999999999999999999977796e-01 PDF=1,4972727465635744877437e-01, CDF=8,07566592337710387195e-02, Q=6,00000000000000310862e-01
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 7, x=6,999999999999999999955591e-01 PDF=1,71368592047807355438e-01, CDF=9,6800484585610344040793e-02, Q=7,00000000000000177636e-01
2016.11.11:56:46.413 Teste (EURUSD,H1) 1 8, x=8.0000000000000000044409e-01 PDF=1.94186054983212952330e-01, CDF=1.15069670221708289515e-01, Q=8.0000000000000000044409e-01,
2016.11.11 11:56:46.413 Teste (EURUSD,H1) 1 9, x=9.0000000000000000022204e-01 PDF=2.1785217177032550525793e-01, CDF=1.35666060946382671659e-01, Q=9.00000000000000133227e-01
2016.11.11:56:46.413 Teste (EURUSD,H1) 1 10, x=1.00000000000000000000e+00 PDF=2.41970724519143365328e-01, CDF=1.5865525253931457046468e-01, Q=1.00000000000000000000e+00,
Resultado do cálculo em R: