<br/ translate="no"> Sinceramente, não entendo nada deste arquivo. Seria interessante ouvir os comentários. Penso que o risco de um comércio na estratégia Vladislava deve ser calculado apenas sobre a posição atual do preço no intervalo de confiança, e não sobre o gerador de números aleatórios. Tanto quanto sei, é o gerador de números aleatórios que é usado como ponto de ajuste para a quantidade de negócios no arquivo?
Em seu relatório de teste você pode ver que a probabilidade de uma comercialização lucrativa é de cerca de 0,9, enquanto o lucro médio é de 10 pips (~1%) e a perda média é de 20 pips (2%). Isto se você abrir com 0,1 lote do depósito de US$ 1000 na Alpari. Portanto, se você variar o tamanho do lote (risco) você pode obter seqüências aproximadas de negócios e saldos de probabilidade. Mais uma vez, pressionando a F9 de forma brusca mostrará que estes são resultados muito bons, é impossível drenar. É claro, se é assim que os negócios serão distribuídos no futuro. Em poucas palavras, essa é a idéia por trás dessa simulação.
Interessante... E eu resolvi este problema não é muito diferente, encontrado na decomposição líquida da função de distribuição normal (12 linhas) e contar a probabilidade até o segundo dígito, não sei se pode retardar o cálculo (para o especialista se aproximar), se for interessante eu posso traçar um pedaço de código ...
Eu também encontrei no site ALGLIB.SOURCES.RU o cálculo de quantiles. Mas, de alguma forma, não parecia ter 12 cordas e uma função exigia o cálculo de outras. Eu já escrevi sobre isso neste tópico antes. Portanto, acho que a abordagem utilizada neste site teria desacelerado o Expert Advisor. Portanto, se você realmente tem 12 linhas de código que fazem a mesma coisa, então todos estariam interessados em lê-las. Utilizo uma tabela de quantidade com 3 casas decimais. Acho que 2 casas decimais não mudarão o quadro completo do trabalho, mas será útil para todos.
Qual é o desvio padrão máximo em pontos que temos? Não mais do que 100. Então, encontrar a probabilidade de estar em qualquer ponto da tabela de preços perto do centro da distribuição não será mais do que 1%, ou seja, 2 casas decimais. Portanto, não há necessidade de maior precisão.
Talvez eu não tenha entendido as conclusões do teorema do limite central (em meu livro de referência está escrito assim: Se uma variável aleatória pode ser representada como uma soma de um grande número de componentes independentes, cada um dos quais contribui para a soma apenas ligeiramente, então esta soma é distribuída aproximadamente normalmente), acontece que simplesmente usamos uma tabela de funções de distribuição normal para determinar a probabilidade de encontrar SF dentro do intervalo de confiança dado pelo valor da tabela.
É por isso que simplesmente fiz uma expansão em série da função de distribuição e determinei o tamanho do intervalo ou em pips (se k=true (isto é, a probabilidade do preço subir ou descer)) ou em valores de ração
double ver(bool k, double Par,int e, int b) {if(k) {Canal(PriseData,e,b);
Par=(Par-CanalA[0]*b-CanalA[1])/CanalA[2];} double t=MathAbs(Par); double sum=t; double x=t*t; double s=0; for( int m=3; MathAbs(s-sum)>0.01;m=m+2){t=x*t/m; s=sum; sum=sum+t;} if(Par>0)return(-0.7968*sum*MathExp(-x/2)); else return(0.7968*sum*MathExp(-x/2)); }
Fiquei muito surpreso por não ter feito isso, e agora me faz duvidar de tudo...
E, por favor, se você não se importa, diga-me o que você quer dizer com o termo "quantil".
Parece que não encontrei nenhum erro nesta função, portanto, não mudarei nada até ter um especialista.
Farei uma explicação sobre a função: k - chave que indica o que é passado para a função no parâmetro Par Se k=true, Par é um preço e, neste caso, devemos também passar para a função os parâmetros do canal relativo ao qual a probabilidade é calculada. Os parâmetros e é a última barra de canal e b é a primeira barra de canal. se k=false, então Par é o desvio expresso em valores RMS, e então os parâmetros b e e não são usados. Canal(Data[],e,b) é uma função que calcula a regressão e RMS através do preenchimento do CanalA [] com os valores obtidos.
<br/ translate="no"> Se uma variável aleatória pode ser representada como uma soma de um grande número de termos independentes, cada um dos quais contribui apenas com uma pequena quantia para a soma, então a soma é distribuída aproximadamente normalmente), então simplesmente usamos uma tabela de funções de distribuição normal para determinar a probabilidade de encontrar o c no intervalo de confiança por um determinado valor.
ZSY Que você não fez isso me surpreendeu muito, e agora me faz duvidar de tudo isso...
ZZZY E, por favor, se você não se importa de me dizer o que quer dizer com o termo "quantil".
Na frase "Se uma variável aleatória pode ser representada como a soma de um grande número", a palavra-chave é grande. E esta palavra se refere tanto aos fatores em si quanto ao número de observações. Na prática, lidamos com amostras, por exemplo, de 30 barras até 1000. Neste caso, é mais apropriado usar a distribuição Estudante do que uma distribuição normal. Eu faço exatamente isso. Embora, talvez consigamos a mesma coisa com uma distribuição normal. Ainda não o testei.
Honestamente, eu não consegui entender seu código à primeira vista. Como você pode levar em conta os graus de liberdade em uma quantidade tão pequena de código? O Excel tem funções prontas para calcular quantil para diferentes probabilidades e diferentes graus de liberdade. Eu uso a tabela de distribuição Student, não uma distribuição normal (pp. 53-55 Bulashev).
Por "quantil" quero dizer a mesma coisa que Bulashev escreveu nas páginas 18-19 de seu trabalho seminal.
solandr, a única aplicação da distribuição do aluno que me lembro é avaliar as medições em laboratórios. Lembro-me que tive um C no teste terver, o que não foi muito mau em geral, pois o resto do grupo teve D's :) Portanto, eu estaria interessado em saber como você aplica a distribuição Estudante :)
ZS Infelizmente, naquela época, o terver era muito teórico para ser aplicado na vida.
Portanto, eu estaria interessado em saber como você aplica a distribuição Estudante :)
Bem, eu já escrevi acima. Apenas calculando quantias para construir intervalos de confiança. De que outra forma pode ser usado? Bulashev escreveu como calcular esses mesmos quantitativos em Excle. Em geral eu tenho o mesmo arquivo que você postou acima, mas somente para a distribuição do Estudante. Aqui está a diferença. Basta pensar como você pode aplicar a distribuição normal de probabilidade a uma amostra de 30 barras, por exemplo, se existem apenas algumas barras? Basta comparar as quantidades da distribuição dos estudantes em diferentes graus de liberdade e tudo se tornará claro de uma só vez.
Em seu relatório de teste você pode ver que a probabilidade de uma comercialização lucrativa é de cerca de 0,9, enquanto o lucro médio é de 10 pips (~1%) e a perda média é de 20 pips (2%). Isto se você abrir com 0,1 lote do depósito de US$ 1000 na Alpari. Portanto, se você variar o tamanho do lote (risco) você pode obter seqüências aproximadas de negócios e saldos de probabilidade. Mais uma vez, pressionando a F9 de forma brusca mostrará que estes são resultados muito bons, é impossível drenar. É claro, se é assim que os negócios serão distribuídos no futuro.
Em poucas palavras, essa é a idéia por trás dessa simulação.
Eu também encontrei no site ALGLIB.SOURCES.RU o cálculo de quantiles. Mas, de alguma forma, não parecia ter 12 cordas e uma função exigia o cálculo de outras. Eu já escrevi sobre isso neste tópico antes. Portanto, acho que a abordagem utilizada neste site teria desacelerado o Expert Advisor. Portanto, se você realmente tem 12 linhas de código que fazem a mesma coisa, então todos estariam interessados em lê-las. Utilizo uma tabela de quantidade com 3 casas decimais. Acho que 2 casas decimais não mudarão o quadro completo do trabalho, mas será útil para todos.
É por isso que simplesmente fiz uma expansão em série da função de distribuição e determinei o tamanho do intervalo ou em pips (se k=true (isto é, a probabilidade do preço subir ou descer)) ou em valores de ração
double ver(bool k, double Par,int e, int b) {if(k) {Canal(PriseData,e,b); Par=(Par-CanalA[0]*b-CanalA[1])/CanalA[2];} double t=MathAbs(Par); double sum=t; double x=t*t; double s=0; for( int m=3; MathAbs(s-sum)>0.01;m=m+2){t=x*t/m; s=sum; sum=sum+t;} if(Par>0)return(-0.7968*sum*MathExp(-x/2)); else return(0.7968*sum*MathExp(-x/2)); }Fiquei muito surpreso por não ter feito isso, e agora me faz duvidar de tudo...
E, por favor, se você não se importa, diga-me o que você quer dizer com o termo "quantil".
https://c.mql5.com/mql4/forum/2006/06/kvantil.zip
Como utilizá-lo no código não é difícil de adivinhar.
Farei uma explicação sobre a função:
k - chave que indica o que é passado para a função no parâmetro Par
Se k=true, Par é um preço e, neste caso, devemos também passar para a função os parâmetros do canal relativo ao qual a probabilidade é calculada. Os parâmetros e é a última barra de canal e b é a primeira barra de canal.
se k=false, então Par é o desvio expresso em valores RMS, e então os parâmetros b e e não são usados.
Canal(Data[],e,b) é uma função que calcula a regressão e RMS através do preenchimento do CanalA [] com os valores obtidos.
E depois o algoritmo de decomposição, que foi retirado do site http://www.kamlit.ru/docs/aloritms/lgolist.manual.ru/maths/matstat/NormalDF/NormalDF1.php.htm
MathAbs(s-sum)>0.01 e aqui você pode definir a precisão necessária
ZSY Que você não fez isso me surpreendeu muito, e agora me faz duvidar de tudo isso...
ZZZY E, por favor, se você não se importa de me dizer o que quer dizer com o termo "quantil".
Na frase "Se uma variável aleatória pode ser representada como a soma de um grande número", a palavra-chave é grande. E esta palavra se refere tanto aos fatores em si quanto ao número de observações. Na prática, lidamos com amostras, por exemplo, de 30 barras até 1000. Neste caso, é mais apropriado usar a distribuição Estudante do que uma distribuição normal. Eu faço exatamente isso. Embora, talvez consigamos a mesma coisa com uma distribuição normal. Ainda não o testei.
Honestamente, eu não consegui entender seu código à primeira vista. Como você pode levar em conta os graus de liberdade em uma quantidade tão pequena de código? O Excel tem funções prontas para calcular quantil para diferentes probabilidades e diferentes graus de liberdade. Eu uso a tabela de distribuição Student, não uma distribuição normal (pp. 53-55 Bulashev).
Por "quantil" quero dizer a mesma coisa que Bulashev escreveu nas páginas 18-19 de seu trabalho seminal.
Explicação da função no posto acima
Portanto, eu estaria interessado em saber como você aplica a distribuição Estudante :)
ZS Infelizmente, naquela época, o terver era muito teórico para ser aplicado na vida.
Bem, eu já escrevi acima. Apenas calculando quantias para construir intervalos de confiança. De que outra forma pode ser usado? Bulashev escreveu como calcular esses mesmos quantitativos em Excle. Em geral eu tenho o mesmo arquivo que você postou acima, mas somente para a distribuição do Estudante. Aqui está a diferença. Basta pensar como você pode aplicar a distribuição normal de probabilidade a uma amostra de 30 barras, por exemplo, se existem apenas algumas barras? Basta comparar as quantidades da distribuição dos estudantes em diferentes graus de liberdade e tudo se tornará claro de uma só vez.