MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 46

 
540已经出来了...
 
VOLDEMAR:
伙计们,如果你们有时间,请把最新版本的网络安装发给我,谢谢。


这里是540。

来自C:\Users\XXXXX\AppData\Roaming

 
ENUM_TIMEFRAMES让你选择时间框架的质量,是否所有的时间框架都能工作,或者只有标准的MT4时间框架????。
 

升级到540后。中东地区已经失守。终端是用/portable开关启动的。我也应该从/portable开关开始。从终端来看,ME并不是以F4开始的。


该截图从终端打开了数据目录。它是正确的,而且编辑已经到位了。

重新启动终端后,在终端中按F4键打开ME。

有趣的是这是如何运作的。

  1. 终端无法看到更新。重新启动终端。1.
  2. 终端显示已下载更新。重新启动终端。2.
  3. 终端加载并要求进行修改。我允许它。终端自己重新启动。3.
  4. 自动重启后,终端忘记了它的设置,以随机配置打开 - 没有以前的窗口、指标和模板。 重新启动终端。4.
  5. 重新启动后,终端 "回忆 "以前的设置:它打开所需的图表,并带有指标和模板,但...终端 "丢失 "了编辑,并在日志中写道没有找到。我重新启动终端。5.
  6. 终端加载,现在一切都很好--我的图表、我的设置、我的模板、我的指标。ME被发现并运行。6.
终端共重启六次,以更新和继续相同的模式。
 
artmedia70:

升级到540后。中东地区已经失守。终端是用/portable开关启动的。我也应该从/portable开关开始。从终端ME不以F4开始。


谢谢你的询问,我们会查清楚的。
 
extern string     symbol        = ""  ;

void OnTick()
  {
string sy = sym();
double ask = MarketInfo(sy,MODE_ASK);
  }

string sym    ()
{ 
 string symm = symbol;
 if ( symm == "" ) 
 symm=Symbol () ;
 
 return (symm);

淹没在信息之中

 

我在此表示歉意...不是所有的控制路径都会返回一个值,这个警告是什么意思?

因为在这个测试版中编译时出现了这样的漆膜,是什么,关于什么,我不明白。

谢谢。

 
St0nE:

我在此表示歉意...不是所有的控制路径都会返回一个值,这个警告是什么意思?

因为在这个测试版中编译时出现了这样的漆膜,是什么,关于什么,我不明白。

谢谢。

一些代码算法可以运行的变体可能不会返回一个值。

例如,你有一个Switch()函数,但在默认情况下没有选项:return()应该在哪里。

 

谢谢你的回答,你能不能检查一下可能存在这种错误的一段代码,我似乎无法掌握它......

bool isDodgi(string TypeOrder, int NumBar) // 
{ 
  double Price1=0, Price2=0, Price3=0;

  if (TypeOrder=="BUY") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=Low[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=Low[NumBar];
    }
    if (((Price2-Price3)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  if (TypeOrder=="SELL") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=High[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=High[NumBar];
    }
    if (((Price3-Price1)/(Price1-Price2))>=2) {
      return(true);
    }
  }
}
 
St0nE:

谢谢你的回答,你能不能检查一下可能存在这种错误的一段代码,我似乎无法掌握它......

bool isDodgi(string TypeOrder, int NumBar) // 
{ 
  double Price1=0, Price2=0, Price3=0;

  if (TypeOrder=="BUY") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=Low[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=Low[NumBar];
    }
    if (((Price2-Price3)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  if (TypeOrder=="SELL") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=High[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=High[NumBar];
    }
    if (((Price3-Price1)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  ТУТ КОСяК ( return() где?)
}