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

 
Candid:

指标的演示版不能启动。通过右击,根本不提供测试,通过双击,然后按 "测试 "按钮,测试器被加载,但对 "开始 "按钮根本没有反应。战略测试员的日志仍然是空白的。专家顾问启动。建立555。


在558中,有一个微小的变化,如果在描述的过程中,双击关于装载和下一个关于卸载指标的记录出现在总日志中,现在关于卸载的记录没有出现。此外,该指标现在显示在测试器中,没有提到 "市场 "文件夹。但测试员的日志仍然是原始的。

据我所知,没有人处理测试指标的演示版本的问题,这似乎是对专家顾问测试中寻找错误的一种呼应。也许,通过测试指标 会更容易找到错误?

 
stringo:

IndicatorCounted()函数最初是一个拐杖。谁在三个方面编制过指标,就会明白我的意思。

我们已经找到了一个优雅的解决方案,即在函数OnCalculate中使用参数prev_calculated和返回计算条数的5个。而这个解决方案现在已经转移到了新的四个



很久以前的事了, 但仍然很好 :)
 
Candid:
测试指示器会不会让我们更容易找到故障?
会有指标测试,但不是现在。但它会的。
 
由于OBJPROP_ANCHOR的输入,Kim的对象创建 功能似乎已经过时了。我现在要检查一下,但在图形方面仍有一些问题。我以后会试着把所有的细节和例子贴出来。
 
stringo:

我重复一遍。我们正像在五号航站楼所做的那样。请善意地再应用一个锚点--指定对象的 "锚 "点位于对象的什么位置。在你的例子中,就是物体的右上角。




所以,ObjectSet函数在新版本的终端中的工作方式与旧版本不同。我们将不得不对所有使用图表输出 的专家顾问系统做一些改变。

在以前的版本中,如果我们选择ObjectSet(Name,OBJPROP_CORNER, 1);
,"锚 "点会自动变成在物体的右上角。你打算离开这里吗,为了兼容?

 
alexvd:

你是否尝试过在图表上投出EA(不是在策略测试器中)?记录本上有任何信息吗?


PS。问题得到了解决。我们将等待下一个版本的修复。

1.不,我没有尝试将EA附在图表上。我在测试者的日志中没有看到任何条目,除了其设置的标准输出。因此,我从EA的init()得到了输出,但在日记中没有从EA的start()得到输出。

2.迅速地。谢谢你,我们期待着它。

 
Lion.Fx:

事实证明,ObjectSet函数在新版本的终端中的工作方式与旧版本不同。我们将不得不对所有使用图表信息输出的专家顾问系统进行一些改变。

在以前的版本中,如果我们做:ObjectSet(Name,OBJPROP_CORNER, 1);
锚点被自动放置在物体的右上角。你不打算离开这里吗,为了兼容?

嗯,是的,最好是保留旧版本中的默认锚定。
 
刚刚检查了金的功能,它已经忠实地服务了许多年 :)(再次感谢他)。
添加OBJPROP_ANCHOR参数,就可以把物体放在它们的位置上(没有不清楚的坐标移动)。

谢谢你添加ANCHOR。它更方便,尽管你必须用它来解决很多事情。

这里有一个函数。

//+------------------------------------------------------------------+
void SetLabel(string nm, string tx, string ft,color cl, int xd, int yd, int cr=0, int anch=0, int fs=9) {
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
  ObjectSetText(nm, tx, fs,ft);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_XDISTANCE, xd);
  ObjectSet(nm, OBJPROP_YDISTANCE, yd);
  ObjectSet(nm, OBJPROP_ANCHOR, anch);   //<----------------
  ObjectSet(nm, OBJPROP_CORNER   , cr);
  ObjectSet(nm, OBJPROP_FONTSIZE , fs);
}
//+------------------------------------------------------------------+

并呼吁。

  SetLabel("Hello",  "Hello" ,  FontType, FontColor,  20, 20, 3, 1, FontSize);

 
Lion.Fx:

事实证明,ObjectSet函数在新版本的终端中的工作方式与旧版本不同。我们将不得不对所有使用图表上输出的信息的EA做一些修改。

在以前的版本中,如果我们做:ObjectSet(Name,OBJPROP_CORNER, 1);
然后,"锚 "点会自动转到物体的右上角。你打算离开这里吗,为了兼容?

这是有道理的。让我们看看我们能做什么。

PS。已经完全这样做了。

 
我在 ServiceDesk #907205 对打开的 应用程序 做了一个补充,并附上了一个代码来检查。