Почему не работает индикатор новостей на Виндоус 7? - страница 3

 
см. личку, но он только на эту неделю
 

он так и должен выглядеть?

 

Файлы:
news_1.mq4  18 kb
 
Abzasc:

он так и должен выглядеть?


Ну примерно ) Только у Вас похоже надписи линий дублируются в каждом подокне.
 
alexx_v:
Ну примерно ) Только у Вас похоже надписи линий дублируются в каждом подокне.

тогда проще отдельное окно для индикатора открыть :) не знаю где менять, завтра попробую повозиться.

Тоже думаю, как Mischek. Файл теперь называется Calendar-08-01-2010.csv, соответственно, каждую неделю придется здесь копировать новый адрес

и в коде менять в этом куске

// -----------------------------------------------------------------------------------------------------------------------------
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);  
}

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

 upgrade

Пропустил в одном месте, хоть и работал :)

Файлы:
news_2.mq4  18 kb
 

не-не-не..

// -----------------------------------------------------------------------------------------------------------------------------
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);  
}

// -----------------------------------------------------------------------------------
так вроде надо делать, а то получается мы считываем данные и пишем их в news.csv, а потом пытаемся считывать с Calendar-08-01-2010.csv, а разве мы его куда-то сохраняли?
 
Воот, это хорошо, что пропустил ) Ибо мне кажется и не стоит менять, т.к. теперь проще будет сделать "кастыль" - внешнюю переменную, куда писать ручками новую дату в начале новой недели и подставлять в адрес запроса
 
alexx_v:

не-не-не..

так вроде надо делать, а то получается мы считываем данные и пишем их в news.csv, а потом пытаемся считывать с Calendar-08-01-2010.csv, а разве мы его куда-то сохраняли?
А так не работает, я с этого начал :)
 
alexx_v:
Воот, это хорошо, что пропустил ) Ибо мне кажется и не стоит менять, т.к. теперь проще будет сделать "кастыль" - внешнюю переменную, куда писать ручками новую дату в начале новой недели и подставлять в адрес запроса
Да, наверно, самый простой вариант.
 
Abzasc:
А так не работает, я с этого начал :)
Хм. Вернул news.csv - перезапустил - заработало... Чудеса :)
 

вот добавил:

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

и адрес запроса соответственно:

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

вроде работает, пока можно перебиться этим

---

теперь пихает все новости по всем валютам, не работает старый фильтр.

Причина обращения: