Errori, bug, domande - pagina 897

 
Rugyi_cool:
Per favore, ditemi come creare un sondaggio sul forum?

Dove un nuovo argomento c'è una piccola freccia, fare clic su di esso e viene fuori"nuovo sondaggio" scegliere.


sondaggio

 
Zeleniy:

Dove c 'è un nuovo argomento, c'è una piccola freccia, cliccaci sopra e viene fuori"nuovo sondaggio".



Grazie mille per il suggerimento!!!!!!!!!!!
 
Potresti per favore dirmi come cambiare per leggere i dati su una nuova linea, non riesco a trovare il comando per spostare il cursore su una nuova linea, grazie
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
lazarev-d-m:
Potete per favore dirmi come spostarmi per leggere i dati su una nuova linea, non riesco a trovare il comando per spostare il cursore su una nuova linea, grazie
FileSeek().
 
tol64:
FileSeek().

Ho ragione nel supporre che questa funzione può solo spostare il cursore leggendo i caratteri dall'inizio del file? Come può spostare il cursore su una nuova linea in un file come questo

Um... nessun file csv, lo convertirò in txt.

l'ha fatto sembrare come se stesse aprendo un csv con un editor di testo.

File:
News.txt  1 kb
 
lazarev-d-m:
sposta il cursore su una nuova riga del file
Cos'è una nuova linea in un file? Un file ha delle linee? È lineare.
 
sergeev: un file ha delle stringhe?

FILE_LINE_END

Ottenere i flag di finelinea

 
sergeev:
Cos'è una nuova linea in un file? Un file ha delle linee?

Quindi, secondo la mia disposizione dei file, per andare dalla linea 95 alla linea 96, devo conoscere il numero di file nella linea e contare il numero di variabili =(95*(numero di valori nella linea)+1)

È così che funziona? Sembra facile, se ho bisogno di tutti i valori nel file, ma ho bisogno di un file csv per l'archivio delle notizie attuali e future, e ho bisogno di pensare al meccanismo di ricerca delle righe, che i dati corrispondano ai criteri, per esempio solo 95 linee hanno tutti i dati che soddisfano i miei requisiti (EURUSD;2012;12;15;12;30) - se questa linea è trovata, allora il commercio è permesso, ecc.

 
lazarev-d-m:

Quindi, secondo la mia disposizione dei file, per andare dalla linea 95 alla linea 96, devo conoscere il numero di file nella linea e contare il numero di variabili =(95*(numero di valori nella linea)+1)

È così che funziona? Sembra facile, se ho bisogno di tutti i valori nel file, ma ho bisogno di un file csv per l'archivio delle notizie attuali e future, e ho bisogno di pensare al meccanismo di ricerca delle linee, che i dati corrisponderanno ai criteri, per esempio solo 95 linee hanno tutti i dati che soddisfano i miei requisiti (EURUSD;2012;12;15;12;30) - se tale linea è trovata, sono autorizzato a fare trading, ecc.

Si prega di leggere attentamente tutte le operazioni del file. Ha tutto il necessario per navigare nel file.

Provate a sperimentare con questo esempio:

void CountStrings()
  {
   int handle=-1;
   string txt_string="";
   ulong tell_seek=NULL;
//---
   string nm_file="Experiments\Hello.csv";
//---
   handle=FileOpen(nm_file,FILE_READ|FILE_CSV|FILE_ANSI);
//---
   if(handle!=INVALID_HANDLE)
     {
      string s="";
      ulong tseek=0;
      int cnt_Strings=0; // Счётчик строк
      //---
      // Читать пока текущее положение файлового указателя не окажется в конце файла
      while(!FileIsEnding(handle))
        {
         if(_StopFlag) { return; }
         //---
         while(!FileIsLineEnding(handle)) // Считаем всю строку
           {
            if(_StopFlag) { return; }
            //---
            FileReadString(handle);
            //s=FileReadString(handle); Print("s: ",s);
            //---
            tell_seek=FileTell(handle); // Получим положение указателя
            //---
            if(FileIsLineEnding(handle))
              {
               Print("Это конец строки! ",tell_seek);
               //---
               // Переход на другую строку, если это не конец файла
               if(!FileIsEnding(handle)) { tseek=tell_seek+1; }
               //---
               FileSeek(handle,tseek,SEEK_SET); cnt_Strings++;
               //---
               break;
              }
           }
         //---
         if(FileIsEnding(handle)) { Print("Это конец файла! Всего строк: ",cnt_Strings); break; }
        }
      //---
      FileClose(handle);
     }
  }

//---

Ci sono anche parecchi esempi nella Guida, nel codice base e negli articoli. Tutto quello che dovete fare è prenderlo e usarlo. ))

 
Yedelkin:

FILE_LINE_END

Ottenere il segno di finelinea

Ho più o meno capito, il terminale vede un file csv non come una tabella ma come un normale file dove tutte le variabili sono allineate e separate da un separatore, e per orientarsi in esso come in una tabella, ho scritto un piccolo script di esempio per lavorare con i csv come con una tabella, da un punto di vista umano, per quanto strano possa sembrare, oggi / domani mi butterò in CodeBase, penso che molti saranno interessanti

Motivazione: