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

 
Maxim Kuznetsov:

在mql中使用静态,一切都在运行,充满了错误。代码总是作为一个整体构建/编译的,没有中间的obj,声明静态只是对传统的一种致敬。

如果一个人在mql中使用静态--那几乎是100%来自C/C++/C#世界;或者一个人偷看并可笑地模仿:-)

但也有__线程__ :-)

如果你在模块中而不是在函数中写静态,是的。编码员很可能不知道他/她在做什么。:)而关于函数的局部变量 和类方法的局部变量,以及类的字段,我认为这甚至是 一个非常有用的东西。

而错误可能来自于对静态变量 概念的误解 ,并因此而错误地使用它们
 
MakarFX:

之后

增加

没有帮助),无论我把它放在哪里)。

 
Mihail Matkovskij:

如果你在模块中而不是在函数中写静态,是的。编码员可能不知道他在做什么。:)关于函数的局部变量 和类方法的局部变量,以及类的字段,在我看来,这甚至是 一个非常有用的东西。

解决简单的命名冲突的方法是给实体添加m_ a_ bullshit,因为编译器不知道范围和发誓。

两个独立的程序员不应该以相同的方式命名函数、类和全局变量。而且方法和函数参数必须是唯一的。本地变量也应该如此。

这里没有静电:-)

对不起,我搞错了。

 
законопослушный гражданин:

没有帮助),无论我把它放在哪里)。

如果你想了解代码,请看一下EA的所有逻辑,它在什么条件下做什么。

我把整个顾问描述得非常清楚,即使是初学者,如果你不明白,可以问。

如果你想为你这个"守法公民 " 写一份EA,请点击这里

 
Maxim Kuznetsov:

解决简单的名字冲突的方法是给实体添加m_ a_废话,因为编译器不知道如何进行范围和发誓。

两个独立的程序员不应该以相同的方式命名函数、类和全局变量。而且方法和函数参数必须是唯一的。本地变量也应该如此。

这里没有静电:-)

对不起,我搞错了。

任务可以是不同的,使用静态变量只是为了解决命名空间冲突,当然,你不应该这样做(但这是不准确的...:))。但你可以,比如说,记录某个类的多少个对象被创建。另外,静态常量,是一个非常方便的东西。静态方法,等等。当然,你可以不做静态。但这一切都取决于许多因素。手头的任务和解决的方法。嗯,当然,这首先取决于程序员 对编程概念的理解。

 
Mihail Matkovskij:

任务可以是不同的,使用静态变量只是为了解决命名空间的冲突,这当然不是一个好主意(但这是不准确的...:))。但是,举例来说,你可以写下某个类的多少个对象被创建。另外,静态常量,是一个非常方便的东西。静态方法,等等。当然,你可以在没有静电的情况下进行。但这一切都取决于许多因素。手头的任务和解决的方法。当然,这首先取决于程序员 对编程概念的理解。

现在取一个库并#include它...

你会得到很多突然出现的冲突。原因是你和作者指的是同一个东西,是两个合理的人。在一个简单的EA中,双倍SL--以及大量的警告。

我到底该如何给止损起个名字,以保证它不会与任何人(原文如此!,与方法的参数名称)重合,如果它被称为止损,也正是这个意思?

哦!解决方案是inp_SL...以及m_SL和a_SL的可见性...。让开发人员拖动名称中的元数据和定义区域。

没有地方可以生气...

 
Maxim Kuznetsov:

现在采取一些库,并#包括它给自己...

你将会有很多无意义的冲突。只是因为两个有理智的人,你和作者,把一件事说成是同一件事。在一个简单的EA中,双倍SL--以及大量的警告。

我到底该如何给止损起个名字,以保证它不会与任何人(原文如此!,与方法的参数名称)重合,如果它被称为止损,意思正是如此?

哦!解决方案是inp_SL...以及m_SL和a_SL的可见性...。让开发人员拖动名称中的元数据和定义区域。

没有愤怒的地方...

我很少使用字符串库,因为我很少对它们感到满意。我更喜欢自己做。但我可以使用第三方库,只有当我需要创造一些在我之前 已经被想很多次 的东西时才可以。然后这样的第三方库经常要进行调整(例如,突然冒出 一个错误,或者我缺少一些需要的函数或方法)。如果有太多像你描述的这样的冲突,最好是寻找另一个图书馆。或者在最极端的情况下,使用自动替换来改变名字。但我不会这样做。

 
MakarFX:

如果你想理解代码,就去看看EA的所有逻辑,它做什么,在什么条件下做什么。

我已经把整个EA说得很清楚了,即使是初学者,如果你不明白,可以问。

如果你想为你写一份EA,你可以像一个 "守法公民 " 一样到这里

不,我不知道,我想自己想办法。

MQLQL手册是用与我不同的语言写的,所以我不明白一些东西,但专家顾问已经解释了,谢谢。

 
Maxim Kuznetsov:

现在采取一些库,并#包括它给自己...

你会有很多突然出现的冲突。只是因为两个有理智的人,你和作者,把一件事说成是同一件事。在一个简单的EA中,输入双SL--和大量的警告。

我到底该如何给止损起个名字,以保证它不会与任何人(原文如此!,与方法的参数名称)重合,如果它被称为止损,也正是这个意思?

哦!解决方案是inp_SL...以及m_SL和a_SL的可见性...。让开发人员拖动名称中的元数据和定义区域。

没有愤怒的地方...

显然,这有点令人讨厌......)我从来不认为将别人的大型二进制代码插入程序的主体有什么意义。它们要么需要真正的指令,要么必须首先被分解和理解)))。

项目 中唯一前缀的生成器是我们的一切))))。

 

我不明白为什么每个人都在谈论某种名称上的冲突......?这一定是关于程序化编程的...据我所知,如果有几个这样的冲突,可以用前缀轻松解决。这就是它的全部内容...你为什么要写这么多呢......?:)

另外,很早以前,开发者就增加了命名空间这种东西。我不知道第四个版本,但第五个版本有很长一段时间。所以,我不认为有这么大的问题。

原因: