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

 
Artyom Trishkin:

A primeira coisa a ver (tudo em um estilo "talvez") é o que retorna para você

Você verifica isso em algum lugar?

O que dizer da ajuda?

Você tem certeza de que está recebendo o índice?

Eu verifico, mas ainda há um erro em algum lugar, nada muda.

close[i+1] <Low[iLowest(NULL,0,MODE_LOW,10,2)]&&iLowest(NULL,0,MODE_LOW,10,2)>0

 
Ghabo:

Eu verifico, ainda há um erro em algum lugar, nada muda.


Assim.

iLowest(NULL,0,MODE_LOW,10,i+2)

tentar encontrar o índice do menor valor.

Você está executando em loop, não está?

 
Alekseu Fedotov:

Assim.

tentar encontrar o índice do menor valor.

Você está executando em loop, não está?

É aí que o cão está escondido) obrigado.

 
Ghabo:

inserir no início do código

Infelizmente, depois destas palavras aparecem 10 erros e 200 avisos(((.

Ele compila muito bem.

 
Lomonosov1991:

Infelizmente após estas mensagens, 10 erros e 200 avisos irão aparecer((.

Mas ele compila muito bem

Conserte estes erros - eles lhe dizem que o programa não está escrito corretamente - só por precaução.

 
Alekseu FedotovAssim.

A seta não é ajustada em tempo real, mas é quando os ajustes são chamados.

  {
//---
   if(rates_total<2) return(0);
   int limit=rates_total-prev_calculated;
   if(limit>2)
     {
      limit=rates_total-2;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   for(int i=limit-2; i>=0; i--)
     {
      if(
         close[i+1] <low[iLowest(NULL,0,MODE_LOW,10,i+2)]&&iLowest(NULL,0,MODE_LOW,10,i+2)>0
         )
        {
         BufferUP[i+1]=low[i+1];
        }
     }

   return(rates_total);
  }

Por quê?

 
Ghabo:

A seta não é ajustada em tempo real, mas é quando os ajustes são chamados.

por quê?

if(limit>1)
 

Camaradas! Talvez eu não entenda alguma coisa - e assim deveria estar no testador para um modelo pré-preparado, eu edito o valor do indicador PCI para o lado superior, ou seja, indicar 40.


Durante testes adicionais, seu valor permanece em 14 por padrão.


É suposto ser assim? É realmente necessário re-guardar o modelo com o valor atual para o teste a cada vez?

 
Não consigo descobrir como corrigir o erro de identificador não declarado
Arquivos anexados:
 
Lomonosov1991:
Não consigo descobrir como corrigir erros de identificação não declarados

colocar estática antes do dobro ou declarar um passo acima / globalmente.

Se algo é declarado dentro { }, então fora dele "desaparece".