函数StrToTime导致错误4051 - 页 3

 
StrToTime和StringToTime函数 是一样的。
RaptorUK:
为什么我想与mql5兼容? 我在为MT4使用mql4代码。

我没有说你必须这样做。
 
RaptorUK:
调用StrToTime() 之前重置最后的错误(),然后在之后调用GetLastError() . . StrToTime()不应该导致错误,但它确实导致了错误 . . . 这是一个错误。 类似的东西已经被确认并修复 :https://www.mql5.com/en/forum/149475/page2


文档中是否有任何地方写明StrToTime()使用错误处理程序?

如果没有,那么就有

1) 没有理由去检查它

2)没有理由期望返回的值与StrToTime()函数的结果有任何关系。

另外,Err 4051是什么意思?无效的地段数量?????

 
graziani:


文档中是否有任何地方写明StrToTime()使用错误处理程序?

如果没有,那么就有

1) 没有理由去检查它

2) 没有理由期望返回的值与StrToTime()函数的结果有任何关系。

另外,Err 4051是什么意思?无效手数?????

这个错误可以由许多函数 产生,甚至那些不返回值的函数。

err_invalid_function_paramvalue4051无效的函数参数值。
 

你能给我看一下文档中的参考资料,其中提到StrToTime()使用错误处理程序,并且在函数 完成后你应该通过调用GetLastError()来检查它是否成功

 

无论如何,有一件事我们是一致的,所以让我们为它制造一些噪音。

强制要求EA源代码中外部/输入变量定义后的注释与策略测试器中 专家属性中的变量定义一样可见,这是对程序员的傲慢、无礼和不尊重MQ没有权利强加这样的规则,迫使用户浪费时间去修改大量的源代码,改变注释和源代码的书写习惯,以这样一种非标准的方式。如果他们想要这样的非标准行为,应该使用#pragma指令来实现,因为这是标准和公认的方式。

 
graziani: 应该使用#pragma指令来实现,因为这是标准和公认的方式。
或者更紧凑的 "标准和公认的方式",但仍然由编码者控制
洛克希德
int var; /*!< Detailed description after the member */
int var; //!< Brief description after the member
或QT风格
int var; /**< Detailed description after the member */
 
graziani:

你能给我看一下文档中的参考资料,其中提到StrToTime()使用错误处理程序,并且在函数完成后你应该通过调用GetLastError()来检查它是否成功

没有,我不能。

类似的情况已经用TerminalInfoString()解决了 ......我已经提到了。 但我明白你的意思,如果用户正确使用GetLastError(),就不会出现 "错误"。
 
graziani:

无论如何,有一件事我们是一致的,所以让我们为它制造一些噪音。

我们同意的事情可能不止一件
 
RaptorUK:
我们同意的事情可能不止一件

似乎是这样。你可以创建一个 俱乐部
 
RaptorUK: 我为什么要与mql5兼容? 我在为MT4使用mql4代码。
graziani: Str vs. String, 你应该使用新的函数,因为它们和MQL5中的函数一样,要有源兼容性。
mq4的文件已经更新。它们都在mt4中。https://docs.mql4.com/convert/StrToTimehttps://docs.mql4.com/convert/stringtotime