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

 
560中修复的东西在562中不起作用。OBJ_EDIT 上面的按钮又不工作了。
 
pro_:
560中修复的东西在562中不起作用。放在OBJ_EDIT上的按钮又不工作了。
请尝试563版本。
 
Renat:
请试试563版本。
在优化或测试过程中不在可视化模式下,如果代码中存在警报或声音事件警报--它们都会发出声音,并弹出警报窗口。也许在测试器中,除了视觉模式外,最好忽略它们?
 
artmedia70:
在优化或测试过程中不在可视化模式下,如果代码中存在警报或声音事件警报--它们都会发出声音并弹出警报窗口。在测试器中,除了视觉模式外,是否最好忽略它们?


我在代码中插入它们,自己绕过它们

void CreateOrSetLine(const string NameObj,datetime Time1,double Price1,datetime Time2,double Price2,color cColor)
  {
   if(IsOptimization()==true)
      return;
   if(ObjectFind(NameObj)==-1)
     {
      ObjectCreate(NameObj,OBJ_TREND,0,Time1,Price1,Time2,Price2);
      ObjectSet(NameObj,OBJPROP_RAY,false);
      ObjectSet(NameObj,OBJPROP_BACK,false);
      ObjectSet(NameObj,OBJPROP_COLOR,cColor);
     }
...
... в т ч  алерты
... и прочие сообщения - которые на оптимизации не нужны

и так получаю более быстродействующий код
 
 
YuraZ:

进入代码并绕过自己

我明白这一点。这个问题是关于其他方面的。在密集使用图形和严重优化的情况下,处理ifs需要多少时间。而且你可以简单地让测试者在非视觉模式下忽略图形、警报和声音的输出。
 
artmedia70:
是的,这很清楚。这个问题是不同的。在密集使用图形和严重优化的情况下,需要多少时间来处理ifs。而你可以直接让测试者在非视觉模式下忽略图形、警报和声音的输出。

我部分同意,但如果测试器中没有代码,你可以用一个条件过渡来处理,问题就不那么大了。

在任何情况下,它都会节省处理速度

只是在你的建议中,测试人员会爬过代码,只绕过图形和声音输出,而在我的版本中,输出立即发生。

在测试过程中不需要的代码块,而我,作为作者,更知道什么可以跳过,什么不可以。

而这种方法要快得多。

测试人员处理整个代码块的速度比你直接到作者确切知道不需要进一步优化的地方要快,这不是一个事实。

 
Renat:
请试一下563版本。

是的,谢谢你,它被及时修复了。但不幸的是,OBJ_EDIT 有一个新的令人难以理解的行为。我将尝试解释。
我有两个OBJ_EDIT 一个在另一个上面由于绘图顺序尚未固定,我们必须玩弄对象的名称。嗯, 我们已经习惯 了。
下面的被称为 "1_abc",上面的被称为 "abc"。在最初绘图时,一切都很正确。在程序重绘时(例如改变尺寸),上方的 "abc "消失了(进入下方)。而如果你点击它所在的地方,他的领域就会被突出显示,尽管他本人并不可见。试着给其他名字以改变绘图顺序,仍然是同样的行为......出现在最后的第563次构建中,在此之前它是好的。
 

563的构建不工作。

ObjectSetString(chartid,NAME,OBJPROP_TOOLTIP,tooltip);

同样的代码在5中运行良好。

 
pro_:

两个OBJ_EDITs 一个在另一个上面由于渲染顺序还没有固定,我们必须玩弄对象的名称。


它怎么会不固定呢?现在,这些物体 是严格按照时间顺序而不是按照字母顺序绘制的。它没有进入构建吗?

请提供一个你的代码的例子来说明问题

 
Wahoo:

563的构建不工作。

同样的代码在Build 5中工作正常。


是的,它正在工作。

检查纯图形,也许是因为模板的错误。