Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1015

 

Olá, não me repreenda muito, por favor, estou apenas aprendendo a língua e o OOP em geral.

Você pode me dizer por que quando tento multiplicar toda a fórmula atribuída a ExtATRBuffer[i]=.... no indicador ATR Quando eu multiplico por 1 mostra o valor real no gráfico, quando eu multiplico por 0,5 fracionário n.e. alguns valores estão acima e abaixo da linha zero

O que devo fazer para evitar erros?

a conta final precisa do valor real do ATP multiplicado por uma constante que pode ser alterada.

obrigado a todos que responderam!!!

//+------------------------------------------------------------------+
//| Average True Range                                               |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i,limit;
//--- check for bars count
   if(rates_total<=ExtPeriodATR)
      return(0); // not enough bars for calculation
//--- preliminary calculations
   if(prev_calculated==0)
     {
      ExtTRBuffer[0]=0.0;
      ExtATRBuffer[0]=0.0;
      //--- filling out the array of True Range values for each period
      for(i=1;i<rates_total && !IsStopped();i++)
         ExtTRBuffer[i]=MathMax(high[i],close[i-1])-MathMin(low[i],close[i-1]);
      //--- first AtrPeriod values of the indicator are not calculated
      double firstValue=0.0;
      for(i=1;i<=ExtPeriodATR;i++)
        {
         ExtATRBuffer[i]=0.0;
         firstValue+=ExtTRBuffer[i];
        }
      //--- calculating the first value of the indicator
      firstValue/=ExtPeriodATR;
      ExtATRBuffer[ExtPeriodATR]=firstValue;
      limit=ExtPeriodATR+1;
     }
   else limit=prev_calculated-1;
//--- the main loop of calculations
   for(i=limit;i<rates_total && !IsStopped();i++)
     {
      ExtTRBuffer[i]=MathMax(high[i],close[i-1])-MathMin(low[i],close[i-1]);
      ExtATRBuffer[i]=ExtATRBuffer[i-1]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodATR;

   // ExtATRBuffer[i]=(ExtATRBuffer[i-1]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodA)*4;
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Obrigado a todos vocês! Ajuda para entender : erro de teste: 2019.12.04 14:14:40.097 TestGenerator: erro de dados incomparável (valor alto 0,71570 em 2019.01.21 23:30 não é alcançado a partir do menor período de tempo, preço alto 0,71560 mismatch)
 
Ilzadjan Akhmedov:
Obrigado a todos vocês! Ajuda para entender : erro de teste: 2019.12.04 14:14:40.097 TestGenerator: erro de dados incomparável (valor alto 0,71570 em 2019.01.21 23:30 não é alcançado a partir do menor período de tempo, preço alto 0,71560 mismatch)

Carregar o histórico para o instrumento em teste (F2)

 
Artyom Trishkin:

Carregar o histórico para o instrumento em teste (F2)

Obrigado por sua atenção! Carregado mas agora o resumo é: 2019.12.04 16: 00: 20.408 TestGenerator: Inconsistente erro de dados (limite de volume 409 excedido em 2016.03.30 23: 45)

Arquivos anexados:
 
Ilzadjan Akhmedov:

Obrigado por sua atenção! Baixar mas agora o resumo é: 2019.12.04 16: 00: 20.408 TestGenerator: Inconsistente erro de dados (limite de volume 409 excedido em 2016.03.30 23: 45)

Para cada um dos períodos de tempo, baixe o histórico.

 
Artyom Trishkin:

Para cada um dos períodos de tempo faça o download do histórico.

Este consultor de 600 dólares, Fez um teste novamente não negocia. por favor, veja o que pode ser feito. Se você resolver o problema, por favor, envie as configurações!

Arquivos anexados:
 
Artyom Trishkin:

Tente abrir um arquivo que não exista usando FileOpen()...

Eu li sobre isto. A única pista pode estar nesta frase"O nome do arquivo a ser aberto, pode conter subpastas".Se o arquivo for aberto para escrita, as subpastas especificadas serão criadas se não houver nenhuma."Mas mesmo aqui diz algumas subpastas, talvez seja uma referência ao fato de que neste diretório nestas subpastas o arquivo será criado, porque não é escrito normalmente. Você pode escrever normalmente, se não houver um arquivo, ele será criado. Não é que eu seja um cientista para adivinhar todos os detalhes. Ainda nem entendo quantas funções funcionam, porque não existe um código de função ou uma descrição adequada. Sabe, eles lhe jogam um certo osso, e você entende por si mesmo se é comestível ou não.

 
Olá, ajude-me a resolver este problema. eu conectei os sinais, um mês tudo estava bem, no final do mês meus negócios não foram copiados corretamente para os sinais do provedor, agora o tamanho do lote não é respeitado. qual poderia ser o problema com o tamanho do lote, e por que os sinais não funcionaram corretamente, onde posso ver o que devo clicar?
 
Seric29:

Eu li sobre isto. A única pista pode estar nesta frase"O nome do arquivo a ser aberto, pode conter subpastas".Se o arquivo for aberto para escrita, as subpastas especificadas serão criadas se não houver nenhuma."Mas mesmo aqui diz algumas subpastas, talvez seja uma referência ao fato de que neste diretório nestas subpastas o arquivo será criado, porque não é escrito normalmente. Você pode escrever normalmente, se não houver um arquivo, ele será criado. Não é que eu seja um cientista para adivinhar todos os detalhes. Eu nem entendo quantas funções funcionam, porque não existe um código de função ou uma descrição adequada. Você sabe, você joga algum tipo de osso, e você entende se é comestível ou não.

Como você encontra o sol pela manhã? Você já estudou toda a astronomia?

As funções padrão não são para descobrir seu funcionamento interno. Eles são para usá-los. E a descrição está na documentação.

Eu lhe disse para usar FileOpen() para criar um novo arquivo. Mas não..., você tem que fazer um refrão de dez páginas em vez de apenas "pegá-lo e usá-lo". Bem, às vezes você pode dizer "obrigado" para aqueles que ajudam.

 

Olá.

Ninguém vai dizer nada sobre o posto Bilder?

Talvez faça sentido colocá-lo em um novo fio, para que mais pessoas o vejam? Em caso afirmativo, peça aos moderadores para afixar... Ou criar um você mesmo?

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.11.09
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...