错误、漏洞、问题 - 页 763

 
x100intraday:

...如果幅度点被绑定到极值(特殊情况)或一般的图表坐标--价格/时间,那么 "规模 "被绑定到什么,我想知道?如果在编写时有一些确切的刻度值被倒入模板...或每一栏的点数,它不允许在新的时段恢复原来的轮廓。只有第一个点的精确坐标被保留。粗略地说,基于将点锚定在明确而简单的坐标上的模式更可靠。

第一点是价格和时间,第二点是时间,价格的计算考虑了n/b的比例。

我不知道模板里写的是什么,我想它应该有所有4个值:2倍,第一点的价格,规模。

那么如果有缺失的酒吧,我想可能会有问题。

 
Silent:

这不是一个清除问题,而是一个创造问题 :)

我有一个循环错误的脚本,也做了同样的事情。打印了这个循环,甚至在通过"专家列表"强行删除了这个脚本之后,也是如此,直到它弹出一个错误。

不知道为什么会出现创建错误?

我创建的时候没有循环,我不需要3个对象。

我只是为每一个人做。

if(ObjectFind(0,_name)!=0)//если не нашли создаем
     {
      ObjectCreate(0,_name,OBJ_RECTANGLE,0,_begin_time,_open,_end_time,_close);
         ObjectSetInteger(0,_name,OBJPROP_STYLE,STYLE_SOLID);
         ObjectSetInteger(0,_name,OBJPROP_WIDTH,Width);
         ObjectSetInteger(0,_name,OBJPROP_BACK,_Top);
         ObjectSetInteger(0,_name,OBJPROP_FILL,_BG);
         ObjectSetInteger(0,_name,OBJPROP_SELECTED,false);
         ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color);
     }
else //если нашли модифицируем
     {
      ObjectMove(0,_name,0,_begin_time,_open);
      ObjectMove(0,_name,1,_end_time,_close);
      ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color);
     }

总的来说,第一批线索正在出现,但现在判断还为时过早。

 

你在代码中检查对象的创建 吗?

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
kPVT:

我不明白为什么会出现创建错误?

...

因为。
kPVT

...

对象被删除,但又重新创建,并继续 "摇摆",好像指标仍在运行。

如果手动删除,它们会以相同的名字再次创建,并随着新的蜱虫的到来不断 "移动"。

...

按照我的理解,该指标在每一个刻度 上都会搜索它们,并创建或修改。

也许:如果已经存在并修改了--没有什么可做的(阻止)?

 
alexvd:

你是否在代码中检查了对象被创建 的事实?

沉默不语
也许:如果已经有了并修改了--没有什么可做的(块)就会丢失?

原因如下。

如果你从指标#2获得指标手柄#1,它不会完成指标#1的删除,直到你删除指标#2。

如果有缓冲结构,它们会被删除,但图形对象仍然保留。

这里有两个用于测试的指标。

1.我们先附加test_del_obj,然后是test_id。

2.我们删除test_del_obj - test_del_obj的立方体仍然存在。

3.删除test_id -立方体被删除,我们在日志中看到,只有现在test_del_obj指标的deinit被执行。

附加的文件:
 

另一个问题。

附在图表上的指标手柄是唯一的吗?

如果你通过添加test_del_obj指标句柄的定时轮询来改变test_id指标,你可以看到每一个请求的值都增加1。

附加的文件:
 

ArrayResize()不能正确工作

当减少一个动态数组的 大小时,ArrayResize()从数组的错误一侧修剪元素。

代码。

   double Arr[];
   ArrayResize(Arr,5);
   Arr[0]=101;
   Arr[1]=102;
   Arr[2]=103;
   Arr[3]=104;
   Arr[4]=105;   
   Print("Начальный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3],":",Arr[4]);
   ArraySetAsSeries(Arr,true);
   ArrayResize(Arr,4);
   Print("Обрезанный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3]);

结果。

2012.07.04 21:28:53     Ind2 (EURUSD,H4)        Обрезанный массив: 104.0:103.0:102.0:101.0
2012.07.04 21:28:53     Ind2 (EURUSD,H4)        Начальный массив: 101.0:102.0:103.0:104.0:105.0

在MetaTrader 4中有相同的代码和结果。

2012.07.04 21:28:35     ind2 EURUSD,H4: Обрезанный массив: 105:104:103:102
2012.07.04 21:28:35     ind2 EURUSD,H4: Начальный массив: 101:102:103:104:105
附加的文件:
Ind2.mq5  2 kb
 

亲爱的MT5开发者。我提请你注意 - 对于外汇服务器来说,最重要的是报价的正确性。因此,调查你的MT5(MetaQuotes-Demo服务器)中的不正确性。

1)改变之前加载的蜡烛图中的成交量- 例如,今天8:00欧元兑美元H4,数值为0:00 - 6171,4:00 - 7049,8:00 - 13361。 而在20:00(在欧洲)加载时,数值为0:00 - 7701,4:00 - 8859,8:00 - 16306。一般来说,你不难发现,在讲俄语的情况下,音量是会被拧起来的。由于我有幸不仅代表自己,而且应同志们的要求发言,所以我说--对于那些用数量和其积累的模式的人来说,这是很令人沮丧的。

2)让我们把Alpari MT4放在左边,Metaquotes MT5放在右边,惊奇地发现Metaquotes的分钟数比Alpari的关闭时间早得多。我们用time.windows.com和我们手上的时钟检查--metaquotes服务器的时间正在提前运行!- 点子交易者在这里抱怨--交易中存在着重要的随机来源。

3)一个普遍的离谱的愿望--我们能不能使出价和要价都能被保存和查看,分别和/或联合。有人问我,但我意识到这是不现实的。据我所知,在MT3中,一般来说,在买入和卖出之间有一些东西,它可能在于历史。 现在只有买入。

 
MoneyJinn:

ArrayResize()不能正确工作

这就对了。AsSeries只是一个标志。
 
TheXpert:
一切都是正确的。AsSeries只是一个标志。

请看ArraySetAsSeries(Arr,true) 影响的数组元素的 行为,以及 它在4.D中的工作原理。

我想补充的是,在2011年底,一切工作都是正确的,因为我写了关于这个主题的代码,现在已经不起作用了。