Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1116
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Bom tempo, como adicionar uma nova linha ao arquivo.csv acabado, com uma mudança para a 1ª linha - se possível? Ou de alguma outra forma, mas sem recalcular/reciclagem dos dados existentes. A menos que seja permitido atualizar nomes de colunas e linhas
{
int handle= FileOpen(fileName,FILE_CSV|FILE_WRITE," "),x=0,y=0;
Remova FILE_CSV, use FILE_ANSI em seu lugar se você usaro formato"\t", etc.
Remova FILE_CSV, use FILE_ANSI em seu lugar se vocêusar"\t" etc.
Olá, a tarefa é sobrescrever uma matriz bidimensional, em formato BIN, a função irá reconhecer uma matriz bidimensional como entrada?
FileWriteArray
É claro que se lê em duas dimensões. Desculpe, sem ofensa... Não seria mais fácil apenas escrever uma matriz de teste de 2x2 elementos, lê-la e ver?
Os valores vazios NULL são escritos no arquivo.arrayZ é 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());
}
Os valores vazios NULL são escritos no arquivo.arrayZ é 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());
}
Hoje estou muito preguiçoso e não tenho tempo... Na documentação, onde você copiou esta função, eles até mesmo escrevem um conjunto de estruturas. Todo o exemplo dado na documentação funciona, se você não o mudar? Verifique você mesmo, se não funcionar, você tem que escrever para o CD.
Estas são funções de serialização. Se você quiser abrir o arquivo em formato legível em texto - escreva seqüência de caracteres em arquivo.
string s = StringFormat("primeira linha: %s\n", primeiro);
s += StringFormat("segunda linha: %s\n", segunda);
s += StringFormat("terceira linha: %s\n", terceira);
FileWrite(s);
e assim por diante e assim por diante.
Para ler FileReadir e analisar cada linha (você tem que brincar, mas terá que fazê-lo se quiser legibilidade).
Como as crianças, por amor de Deus. Eles esperam de um milagre do Funky Christmas, como se ele fizesse tudo muito bem, enchesse tudo e formatasse )))).
Em geral, Feliz Natal para todos, boa sorte ))))
Não utilize afiadores FileWriteArray e FileReadArray para fins para os quais não são destinados.
Estas são funções de serialização. Se você quiser abrir o arquivo em formato legível em texto - escreva seqüência de caracteres em arquivo.
string s = StringFormat("primeira linha: %s\n", primeiro);
s += StringFormat("segunda linha: %s\n", segunda);
s += StringFormat("terceira linha: %s\n", terceira);
FileWrite(s);
e assim por diante e assim por diante.
Para ler FileReadir e analisar cada linha (você tem que brincar, mas terá que fazê-lo se quiser legibilidade).
Como as crianças, por amor de Deus. Eles esperam de um milagre do Funky Christmas, como se ele fizesse tudo muito bem, enchesse tudo e formatasse )))).
Em geral, Feliz Natal e Feliz Natal para todos )))).
Você pode me dizer se é possível contornar a importação de uma matriz bidimensional do csv. extraindo uma matriz tridimensional (ou duas) do indicador para o EA?
C OFileReadDouble considera uma matriz bidimensional, se sim, como?
Em geral, qual operação deve ser usada para converter uma matriz csv em uma matriz?
Em geral, eu não entendo como, por exemplo, tomar um exemplo
//--- прочитаем данные из файла
for(int i=0;i<size;i++)
{
time_buff[i]=(datetime)FileReadDouble(file_handle);
ma_buff[i]=FileReadDouble(file_handle);
}
como isto, escrever os mesmos dados na matriztime_buff[i]ema_buff[i]
exemplo de https://www.mql5.com/ru/docs/files/filereaddouble
E se eu tenho uma matriz bidimensional, como posso organizar a enumeração?
Se eu usarFileReadString, preciso especificar o comprimento da cadeia, preciso saber o número de dígitos da cadeia, não células, mas dígitos?
Aparentemente, eu deveria usarFileReadNumber, mas é muito estranho
Você pode me dizer se é possível contornar a importação de uma matriz bidimensional do csv. extraindo uma matriz tridimensional (ou duas) do indicador para o EA?
C OFileReadDouble considera uma matriz bidimensional, se sim, como?
Em geral, qual operação deve ser usada para converter uma matriz csv em uma matriz?
Em geral, eu não entendo como, por exemplo, tomar um exemplo
//--- прочитаем данные из файла
for(int i=0;i<size;i++)
{
time_buff[i]=(datetime)FileReadDouble(file_handle);
ma_buff[i]=FileReadDouble(file_handle);
}
como isto, escrever os mesmos dados na matriztime_buff[i]ema_buff[i]
exemplo de https://www.mql5.com/ru/docs/files/filereaddouble
E se eu tenho uma matriz bidimensional, como posso organizar a enumeração?
Se eu usarFileReadString, preciso especificar o comprimento da cadeia, preciso saber o número de dígitos da cadeia, não de células?
Aparentemente, eu deveria usarFileReadNumber, mas é muito estranho
E por favor me diga, quando falamos em escrever um array FileWriteArray(), como você tentou ler o que foi 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
Entendo o que falta, a conversão inversa para uma matriz 2D, mas não entendo como
A menos, é claro, que eu o tenha guardado corretamente.
{
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());
}