对MQL5的祝愿 - 页 117

 
HideYourRichess писал(а)>>
用ipod做交易?- 看在上帝的份上,对不起,我应该马上提醒你。请写,陈述任何废话--我不会说一个字。现在一切都弄清楚了--我将以理解和耐心接受。用iPod进行交易!- aaaaaghit....

谢谢您的同情,祝您好运,至少不要有什么进展。

 

刚刚在MT4中遇到了一个问题,请确保在MT5中不会出现这种情况(还没有检查)。


在最开始(init之前),数组被设置。

xsell[3]。

xbuy[3]。


在这之前是一个外部变量。

外部int Max_Array_Size = 13;


在start()循环中。

ArrayResize(xsell, Max_Array_Size)。

ArrayResize(xbuy, Max_Array_Size)。


然后是for()的循环。


for(int kss= Max_Array_Size; kss>0; kss--) {

xbuy[kss] = . . .;

. . .

}


在销售(自定义指标)和采购模块中使用了相同的方案--也就是说,变量是不同的。

但原则是一样的。起初,我为销售写了所有的东西,并将其汇编成册--一切都很好,没有问题。然后我复制了

编译的时间要长得多,而且在不同的时间段切换的时候

时间框架的转换也需要更长的时间。残疾销售--没有任何变化,制动。

只留下了销售--跑得快。编译器没有抱怨,只是花了更多的时间来运行。

重看了所有看起来可疑的东西,在购买时重写了一些部分--滞后!...

结果发现问题出在数组维度上:13 => 0-12,而在for-loop中我也试图给它输入13!


修理后。

ArrayResize(xsell, Max_Array_Size+1)。

ArrayResize(xbuy, Max_Array_Size+1)。


销售和采购都按规定进行了汇编,时间框架的转换也变得更快。

但这个错误应该是在编译过程中弹出的。在这种情况下寻找原因

要找到原因一点都不容易(你甚至可能没有意识到这个问题)。

而且不清楚为什么在销售模块中一切都运行得很顺利。

 
chief2000 писал(а)>>

但这个错误应该是在编译过程中发现的。在这种情况下寻找原因一点也不容易(你可能不知道有问题)。

编译器不能也不应该根据定义跟踪变量的值。

而且也不清楚为什么在销售模块中一切都运行得很顺利。

因为一个错误比两个或更多的错误处理起来要快。

 
fwiq >> :

编译器不能也不应该根据定义跟踪变量的值。

如果真的是这样,那就糟糕了。

毕竟,这实际上与访问一个没有预先定义的变量是一样的。

fwiq 写道>>

因为一个错误比两个或更多的错误处理起来更快。

不,是别的原因--我告诉你,当只剩下销售模块时,没有问题。

而当我删除销售,只留下购买时,出现了问题。差异是非常明显的,尽管这两个模块

是绝对相同的,除了一些操作改为反向(>/<,High[]/Low[]等)。

 
chief2000 писал(а)>>

不,是别的原因--我告诉你,当只留下销售模块时,没有问题,但当我删除销售,只留下购买时,就有问题了。差异非常明显,除了一些操作改为反向操作(>/<,High[]/Low[]等),两个模块绝对相同。

也许,这不是变量或数组的定义问题。在MT4指标中,当你开始以编程方式添加线,并改变所反映的数组的名称时,你应该仔细和用心地观察。有时会出现混乱,线路可能无法反映,或者计算可能会挂断,就像这种情况。只有一种治疗方法,就像笑话中所说的 "你只要出去和进来,一切都会成功"。

 

如果从字面上看,超载也没有帮助。

总之,正是卖和买之间的区别帮助我知道有一个问题......。

幸福是一种变相的祝福 :)

 
我还有一个问题。我不能在指标上运行MQL5调试器。它在脚本和专家顾问上起作用,但在任何指标上都不会停止,不能通过步骤。我不知道是否有任何未被记录的特殊性,如果你知道,请告诉我。
 
fwiq >> :
我还有一个问题。我不能在指标上运行MQL5调试器。在脚本和专家顾问系统上一切正常,但在任何指标上都不会停止,不能通过步骤。我一直没有接触过这种东西,我开始接触这种东西。

一个星期前,处理者写道,这是一个想法,在调试器指数上的调试将在以后发挥作用

 

在MT4中,总是 出现错误,因为Ask或Bid或其他(Close,Open等)收集在逗号之后。

大量的数字(如1.4323111111111111)。因此,我们不得不添加"NormalizeDouble(Bid,Digits);"。

而这可以在MT层面上解决一次。

 

请在 ObjectFind和 ObjectDelete函数中加入 与掩码(如.NET)一起工作的能力*,?

当然,原则上只有 ObjectFind 可以使用。如果有必要保持向后兼容,那么前一个函数应该保持不变,而这组函数应该用例如 ObjectFindM(多重搜索)作为补充

例如:我们需要找到以 "Signal "开头的文本标签。

实现:返回第一个找到的对象的名称(或句柄,但这需要其他函数能够处理)。

符号ObjectFindM("Signal*")

例如:你必须从 "0 "窗口中只删除那些以 "信号 "开头的文本标签。

符号ObjectDelete(0,"Signal*")