新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1744

 
请教谁不难,mql5,有时专家顾问需要写下时间值,以便以后读取,但可能出现崩溃等情况,时间会被抹去。我可以在终端的全局变量 中写入数据时间,但它是双倍的,没有问题吗?谢谢你!
 
Fast235 #:

对于专业人员的帮助,问得更快,即可以说是请家教。相信我,这更便宜、更快捷。

但你需要一个热心的专业人员来辅导,而不仅仅是一个深度的专业人员,你需要正确解释基础,仅此而已。其他10k页。异质信息....。

谢谢你的建议!

 

你能告诉我哪种方法更好:

把所有东西都写在一个OnTick块里,还是按函数分开?也就是说,要在OnTick只有函数调用

(我的问题主要是关于代码优化和任何前景和陷阱)
 
freelancerAntonyan 全局变量 中写入数据时间,但它是双倍的,没有问题吗?谢谢你!
在崩溃的情况下,什么都不会写,GV也是如此。而且原则上不存在任何问题。只要在写的时候和读的时候也应用显式的类型转换。
 
freelancerAntonyan 全局变量 中写入数据时间,但它是双倍的,没有问题,还是有其他的方法更好?谢谢你!

任何类型都可以通过联合体被写入和读回。

 
Ivan Butko 函数调用(问题主要是关于代码优化和任何观点和隐患)

函数调用是比较正确的。

只有函数在逻辑上应该是完整的,可以理解的,这样你就可以从代码中理解OnTick的逻辑。

 
MakarFX #:
给我这里的文件。这是新的东西,我还没有听说过。

将任何*.mq4文件重命名为任何扩展名,并尝试编译它,它不会工作,编译器将尝试编译它,好像它是MT5。

无论我在文件中写了什么,像(

#ifdef __MQL4__

#else

#endif

在我把文件重新命名为*.mq4之前,它不能工作。

如何绕过它,可能有专业人士知道?

 
Valeriy Yastremskiy #:

函数调用是比较正确的。

只有函数在逻辑上应该是完整的、可以理解的,这样你就可以从代码中理解OnTick中的操作逻辑。

谢谢你,我是说
 
Sergey Zhukov #:

将任何*.mq4文件重命名为任何扩展名,并尝试编译它,它不会工作,编译器将尝试编译它,好像它是MT5。

无论我在文件中写了什么,像(

在我把文件重新命名为*.mq4之前,它不能工作。

我怎样才能绕过它,专业人员的人可以知道吗?

它根本就不能编译!

扔掉这个文件。你可以删除里面的所有函数

 
Sergey Zhukov #:

重命名任何*.mq4文件

谢尔盖,不太清楚为什么要重命名文件,但它是这样的:


include1.mqh。

void go()
   {
   #ifdef __MQL5__
      printf("Это пятёрка");
   #else
      printf("Это четвёрка");
   #endif
   }

script1.mq4和script1.mq5。

#include <include1.mqh>

void OnStart()
   {
   go();
   }


明白了,这就是问题所在。

__MQL4__

现在语言中没有这样的东西。