Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 113

 

Hola, no puedo escribir un array.

Cada día aparece un nivel Ros, si el precio (Tick) lo toca entonces pasa a ser inválido, es decir, no lo recordamos.

La tarea.

Si un tick no ha tocado el nivel Ros, mantenemos el valor del precio Ros en el array.

Si un tick ha tocado a Ros, borramos el valor del precio de Ros del array.

He intentado escribir algo, pero no tiene sentido. Ni siquiera puedo añadir el valor del índice al array. Por no hablar de añadir el propio í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 Tamaño = ArraySize(masCenPoc);
¿Cuál es el valor de la variable Tamaño?
 
Yedelkin:
¿Cuál es el valor de la variable Tamaño?

 int Size = ArraySize(masCenPoc);
 
Top2n:

Hola, no puedo escribir un array.

Cada día aparece un nivel Ros, si el precio (Tick) lo toca entonces pasa a ser inválido, es decir, no lo recordamos.

La tarea.

Si un tick no ha tocado el nivel Ros, mantenemos el valor del precio Ros en el array.

Si un tick ha tocado a Ros, borramos el valor del precio de Ros del array.

He intentado escribir algo, pero no tiene sentido. Ni siquiera puedo añadir el valor del índice al array. Por no hablar de añadir el propio índice))

Todo parece un poco vago, así que creo que primero deberías definir para qué necesitas este array. Luego comparas las mismas variables y pones los mismos valores en el array.
 
zfs:

Así que no puedo escribir el índice del array para que aumente a medida que se acumulan los valores de Ros. El tamaño no es igual a nada todavía))

La matriz es necesaria para acumular los valores no cruzados de Ros, y para eliminarlos de la matriz a medida que se cruzan.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Top2n: El tamaño aún no equivale a nada))
¿Qué quieres decir con "no equivale a nada"? ¿Qué valor contiene la variable Size? ¿Cuántas iteraciones hay en el bucle for?
 
Yedelkin:
¿Qué significa "no es igual a nada"? ¿Qué valor contiene la variable Size? ¿Cuántas iteraciones en el bucle for?

La pregunta está abierta, necesitamos que los índices aumenten a medida que se llenan los valores Ros, es algo dinámico. si hay 5 valores Ros, entonces Tamaño = 5. No sé cómo hacerlo.

 
Top2n: La pregunta está abierta, necesitamos que los índices aumenten a medida que se llenan los valores Ros, es algo dinámico. si hay 5 valores Ros, entonces Tamaño = 5. No sé cómo hacerlo.
https://www.mql5.com/ru/docs/array/arrayresize
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 

¿es algo así?

 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: ¿es algo así?
Es difícil de responder. He releído tus posts, pero no entiendo lo de cambiar el tamaño del array. Y la respuesta al código depende de la comprensión del concepto. Tal vez alguien más responda.