Perché l'indicatore delle notizie non funziona in Windows 7? - pagina 3

 
vedere la mia email personale, ma è solo per questa settimana
 

è questo l'aspetto che dovrebbe avere?

File:
news_1.mq4  18 kb
 
Abzasc:

è questo l'aspetto che dovrebbe avere?


Sembra così) Solo che sembra che tu abbia etichette di linea duplicate in ogni sottofinestra.
 
alexx_v:
Beh, all'incirca ) Solo che sembra che tu abbia le lettere di linea duplicate in ogni sottofinestra.

Allora è più facile aprire una finestra separata per l'indicatore :) Non so dove cambiare, proverò domani.

Anche pensando come Mischek. Il file è ora chiamato Calendar-08-01-2010.csv, quindi dovrò copiare un nuovo indirizzo qui ogni settimana

e cambiare il codice in questo pezzo

// -----------------------------------------------------------------------------------------------------------------------------
string LoadNews(datetime curr_time)
{ 
  bool reload = false;
  int pos = 0, pos1 = 0;
  int file = 0, file2 = 0;
  string str = "", str2 = "";
// ---------- название ФАЙЛА
  file = FileOpen("Calendar-08-01-2010.csv", FILE_BIN|FILE_READ);
  if(file!=-1)
  {
    FileClose(file); 
// ---------- название ФАЙЛА
    str2 = ReadFile("Calendar-08-01-2010.csv");
        
    pos = StringFind(str2, "\n");
    int cache_time = StrToTime(StringSubstr(str2, 0, pos));
    str2 = StringSubstr(str2, pos+2);

    if(cache_time<=curr_time-update*60) reload = true;
  }
  else reload = true;

  LastUpdate = curr_time;
  if(reload)
  {
// ---------- АДРЕС
    str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-08-01-2010.csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);
    if(str == "") return(0);
    Str_Replace("\n\n", "\n", str);
    str = StringTrimRight(str);

// ---------- название ФАЙЛА
    WriteFile("Calendar-08-01-2010.csv", TimeToStr(curr_time, TIME_DATE|TIME_SECONDS)+"\n"+str);
  }  
  else
    str = StringTrimRight(str2);
  return (str);  
}

// -----------------------------------------------------------------------------------

aggiornamento

Mancato in un punto, anche se ha funzionato :)

File:
news_2.mq4  18 kb
 

No, no, no...

// -----------------------------------------------------------------------------------------------------------------------------
string LoadNews(datetime curr_time)
{ 
  bool reload = false;
  int pos = 0, pos1 = 0;
  int file = 0, file2 = 0;
  string str = "", str2 = "";
// ---------- название ФАЙЛА
  file = FileOpen("news.csv", FILE_BIN|FILE_READ);
  if(file!=-1)
  {
    FileClose(file); 
// ---------- название ФАЙЛА
    str2 = ReadFile("news.csv");
        
    pos = StringFind(str2, "\n");
    int cache_time = StrToTime(StringSubstr(str2, 0, pos));
    str2 = StringSubstr(str2, pos+2);

    if(cache_time<=curr_time-update*60) reload = true;
  }
  else reload = true;

  LastUpdate = curr_time;
  if(reload)
  {
// ---------- АДРЕС
    str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-08-01-2010.csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);
    if(str == "") return(0);
    Str_Replace("\n\n", "\n", str);
    str = StringTrimRight(str);
    WriteFile("news.csv", TimeToStr(curr_time, TIME_DATE|TIME_SECONDS)+"\n"+str);
  }  
  else
    str = StringTrimRight(str2);
  return (str);  
}

// -----------------------------------------------------------------------------------
Penso che sia quello che dovremmo fare, altrimenti leggiamo i dati e li scriviamo in news.csv, e poi proviamo a leggere da Calendar-08-01-2010.csv, ma lo abbiamo salvato da qualche parte?
 
Ecco, è un bene che mi sia sfuggito ). Perché non credo che valga la pena cambiare, perché ora sarebbe più facile fare una "stampella" - una variabile esterna, dove scrivere la nuova data all'inizio della nuova settimana e sostituirla a mano nell'indirizzo della query
 
alexx_v:

No, no, no...

Penso che sia quello che dovremmo fare, altrimenti leggiamo i dati e li scriviamo in news.csv, e poi proviamo a leggere da Calendar-08-01-2010.csv, ma lo abbiamo salvato da qualche parte?
Non funziona così, è così che ho iniziato :)
 
alexx_v:
Ecco, è un bene che mi sia sfuggito ). Perché non credo che valga la pena cambiare, perché ora sarebbe più facile fare una "stampella" - una variabile esterna, dove scrivere la nuova data all'inizio della nuova settimana e sostituirla a mano nell'indirizzo della query
Sì, probabilmente l'opzione più semplice.
 
Abzasc:
Non funziona così, è da lì che ho iniziato :)
Restituito news.csv - riavviato - ha funzionato... Meraviglioso :)
 

ecco qui:

extern string кастыль= "08-01-2010";

e l'indirizzo della query di conseguenza:

str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-"+кастыль+".csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);

sembra funzionare, finché possiamo andare avanti con questo.

---

Ora sta facendo tutte le notizie per tutte le valute, il vecchio filtro non funziona.