uma estratégia comercial baseada na Teoria da Onda de Elliott - página 58

 
Há muitas coisas na vida que parecem importantes ou sem importância no início. Como os resultados de um Expert Advisor primitivo, que de acordo com Avals teve que ser justificado no início, embora a idéia intuitiva por trás disso esteja correta. Mas foi mais fácil para mim colocá-lo para teste em real do que tentar refutá-lo. Se durar até o final do ano - então provavelmente vou começar a testá-lo no testador :)
<br / translate="no">
Resumo:
Depósito/Retirada: 5.000,00 Linha de crédito: 0,00
Comércio Fechado P/L: 1 186,63 Flutuante P/L: 560,29 Margem: 961,62
Saldo: 6 186,63 Patrimônio líquido: 6 746,92 Margem livre: 5 785,30

Lucro bruto: 3 669,45 Perda bruta: 2 482,82 Lucro líquido total: 1 186,63
Fator de lucro: 1,48 Pagamento previsto: 23,27
Sorteio absoluto: 143,75 Sorteio máximo (%): 858,39 (13,20%)

Total de posições: 51 Posições curtas (ganho %): 26 (42,31%) Posições longas (ganho %): 25 (56,00%)
Lucro Negociações (% do total): 25 (49,02%) Perdas comerciais (% do total): 26 (50,98%)
Maior lucro comercial: 540,94 comércio de perdas: -292,62
Comércio de lucro médio: 146,78 comércio de perdas: -95,49
Máximo de vitórias consecutivas ($): 6 (1.099,13) perdas consecutivas ($): 4 (-744,95)
Lucro máximo consecutivo (contagem): 1.099,13 (6) perda consecutiva (contagem): -744,95 (4)
Média de vitórias consecutivas: 2 perdas consecutivas: 2
 
Afinei um pouco meu Expert Advisor em termos de relaxamento das condições de entrada no mercado e acrescentei um lote variável.
Os resultados estão aqui https://c.mql5.com/mql4/forum/2006/06/new_results.zip
O tamanho do lote variou de $5 a $80.
O algoritmo de entrada/saída foi desenvolvido considerando o EURUSD, de modo que o Expert Advisor mostrou resultados consideráveis na história durante 3 anos. Devido a grandes cálculos, eu simplesmente limitei a amostra na qual os canais são estimados a apenas 300 barras em tempo previsível. Ou seja, 12,5 dias de negociação. Na verdade, devemos considerar amostras muito mais longas para aumentar a confiabilidade de um ponto de entrada. Vou executar novamente o Expert Advisor em amostras longas a fim de obter prova experimental de minha suposição, mas isso requer certo tempo para o cálculo. Depois de obter o resultado mostrado no arquivo para EURUSD, corri o Expert Advisor nos mesmos parâmetros (incluindo até mesmo o parâmetro trailing stop!) no qual ele foi otimizado para EURUSD em GBPUSD e USDCAD. É claro que não conseguimos obter um resultado notável em outros 2 pares, mas acho que o resultado obtido ainda é positivamente tendencioso. Portanto, posso tirar duas conclusões. A primeira é que o sistema proposto por Vladislav pode muito bem ser lucrativo com uma realização técnica precisa. Talvez Vladislav tenha conseguido encontrar as características universais trabalhando em todos os pares de moedas sem correção. Se compararmos estes 3 pares de moedas, podemos detectar as seguintes diferenças. O USDCAD tem movimentos mais rápidos em comparação com o EURUSD. Se levar EURUSD 3 horas para passar 1,5 números, pode levar USDCAD 1 hora para passar 1,5 números, o que leva ao grave problema de um atraso, pelo menos para o período H1, para o qual obtivemos o resultado. De modo geral, vou continuar minhas pesquisas nesta direção. Agora considero de suma importância um aperto razoável das paradas. Quando e por quanto puxá-los para cima ao negociar. Uma vez que é óbvio que a parada padrão não permitirá tomar muito. Analisaremos isso mais adiante.
 
Boa tarde Solandr!

Você poderia me dizer quais condições você relaxou?
 
Você poderia me dizer quais condições você relaxou?

Reduzi o tamanho da amostra para o cálculo e também o período para o cálculo do indicador de níveis de Murray. Se você tiver uma amostra pequena, há mais altos e baixos locais que satisfazem o ponto de entrada. Além disso, se os níveis de Murray são calculados para um período mais curto, eles estão localizados mais próximos uns dos outros, aumentando a probabilidade de entrar no mercado. Compare 31 ofícios do arquivo anterior e 80 do novo arquivo. Como resultado do abrandamento das condições de entrada no mercado, o número de negócios aumentou, mas a qualidade dos negócios diminuiu de forma correspondente. Entretanto, a introdução de um lote de tamanho variável como o Vladislav's foi capaz de exceder o resultado obtido no arquivo anterior pelo mesmo período de tempo com a mesma quantidade de risco.
 
Apresentei novos resultados de testes do Expert Advisor https://c.mql5.com/mql4/forum/2006/06/new_results2.zip
Os resultados mostram os dados obtidos no EURUSD em diferentes comprimentos de amostra, nos quais a busca de canais é feita. Testei a 300 e 1000 barras no período H1. Como esperado, uma amostra mais longa melhorou o relatório de teste do Expert Advisor. No entanto, não é muito significativo. O aumento do comprimento da amostra em mais de 3 vezes levou a um aumento do lucro final de apenas 4%. Como esperado, o número de negócios em uma amostra mais longa tornou-se menor (em 19%), mas a qualidade dos negócios melhorou, como evidenciado pelo crescimento de 14% no índice de rentabilidade. Como resultado, a diminuição do número de negócios e o aumento da lucratividade causaram, no entanto, algum aumento no lucro total.

Este arquivo também contém os resultados do Expert Advisor desenvolvido para EURUSD, negociado em USDCHF e USDJPY durante um período de tempo de 300 bar em H1. No par de moedas USDCHF o resultado tem uma clara mudança positiva. E o resultado do USDJPY vagueou em torno de zero durante todo o período de testes. Ao mesmo tempo, a quantidade de transações realizadas foi aproximadamente 3 vezes menor do que quando testadas no mesmo período em outros pares de moedas. Com base nisso, posso concluir que a natureza do USDJPY tem uma diferença significativa em relação àqueles pares nos quais já foram realizados testes. Assim, se minha versão da estratégia funcionar para USDJPY, será necessário algum esforço e possivelmente um algoritmo de entrada/saída revisado para este par.
A propósito, Vladislav, por alguma razão, não negocia em todos os pares na demonstração (embora não haja problemas técnicos ou eles sejam solvíveis), mas ele negocia apenas em 3 pares - EURUSD, USDCHF, GBPUSD. E eu acho que talvez não seja apenas por diversão, mas ele tem algumas razões para isso.
 
Olá a todos! Acabou um pouco com MTSinka ;) - Como disse anteriormente, na segunda-feira fecharei o acesso direto à conta Lites - aquela que é usada para fazer upload para o Império. Posso apenas mudar a senha do investidor e talvez até deixá-la para testes - não adianta rodar o computador para nada: vou testá-la em conta real. O que acontecerá a seguir - veremos.
Espero que muitos tenham progredido para a realização prática?

Boa sorte e boas tendências.
 
Boa tarde Vladislav!

Muito gentil de sua parte em voltar a esta linha.
Enquanto você estava ausente, houve muitas discussões sobre várias questões:

1.
Jhonny 16.06.06 16:48 <br / translate="no">
Vladislav, você poderia responder a algumas perguntas....
1) O nível de importância dos critérios de seleção de canais é o mesmo (ou seja, você encontra a combinação ideal destes critérios), ou há uma seleção consistente de critérios mais significativos para critérios menos significativos.
2) Tendo lido muitos livros inteligentes, esqueci o que encontrar :). Se entendi corretamente que você quer dizer sob um conceito de energia potencial funcional, não está claro por que a buscamos como resultado da busca será a equação (não valor, mas função!) de uma trajetória em movimento ao longo da qual a mudança de energia potencial (durante o movimento, ao invés de alcançar um ponto final!Entendo que o preço se move ao longo desta mesma trajetória e já escolhemos a equação que se aproxima desta trajetória (equação de regressão), resta apenas concluir quão bem nos aproximamos desta trajetória. Mas se procurarmos de qualquer forma, podemos encontrar uma função quadrática e se os coeficientes В e С na equação Ах^2+Вх+С forem iguais (ou muito próximos) daqueles na equação de regressão, talvez este seja o canal necessário, embora eu já tenha entrado em dúvida :)


2. A questão sobre a distribuição no canal...

Vladislav 13.03.06 21:38

.... Há também um teorema central de limites, que diz que qualquer distribuição convergente com graus crescentes de liberdade converge para uma distribuição normal (por isso não nos importamos com o que está dentro, desde que converja ;)....

Entendi esta frase para significar que aceitamos a distribuição no canal como normal e calculamos os intervalos de confiança usando a função de distribuição normal. Mas havia outras opiniões logicamente sólidas...


solandr 18.06.06 08:42

Honestamente, só a diferença nos diferentes valores de N é o que me interessa. A distribuição do estudante permanece qualitativamente a mesma na forma, muda seus parâmetros quantitativos com diferentes graus de liberdade. Quando o número de graus de liberdade é muito grande, ele deve coincidir com a distribuição normal. Quando o número de graus de liberdade é pequeno, ele difere da distribuição normal.
A distribuição estudantil tem diferentes graus de liberdade:
Por uma probabilidade de 99%:
q(30 barras)=2,750
q(100 barras)=2,626
q(300 barras)=2,593
q(1000 barras)=2,581
Se você acha que a diferença de 6% entre o valor quantil para 30 barras e 1000 barras não vale o esforço extra, então é sua escolha pessoal. Eu tenho uma opinião um pouco diferente.


3. e mais uma pergunta sobre o coeficiente de Hurst


Jhonny 17.06.06 16:49

...na verdade tenho um valor Hearst >1 para canais com amostras menores que cerca de 80, então deve haver um erro em algum lugar...

Mas na página http://www.xaoc.ru/index.php?option=com_forum&Itemid=0&page=viewtopic&p=2380, há uma declaração sobre o assunto:
É que há um erro na aproximação linear ao encontrar o índice, pense nisso como 1

Podemos considerar esta afirmação como verdadeira ou é mais provável que eu tenha um erro em meu algoritmo?

P.S. Espero não estar incomodando muito com estas perguntas e estou ansioso para ouvir de você.
 
Boa tarde Vladislav!

Muito simpático da sua parte em olhar nesta linha novamente.
Enquanto você estava fora, houve algumas questões que foram ativamente discutidas no tópico:

1.
Jhonny 16.06.06 16:48

Vladislav, você poderia responder a algumas perguntas....
1) Nível de importância dos critérios de seleção de canais em você uniformemente (ou seja, você encontra uma combinação ótima destes critérios), ou há uma seleção consecutiva de critérios mais significativos para menos significativos.

Não, não é - cada um tem seu próprio fator de ponderação.

2) Depois de ler muitos livros inteligentes, esqueci o que deveria encontrar :). Se entendi corretamente que você quer dizer sob um conceito de funcionamento da energia potencial, não está claro porque a buscamos como resultado da busca será a equação (não valor, mas função!) de uma trajetória na qual o movimento muda de energia potencial (durante o movimento, ao invés de alcançar um ponto final!Entendo que o preço se move ao longo desta mesma trajetória e já escolhemos a equação que se aproxima desta trajetória (equação de regressão), resta apenas concluir quão bem nos aproximamos desta trajetória. Mas se procurarmos de qualquer forma, podemos encontrar uma função quadrática e se os coeficientes B e C na equação Ah^2+Bx+C forem iguais (ou muito próximos) daqueles na equação de regressão, talvez este seja o canal necessário, embora eu já tenha começado a sentir dúvida :)


Já escrevi sobre isto muitas vezes. Quando você estiver procurando uma amostra para construir um canal de regressão, você verá que esta amostra pode não ser construída da única maneira neste momento. De alguma forma, uma seleção tem que ser feita. Escolhi este como meu critério principal - o raciocínio foi exposto acima na linha. O algoritmo é simples: construí-lo, verificá-lo, selecionar o extremo.

2. Pergunta sobre a distribuição no canal...

Vladislav 13.03.06 21:38

.... Há também um teorema central de limites que diz que qualquer distribuição convergente converge para uma distribuição normal com graus crescentes de liberdade (por isso não nos importamos com o que está dentro, desde que converge ;)....

Entendi a frase como significando que tomamos a distribuição no canal como normal e calculamos os intervalos de confiança usando a função de distribuição normal. Mas havia outras opiniões logicamente sólidas...


Não - é considerado o pior convergente :) (também converge para o normal com graus crescentes de liberdade). Eu escrevi sobre isso e solandr entendeu muito bem.

solandr 18.06.06 08:42

Honestamente apenas a diferença em valores diferentes de N estou interessado. A distribuição do estudante permanece qualitativamente a mesma na forma, muda seus parâmetros quantitativos com diferentes graus de liberdade. Quando o número de graus de liberdade é muito grande, ele deve coincidir com a distribuição normal. Quando o número de graus de liberdade é pequeno, ele difere da distribuição normal.
A distribuição estudantil tem diferentes graus de liberdade:
Por uma probabilidade de 99%:
q(30 barras)=2,750
q(100 barras)=2,626
q(300 barras)=2,593
q(1000 barras)=2,581
Se você acha que a diferença de 6% entre o valor quantil para 30 barras e 1000 barras não vale o esforço extra, então é sua escolha pessoal. Eu tenho uma opinião um pouco diferente.



3 E mais uma pergunta sobre o coeficiente de Hurst


Jhonny 17.06.06 16:49

...na verdade tenho um valor Hearst >1 para canais com amostras menores que cerca de 80, então deve haver um erro em algum lugar...

Mas em http://www.xaoc.ru/index.php?option=com_forum&Itemid=0&page=viewtopic&p=2380, há esta declaração sobre o assunto:
é que há um erro em encontrar o índice por aproximação linear, pensem nele como 1

Podemos considerar esta afirmação como verdadeira ou é mais provável que eu tenha um erro em meu algoritmo?

P.S. Espero não estar incomodando muito com estas perguntas e estou ansioso para ouvir de você.



Nos cálculos, é claro, surge um erro. O critério principal é um valor maior ou menor que 0,5 (na versão da fórmula com valor k 0,5, se você mudou para zero ou um, então em relação ao parâmetro de deslocamento, respectivamente). Com relação ao erro em seu algoritmo - pode ser ;). Quem mais pode verificar, a não ser você?

Boa sorte e boas tendências.
 
Obrigado Vladislav. Você me perdoará, e eu já sou tão descarado...
Mas a questão sobre o funkitsonal, pelo menos para mim, permanece em aberto. Eu mesmo tentarei inventar algo nesta área :). Mais uma vez, obrigado!
 
Há muito tempo que se vem a este fio, mas ainda não havia um quarto fio, que foi onde começaram todas as coisas interessantes. Graças a todos os participantes, aprendi muitas coisas interessantes para mim mesmo. Mas, como dizem, muito conhecimento não é tanto infortúnio, mas sim perguntas.

Depois de ler material adicional sobre o cálculo do Índice Hurst, deparei-me com um estudo de Feder. Ele alegou que a lei empírica - H=Log(R/S)/Log(0,5*N) funciona bastante mal e fornece dados relativamente corretos apenas para amostras pequenas (embora nada tenha sido dito sobre o tamanho dessas amostras). Portanto, decidi implementar o cálculo do índice Hearst estritamente de acordo com materiais metódicos (parece que acabou sendo ainda pior do que o Sr. Feder advertiu).

Percebo que o código pode não ser o mais ideal em termos de desempenho (muitas chamadas de função e tudo mais), mas o principal é o outro - queria esclarecer se entendi corretamente a lógica de seu cálculo, pois os resultados me parecem questionáveis, e decidi perguntar às pessoas conhecedoras.

Em meus cálculos, levei em conta apenas as fórmulas dos manuais, nada a mais.

A implementação é bastante simples, sob a forma de um roteiro. Há apenas oito funções, cuja descrição estou anexando abaixo, assim como comentários no código fonte. Obter a matriz com os dados calculados da função, implementados da seguinte forma. Cada função recebe uma matriz[] dupla. A matriz é inicializada no corpo da função e os dados computacionais são escritos na matriz, dependendo da finalidade da função.

void GetVn(double out[], int N, int i)
Eu formo "influxo" - v[]. Tomo como entrada o preço mais próximo. O resultado é escrito para array out[]

void SetArrayMv(double v[], double out[], int N)
Calculo a média de entrada - mv[] para todas as observações. A função recebe entrada e número de observações - N

void SetArrayDv(double v[], double out[], double mv[], int N)
Calculo o desvio acumulado de entrada - dv[]. Eu passo matrizes "entrada", "entrada média" e número de observações

void SetArrayR(double dv[], int N, double out[])
Eu calculo spread - r[]. Eu passo a entrada e o número de observações para a função.

SetArrayS(double v[], double mv[], double out[], int N)
Eu calculo o desvio padrão s[]. Passo "entrada", "entrada média" e número de observações

vazio SetArrayRS(double r[], double s[], double out[], int N)
Calculo o spread normalizado. Eu escrevo os valores de R/S na matriz rs[]. Eu passo as funções "spread", "desvio padrão" e número de observações

void LogN(double out[], int N)
Calcula o logaritmo da matriz de N

void GetLine(double x[],double y[], int N)
Calculo coeficientes de linha aproximada.

//+------------------------------------------------------------------+
//|                                                        HERST.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      "grasn@rambler.ru"

int start()
{
   int i=0;
   int N=100;

   double v[];                         // Приток
   
   double mv[];                        // Средний приток
   double dv[];                        // Накопившееся отклонение
   
   double r[];                         // Размах
   double s[];                         // Стандартное отклонение
   
   double rs[];                        // Нормированный размах
   double logN[];                      // логарифм от N
   
   GetVn(v, N, i);
   SetArrayMv(v, mv, N);
   SetArrayDv(v, dv, mv, N);

   SetArrayR(dv, N, r);
   SetArrayS(v, mv, s, N);
   SetArrayRS(r, s, rs, N);
   
   LogN(logN, N);
            
   GetLine(logN, rs, N);
   
   return(0);
}

// Приток
// ________________________________________________________________________________________
// "Приток".....................................................................double out[]
// Длина выборки......................................................................int N
// номер бара с которого выполняется выборка..........................................int i

void GetVn(double out[], int N, int i)
{
   int n;
   int k;      

   double x[];

   ArrayResize(x, N);
   ArrayInitialize(x, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);

   k=i+N-1;
      
   for(n=0; n<=N-1; n++)
   {
      x[n]=Close[k];
      k=k-1;
   }

   ArrayCopy(out, x, 0, 0, WHOLE_ARRAY);
      
   return(0);
}

// Средний приток 
// ________________________________________________________________________________________
// Приток ........................................................................double v[]
// Средний приток ..............................................................double out[]
// Число наблюдений...................................................................int N

void SetArrayMv(double v[], double out[], int N)
{
   int n;
   int i;
   
   double SUM;
   double mv[];

   ArrayResize(mv, N);
   ArrayInitialize(mv, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);
      
   for(n=0; n<=N-1; n++)
   {
      SUM=0.0;   
      
      for(i=0; i<=n; i++)
      {
         SUM=SUM+v[i];
      }
      
      mv[n]=(1.0/(n+1))*SUM;
   }
   
   ArrayCopy(out, mv, 0, 0, WHOLE_ARRAY);
 
   return(0);
}

// Накопившееся отклонение притока от среднего
// ________________________________________________________________________________________
// Приток ........................................................................double v[]
// Накопившееся отклонение притока..............................................double out[]
// Средний приток................................................................double mv[]
// Число наблюдений...................................................................int N

void SetArrayDv(double v[], double out[], double mv[], int N)
{
   int n;
   int i;
   
   double dv[];
   double SUM;

   ArrayResize(dv, N);
   ArrayInitialize(dv, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);

   for(n=0; n<=N-1; n++)
   {
      SUM=0.0;
      
      for(i=0; i<=n; i++)
      {
         SUM=SUM+(v[i]-mv[i]);
      }
      
      dv[n]=SUM;
   }
   
   ArrayCopy(out, dv, 0, 0, WHOLE_ARRAY);
      
   return(0);   
}

// Размах
// ________________________________________________________________________________________
// Накопившееся отклонение притока от среднего...................................double dv[]
// Размах.......................................................................double out[]
// Число наблюдений...................................................................int N

void SetArrayR(double dv[], int N, double out[])
{
   int n;
   
   int idMax;
   int idMin;
   
   double rn[];
      
   double max;
   double min;

   ArrayResize(rn, N);
   ArrayInitialize(rn, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);   

   for(n=1; n<=N; n++)
   {
      idMax=ArrayMaximum(dv, n, 0);
      idMin=ArrayMinimum(dv, n, 0);
      
      max=dv[idMax];
      min=dv[idMin];
      
      rn[n]=MathAbs(max-min);
   }
   
   ArrayCopy(out, rn, 0, 0, WHOLE_ARRAY);
   
   return(0);
}

// Стандартное отклонение
// ________________________________________________________________________________________
// Приток.........................................................................double v[]
// Среднее приток................................................................double mv[]
// Стандартное отклонение.......................................................double out[]
// Число наблюдений...................................................................int N

void SetArrayS(double v[], double mv[], double out[], int N)
{
   int n;
   int i;
   
   double sn[];
   double SUM;

   ArrayResize(sn, N);
   ArrayInitialize(sn, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);   
   
   for(n=0; n<=N-1; n++)
   {
      SUM=0.0;
      
      for(i=0; i<=n; i++)
      {
         SUM=SUM+MathPow((v[i]-mv[i]), 2);
      }
     
      sn[n]=MathSqrt((1.0/(n+1))*SUM);
   }
   
   ArrayCopy(out, sn, 0, 0, WHOLE_ARRAY);
   
   return(0);
}

// Нормированный размах
// ________________________________________________________________________________________
// Размах.........................................................................double r[]
// Стандартное отклонение.........................................................double s[]
// Нормированный размах.........................................................double out[]
// Число наблюдений...................................................................int N
void SetArrayRS(double r[], double s[], double out[], int N)
{
   int n;
   
   double rs[];

   ArrayResize(rs, N);
   ArrayInitialize(rs, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);  
      
   for(n=3; n<=N-1; n++)
   {  
      if(s[n]==0)
      {
         rs[n]=0.0;
      }
      else 
      {
         rs[n]=MathLog(r[n]/s[n]);
//         Print("rs ", rs[n]);
      }
   }
   
   ArrayCopy(out, rs, 0, 0, WHOLE_ARRAY);
   
   return(0);
}

// Логарифм N
// ________________________________________________________________________________________
// Логарифм N...................................................................double out[]
// Число наблюдений...................................................................int N
void LogN(double out[], int N)
{
   int n;
      
   double logN[];
   
   ArrayResize(logN, N);
   ArrayInitialize(logN, 0.0);

   ArrayResize(out, N);
   ArrayInitialize(out, 0.0);   
   
   for(n=3; n<=N-1; n++)
   {
      logN[n]=MathLog(n);
//      Print("n ", logN[n]);
   }
   
   ArrayCopy(out, logN, 0, 0, WHOLE_ARRAY);
   
   return(0);   
}

// Расчет коэффициентов аппроксимирующей линии
// ______________________________________________________________
// log(R/S).......................................................................double x[]
// log(N)................................................................................y[]
// Число наблюдений...................................................................int N
void GetLine(double x[],double y[], int N)
{
   double m=0;
   double b=0;
   double tan = 0;
      
   int size=N;
   double sum_x=0.0;
   double sum_y=0.0;
   double sum_xy=0.0;
   double sum_xx=0.0;
      
   for (int i=3; i<size; i++)
   {
      sum_x=sum_x+x[i];
      sum_y=sum_y+y[i];
      sum_xy=sum_xy+(x[i]*y[i]);
      sum_xx=sum_xx+(x[i]*x[i]);
   }

   m = (size*sum_xy - sum_x*sum_y) / (size*sum_xx - sum_x*sum_x);
   b = sum_y/size - m * sum_x / size;

           
   Print("Аппроксимирующая прямая: y(x)=", m, "x+", b);
   Print("Показатель Херста= ", m);
   
   return(0);
}



Aqui estão os gráficos de log(R/S) e log(N) para as séries aleatórias e para as citações diárias EURUSD
A série aleatória foi gerada usando MathRand() com os seguintes parâmetros.
N=100
Resultado:
H=0,5454
Y(x)=0,5454x+0,2653

À medida que N aumenta, o índice Hurst aproxima-se de 0,5


O cálculo EURUSD D1 foi realizado com os seguintes parâmetros:
i=0 (a partir de 27,06)
N=100

resultados do cálculo
H=1,0107 (por que é tão grande?)
y(x)=1,0197x-0,5885



Há algumas perguntas:
1. O que levar para o influxo? O preço total, a diferença modulada, apenas a diferença positiva? Em outras palavras, a noção de "influxo" no método em questão tem algum efeito sobre a pré-preparação dos dados? Ou se os dados a serem investigados forem tomados como o influxo. Eu intuitivamente, por exemplo, tomei o preço de fechamento nos cálculos.

2. Como determinar o spread normalizado se os valores do spread, e especialmente o desvio padrão, são zero. Isto está quase sempre presente para pequenos índices de matriz. No caso de serem detectados zeros, por enquanto também atribuo zero ao spread normalizado. Isto é correto? Por enquanto, abandonar o cálculo dos primeiros valores.

3. Eu não gosto dos resultados em si. Aqui está um exemplo de várias variantes de cálculo para EURUSD:

Inflow (Close[] D1) em todas as barras Índice Hurst 0,9069
Inflow (Close[] D1) i=0, N=200 Índice Hurst 0,8264

Os números são muito otimistas e os dados não coincidem com os de Vladislava (0,64 para toda a série), mas também há valores muito baixos. Para a diferença de preço de todas as barras recebo o índice Hearst 0,5119

4. Estou calculando corretamente o fluxo médio de entrada. Um valor para todas as iterações ou deve mudar dependendo do atual N?

5. Há uma possibilidade de que eu tenha confundido tudo e o número seja calculado de forma errada. Por favor, explique onde fiz asneira :o(

PS: Espero que os membros deste fórum me ajudem a entender isto. Eu ficaria muito grato se Vladislav tomasse um momento para explicar onde eu erro com uma metodologia tão simples.