Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1116
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
En buena hora, ¿cómo añadir una nueva línea al archivo terminado.csv, con un desplazamiento a la 1ª línea - si es posible? O de otra manera, pero sin recalcular/reciclar los datos existentes. A menos que se permita actualizar los nombres de las columnas y filas
{
int handle= FileOpen(fileName,FILE_CSV|FILE_WRITE," "),x=0,y=0;
Elimine FILE_CSV, utilice FILE_ANSI en su lugar si utiliza elformato"\n\t", etc.
Elimine FILE_CSV, utilice FILE_ANSI en su lugar siutiliza"\n\t", etc.
Hola, la tarea es sobrescribir un array bidimensional, en formato BIN, ¿la función reconocerá un array bidimensional como entrada?
FileWriteArray
Por supuesto que se leerá en dos dimensiones. Lo siento, no te ofendas... ¿No sería más fácil escribir una matriz de prueba de 2x2 elementos, leerla y ver?
Los valores vacíos NULL se escriben en el archivo.arrayZ es bidimensional
//| Запись n элементов массива в файл |
//+------------------------------------------------------------------+
void WriteData(const int n)
{
//--- откроем файл
ResetLastError();
int handle=FileOpen(path,FILE_READ|FILE_WRITE|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
//--- запишем данные массива в конец файла
FileSeek(handle,0,SEEK_END);
FileWriteArray(handle,arrayZ,0,n);
//--- закрываем файл
FileClose(handle);
}
else
Print("Failed to open the file, error ",GetLastError());
}
Los valores vacíos NULL se escriben en el archivo.arrayZ es bidimensional
//| Запись n элементов массива в файл |
//+------------------------------------------------------------------+
void WriteData(const int n)
{
//--- откроем файл
ResetLastError();
int handle=FileOpen(path,FILE_READ|FILE_WRITE|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
//--- запишем данные массива в конец файла
FileSeek(handle,0,SEEK_END);
FileWriteArray(handle,arrayZ,0,n);
//--- закрываем файл
FileClose(handle);
}
else
Print("Failed to open the file, error ",GetLastError());
}
Hoy estoy demasiado vago y no tengo tiempo... En la documentación, donde ha copiado esta función, incluso escriben array de estructuras. ¿Funciona todo el ejemplo dado en la documentación, si no lo cambias? Compruébalo tú mismo, si no funciona, tienes que escribir en el CD.
Son funciones de serialización. Si desea abrir el archivo en formato legible por texto, escriba la cadena en el archivo.
string s = StringFormat("primera línea: %s\n", primera);
s += StringFormat("segunda línea: %s\n", segunda);
s += StringFormat("tercera línea: %s\n", tercera);
ArchivoEscritura(s);
y así sucesivamente.
Para leer FileRead y analizar cada línea (tienes que jugar, pero tendrás que hacerlo si quieres que sea legible).
Como los niños, por cierto. Esperan de un Funky Christmas un milagro, como que lo haga todo bien, lo llene todo y lo formatee )))).
En general, Feliz Navidad a todos, buena suerte ))))
No utilice los afiladores FileWriteArray y FileReadArray para fines que no están previstos.
Son funciones de serialización. Si desea abrir el archivo en formato legible por texto, escriba la cadena en el archivo.
string s = StringFormat("primera línea: %s\n", primera);
s += StringFormat("segunda línea: %s\n", segunda);
s += StringFormat("tercera línea: %s\n", tercera);
ArchivoEscritura(s);
y así sucesivamente.
Para leer FileRead y analizar cada línea (tienes que jugar, pero tendrás que hacerlo si quieres que sea legible).
Como los niños, por cierto. Esperan de un Funky Christmas un milagro, como que lo haga todo bien, lo llene todo y lo formatee )))).
En general, feliz Navidad y feliz Navidad a todos )))).
¿Puedes decirme si es posible evitar la importación de un array bidimensional desde el csv. extrayendo un array tridimensional (o bidimensional) desde el indicador al EA?
C ¿ConsideraFileReadDouble una matriz bidimensional, si es así cómo?
En general, ¿qué operación debe utilizarse para convertir una matriz csv en una matriz?
En general, no entiendo cómo, por ejemplo, tomar un ejemplo
//--- прочитаем данные из файла
for(int i=0;i<size;i++)
{
time_buff[i]=(datetime)FileReadDouble(file_handle);
ma_buff[i]=FileReadDouble(file_handle);
}
cómo esto, escribe los mismos datos en el arraytime_buff[i]yma_buff[i]
ejemplo de https://www.mql5.com/ru/docs/files/filereaddouble
Y si tengo un array bidimensional, cómo puedo organizar la enumeración.
Si utilizoFileReadString, necesito especificar la longitud de la cadena, necesito saber el número de dígitos en la cadena, no las celdas?
Aparentemente, debería usarFileReadNumber pero es demasiado raro
¿Puedes decirme si es posible evitar la importación de un array bidimensional desde el csv. extrayendo un array tridimensional (o bidimensional) desde el indicador al EA?
C ¿ConsideraFileReadDouble una matriz bidimensional, si es así cómo?
En general, ¿qué operación debe utilizarse para convertir una matriz csv en una matriz?
En general, no entiendo cómo, por ejemplo, tomar un ejemplo
//--- прочитаем данные из файла
for(int i=0;i<size;i++)
{
time_buff[i]=(datetime)FileReadDouble(file_handle);
ma_buff[i]=FileReadDouble(file_handle);
}
cómo esto, escribe los mismos datos en el arraytime_buff[i]yma_buff[i]
ejemplo de https://www.mql5.com/ru/docs/files/filereaddouble
Y si tengo un array bidimensional, cómo puedo organizar la enumeración.
Si utilizoFileReadString, necesito especificar la longitud de la cadena, necesito saber el número de dígitos en la cadena, no las celdas?
Aparentemente, debería usarFileReadNumber pero es demasiado raro
Y por favor, dime, cuando hablamos de escribir un array FileWriteArray(), ¿cómo intentaste leer lo que estaba escrito?
string path=InpDirectoryName+"//"+InpFileName;
//--- откроем файл
ResetLastError();
int file_handle=FileOpen(path,FILE_READ|FILE_BIN);
if(file_handle!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
FileReadArray(file_handle,arr);
//--- получим размер массива
int size=ArraySize(arr);
//--- распечатаем данные из массива
Print(" = ",arr[0][0]," = ",arr[1][1]," = ",arr[2][2]);
Print("Total data = ",size);
//--- закрываем файл
FileClose(file_handle);
}
else
Print("File open failed, error ",GetLastError());
2017.01.09 17:20:40.609 TorFid_v02 (EURUSD,H1) Total data = 1020100
Entiendo lo que falta, la conversión inversa a un array 2D, pero no entiendo cómo
A menos que, por supuesto, lo haya guardado correctamente.
{
for(int q=1; q<ARRAY_SIZE_X-1; q++) // Перебор по периоду, колонка X
{
arr[q][z]=NormalizeDouble(sm.d[q+1].m[nBar-z],5); // M(I) SMA
}
}
WriteData(1000);
//| Запись n элементов массива в файл |
//+------------------------------------------------------------------+
void WriteData(const int n)
{
//--- откроем файл
ResetLastError();
int handle=FileOpen(path,FILE_READ|FILE_WRITE|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
//--- запишем данные массива в конец файла
FileSeek(handle,0,SEEK_END);
FileWriteArray(handle,arr,0,n);
//--- закрываем файл
FileClose(handle);
}
else
Print("Failed to open the file, error ",GetLastError());
}