错误、漏洞、问题 - 页 2242

 
darkangel8733:

你好,我从你那里买了一个EA,"乌龟"而且它在独立模式下不工作,?

我只是说。如果专家顾问使用指标,即使是标准指标,它也应该能够访问它们。我已经介绍过这个经验法则。

 
A100:
要求只有一个--帮助而不是阻碍。如果你认为讨论是不必要的--不要进入讨论......这不是由你来决定的(必要/不必要)--那是行政部门和版主的职责。

我同意,但如果你不喜欢建议,那么你根本不需要回应它,那么就不会有问题......每个人都在这里写下他认为合适的东西,我看到合适的建议,即提供免费的帮助,而不是感激我读过的投诉......好运

 
Konstantin:

我同意,但如果你不喜欢这些建议,你就不需要回应它。

现在,这是合理的建议......谢谢你的建议......我愿意接受
 

怎么说呢?

ArrayFree(SummArr);
ArrayResize(SummArr,57);
Print("SummArr_1=",SummArr[1]);
2018.07.26 02:09:04.566 Pred_Ocenka_02 (Si Splice,M1)   SummArr_1=1190264832

为什么数组的值不是空的(零)?

 
Aleksey Vyazmikin:

怎么说呢?

为什么数组的值不是空的(零)?

如果先确定尺寸,然后再清算呢?

 
Vitaly Muzichenko:

如果先确定尺寸,然后再清算呢?

那么

2018.07.26 02:20:08.482 Pred_Ocenka_02 (Si Splice,M1)   array out of range in 'Pred_Ocenka_02.mq5' (76,27)
它在清除后没有任何尺寸信息。
 
如果
ArrayFree(SummArr);

删除,那么该值也不是空的。该阵列以前没有被使用过。

 

一些胡言乱语,下面是代码的大致切割情况

int SummArr[];

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ArrayFree(SummArr);
   ArrayResize(SummArr,57);
   Print("SummArr_1=",SummArr[1]);
   Print("SummArr_30=",SummArr[30]);   
   Print("SummArr_57=",SummArr[56]);   
  }
//+------------------------------------------------------------------+

在输出方面。

2018.07.26 02:37:58.693 Pred_Ocenka_error (Si Splice,M15)       SummArr_1=1190264832
2018.07.26 02:37:58.693 Pred_Ocenka_error (Si Splice,M15)       SummArr_30=2097181
2018.07.26 02:37:58.693 Pred_Ocenka_error (Si Splice,M15)       SummArr_57=154252694

请检查一下,也许我的终端机已经疯了。

还是说这很正常,一切都应该是垃圾?

 

mql4指标中的代码停止工作了。我怎样才能修复它?

else{// Иначе стрелка создана. Задаём её свойства
 ObjectSetInteger(Open_name,OBJPROP_ARROWCODE,OpenArrowCode);//код стрелки 232 
 ObjectSet(Open_name,OBJPROP_COLOR,ObjColor);//цвет стрелки
}

编辑器说'ObjectSetInteger'--没有一个重载可以应用于函数调用

它已经工作了多年,然后突然停止。不过,这很可惜。


 
Aleksey Vyazmikin:

一些胡言乱语,下面是代码的大致切割情况

在输出方面。

请检查一下,也许我的终端机已经疯了。

或者说这很正常,一切都应该是垃圾?

释放任何动态数组的缓冲区,并将零维的大小设置为0。

在编写脚本和指标时,你可能不经常需要使用ArrayFree()函数,因为所有使用过的内存在脚本停止运行后会立即释放,在自定义指标 中,与数组有关的主要工作是通过访问指标缓冲区进行的,这些缓冲区的大小是由终端的执行子系统自动管理。

如果你需要在复杂的动态条件下自行管理内存,ArrayFree()函数将允许你明确地立即释放你不需要的动态数组所占用的内存

你看到了吗?没有必要。

当然,一旦内存被释放出来,然后你通过调整数组大小再次分配内存,没有人会保证其内容。

使用数组初始化:ArrayInitialize()