Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 113

 

Olá, não consigo escrever uma matriz.

Todos os dias aparece um nível de Ros, se o preço (Tick) lhe tocar então torna-se inválido, ou seja, não nos lembramos dele.

A tarefa.

Se um tick não tiver tocado no nível Ros, mantemos o valor do preço Ros na matriz.

Se um tick tocou na Ros, eliminamos o valor do preço Ros da matriz.

Tentei escrever algo, mas é apenas um disparate. Nem sequer posso acrescentar o valor do índice à matriz. Para não mencionar a adição do próprio índice))

double masCenPoc[]; 
   int Size = ArraySize(masCenPoc);
      
   for(int i=0; i<Size; i++){
 
   if(cena_poc < high && cena_poc < low)
    masCenPoc[i] = cena_poc;
   if(cena_poc > high && cena_poc > low)
    masCenPoc[i] = cena_poc;
    
 
Top2n: int Size = ArraySize(masCenPoc);
E qual é o valor da variável Tamanho?
 
Yedelkin:
Qual é o valor da variável Tamanho?

 int Size = ArraySize(masCenPoc);
 
Top2n:

Olá, não consigo escrever uma matriz.

Todos os dias aparece um nível de Ros, se o preço (Tick) lhe tocar então torna-se inválido, ou seja, não nos lembramos dele.

A tarefa.

Se um tick não tiver tocado no nível Ros, mantemos o valor do preço Ros na matriz.

Se um tick tocou na Ros, eliminamos o valor do preço Ros da matriz.

Tentei escrever algo, mas é apenas um disparate. Nem sequer posso acrescentar o valor do índice à matriz. Para não mencionar a adição do próprio índice))

Tudo isto parece um pouco vago, por isso penso que primeiro deve definir para que precisa desta matriz. Depois comparam-se as mesmas variáveis e colocam-se os mesmos valores na matriz.
 
zfs:

Assim, não posso escrever o índice da matriz para aumentar à medida que os valores de Ros se acumulam. O tamanho ainda não é igual a nada))

A matriz é necessária para acumular valores não cruzados de Ros, e retirá-los da matriz à medida que são cruzados.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Top2n: O tamanho ainda não equivale a nada))
O que quer dizer com "não é igual a nada"? Que valor contém a variável Tamanho? Quantas iterações há para o loop ?
 
Yedelkin:
O que significa "não igual a nada"? Que valor contém a variável Tamanho? Quantas iterações no loop ?

A questão está em aberto, precisamos de índices para aumentar à medida que os valores Ros são preenchidos, é uma espécie de dinâmica. se existem 5 valores Ros, então Tamanho = 5. Não sei como o fazer.

 
Top2n: A questão está em aberto, precisamos de índices para aumentar à medida que os valores Ros são preenchidos, é uma espécie de dinâmica. se existem 5 valores Ros, então Tamanho = 5. Não sei como o fazer.
https://www.mql5.com/ru/docs/array/arrayresize
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 

é algo parecido com isto?

 for(int i=0; i<Size; i++){
  int Size =   ArrayResize(masCenPoc,i,1)
   if(cena_poc < high && cena_poc < low)
    masCenPoc[i] = cena_poc;
   
   if(cena_poc > high && cena_poc > low)
    masCenPoc[i] = cena_poc;
 
Top2n: é algo parecido com isto?
É difícil de responder. Reli as vossas mensagens, mas não compreendo a ideia de mudar o tamanho da matriz. E a resposta ao código depende da compreensão do conceito. Talvez outra pessoa responda.