[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 385

 
nadya:
Por supuesto que puede, si su variable es del tipo apropiado
Una célula. Pero así, sólo con constantes: " Las matrices se inicializan con una secuencia unidimensional de constantes enumeradas separadas por comas. La secuencia está rodeada de llaves. "
 
kifa911:
Buenas tardes, tengo una pregunta sobre la inicialización de arrays. Está escrito en el tutorial que: Un array sólo puede ser inicializado con constantes del tipo apropiado. Las matrices unidimensionales y multidimensionales se inicializan con una secuencia unidimensional de constantes enumeradas separadas por comas. La secuencia está rodeada de llaves. En este caso me confunde la palabra "constante". ¿No se puede asignar un valor a un determinado índice del array a través de una variable?

es posible, pero no durante la inicialización.

Es decir, la situación:

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, 0};
bbb[4] = aaa;

permitido

Y la situación

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, aaa};

causará un error

 
nadya:
por supuesto que puede, si esta variable suya tiene el tipo apropiado

Una función tiene que pasar dos matrices de datos por referencia, por ejemplo:

void SomeFunction(int& firstmassive[][3],double& secondmassive[][3])

{

 int iCount=-1,

      ifirst,isecond,ithird;

 double dfirst,dsecond,dthird;

...

 iCount++;

  firstmassive[iCount][0]=ifirst;firstmassive[iCount][1]=isecond;firstmassive[iCount][2]=ithird;

  secondassive[iCount][0]=dfirst;secondmassive[iCount][1]=dsecond;secondmassive[iCount][2]=dthird;

  print("iCount= "+iCount+" firstmassive_2= "+firstmassive[iCount][1]+" isecond= "+isecond);

...

return(0);

}

Cuando libero esta función para que funcione, la pestaña "expertos" en el termenal mensajes como:

iCount= 0 firstmassive_2= 0 isecond= =15
iCount= 1 firstmassive_2= 0 isecond= =25
Resulta que no se pasa ningún valor de la variable a la matriz, aunque ésta tiene un valor. ¿Qué he hecho mal?
 
artmedia70:

El nombre del archivo del complemento es: GetExstremumZZZPrice.mqh ???

Se encuentra en la carpeta Terminal_folder/experts/include ???


El nombre es el mismo, estaba en la carpeta de bibliotecas, ahora está en la carpeta includ, pero el resultado es el mismo
 
kifa911:

Una función tiene que pasar dos matrices de datos por referencia, por ejemplo:

Cuando libero esta función para que funcione, la pestaña "expertos" de la térmica muestra mensajes de este tipo, por ejemplo

Resulta que no se pasa ningún valor de la variable al array, aunque éste tenga un valor. ¿Qué he hecho mal?

No veo el error. Quizás alguien más pueda ayudarte
 
De nuevo, explique las operaciones de los archivos. Después de escribir alguna información en un archivo , ¿es posible eliminarla parcialmente del archivo? Supongamos que has escrito algunas líneas en un documento de texto y que luego puedes eliminar las líneas innecesarias o corregirlas mediante las funciones de operaciones de archivo...
 
fore-x:
De nuevo, explique las operaciones de los archivos. Después de escribir alguna información en un archivo, ¿es posible eliminarla parcialmente del archivo? Supongamos que has escrito algunas líneas en un documento de texto y que luego puedes eliminar las líneas innecesarias o corregirlas mediante las funciones de operaciones de archivo...
Puedes hacerlo.
 
Zhunko:
Puedes hacerlo.
  if(text != " ") 
    {
    handle = FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE, ';'); //открыл файл
    FileSeek(handle,0,SEEK_SET );                               //переместил указатель   
    while(FileIsEnding(handle)==false)                              
      {
      pos = StringFind(FileReadString(handle),symb, 0);             //нашел нужную строку...  
      if(pos >= 0)break;                                   //...файловый указатель в конце строки
      if(FileIsEnding(handle)==true) break;                            
      }
                                 
      ?????????????????? //тут что делать, как удалить или перезаписать выбранную строку
    
    FileWrite(handle,text);     //записываем новую строку
    FileClose(handle);          //закрываем файл
    }  
Por favor, guíeme. ¿Qué tengo que hacer ahora, llegar al principio de la línea? ¿Y luego qué?
 
kifa911:
Buenas tardes, tengo una duda sobre la inicialización de arrays. En el tutorial está escrito que: Un array sólo puede ser inicializado por constantes del tipo apropiado. Las matrices unidimensionales y multidimensionales se inicializan con una secuencia unidimensional de constantes enumeradas separadas por comas. La secuencia está rodeada de llaves. En este caso me confunde la palabra "constante". ¿No se puede asignar un valor a un determinado índice del array a través de una variable?

Así que hay que distinguir entre: inicializar y asignar.
 
Vinin:
¿Y si fijas la línea para ayer o mañana?

Gracias por su atención, pero no entiendo su pregunta. La línea se puede establecer para cualquier fecha, y cuando el gráfico la alcance, el EA se activará? O quizás no entiendo algo, si no te importa explicármelo.