为什么新闻指标在Windows 7中不起作用? - 页 3

 
请看我的个人邮件,但只是本周的。
 

这就是它应该有的样子吗?

附加的文件:
news_1.mq4  18 kb
 
Abzasc:

这就是它应该有的样子吗?


它看起来像这样)只是看起来你在每个子窗口都有重复的行标签。
 
alexx_v:
嗯,大致如此)只是你似乎在每个子窗口都有重复的线字。

那么为指标打开一个单独的窗口就更容易了 :) 我不知道在哪里改,我明天再试试。

也像米切克一样思考。该文件现在被称为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);  
}

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

升级

错过了一个地方,虽然成功了:)

附加的文件:
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-"+кастыль+".csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);

似乎是有效的,只要我们能用这个办法就可以了。

---

现在它在做所有货币的新闻,旧的过滤器已经不起作用了。