Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 113

 

Ciao, non riesco a scrivere un array.

Ogni giorno appare un livello Ros, se il prezzo (Tick) lo tocca allora diventa non valido, cioè non lo ricordiamo.

Il compito.

Se un tick non ha toccato il livello Ros, manteniamo ilvalore del prezzo Ros nell'array.

Se un tick ha toccato Ros, cancelliamo il valore del prezzo Ros dall'array.

Ho provato a scrivere qualcosa, ma non ha senso, non posso nemmeno aggiungere il valore dell'indice all'array. Per non parlare dell'aggiunta dell'indice stesso))

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 è il valore della variabile Size?
 
Yedelkin:
Qual è il valore della variabile Size?

 int Size = ArraySize(masCenPoc);
 
Top2n:

Ciao, non riesco a scrivere un array.

Ogni giorno appare un livello Ros, se il prezzo (Tick) lo tocca allora diventa non valido, cioè non lo ricordiamo.

Il compito.

Se un tick non ha toccato il livello Ros, manteniamo ilvalore del prezzo Ros nell'array.

Se un tick ha toccato Ros, cancelliamo il valore del prezzo Ros dall'array.

Ho provato a scrivere qualcosa, ma non ha senso, non posso nemmeno aggiungere il valore dell'indice all'array. Per non parlare dell'aggiunta dell'indice stesso))

Sembra tutto un po' vago, quindi penso che dovreste prima definire a cosa vi serve questo array. Poi si confrontano le stesse variabili e si mettono gli stessi valori nell'array.
 
zfs:

Quindi non posso scrivere l'indice dell'array per aumentare man mano che i valori di Ros si accumulano. La dimensione non è ancora uguale a niente))

L'array è necessario per accumulare i valori non incrociati di Ros, e per rimuoverli dall'array quando vengono incrociati.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Top2n: La dimensione non equivale ancora a niente))
Cosa vuol dire "non equivale a niente"? Quale valore contiene la variabile Size? Quante iterazioni ci sono nel ciclo for?
 
Yedelkin:
Cosa intende per "non è uguale a niente"? Quale valore contiene la variabile Size? Quante iterazioni nel ciclo for?

La questione è aperta, abbiamo bisogno che gli indici aumentino man mano che i valori Ros vengono riempiti, è un po' dinamico. se ci sono 5 valori Ros, allora Size = 5. Non so come fare.

 
Top2n: La questione è aperta, abbiamo bisogno che gli indici aumentino man mano che i valori Ros vengono riempiti, è un po' dinamico. se ci sono 5 valori Ros, allora Size = 5. Non so come fare.
https://www.mql5.com/ru/docs/array/arrayresize
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 

è qualcosa del genere?

 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: è qualcosa del genere?
È difficile rispondere. Ho riletto i tuoi post, ma non capisco l'idea di cambiare la dimensione dell'array. E la risposta al codice dipende dalla comprensione del concetto. Forse qualcun altro risponderà.