//+------------------------------------------------------------------+//| My function |//+------------------------------------------------------------------+externint koef=1 ;
int MyCalculator(intvalue,int value2) export
{
return((value+value2)*koef);
}
//+------------------------------------------------------------------+
关于输入,一切都很清楚。关于extern的事情--在那里,在我看来,你可以先在不同的文件中声明具有相同类型和标识符的变量,以附在项目中,然后发现你不能这样声明。这当然是一个三层的印象主义...
extern的含义是,如果主文件(main)有一些变量,而另一个文件附在这个文件上。而在这个附件文件中,我们需要使用在主文件中声明的变量,然后在附件文件中我们将其声明为extern。因此,链接文件可以被编译,当主文件被编译时,链接文件中的变量声明 被忽略。
我不知道。对我来说,所有的文件都是不言自明的。如果某处有困难,经过一些实验后就会消失。
但如果我不熟悉位操作,我可以阅读任何你想要的文章...我一个字都听不懂。就像我无法理解关于旗帜和旗套的任何东西,直到阿特姆用声音向我解释它们。
如果你要求从中获得价值,这是可以理解的,但这一切如何在之前和之后发挥作用--最黑暗的黑暗
如果要求它的 价值是可以理解的,但它 前后的运作方式是模糊的,是最黑暗的模糊。
她是谁?
她是谁?
工作的本质
有的。
1)extern只在mql4中工作。
2)输入后的注释将显示在输入参数中,而不是输入变量的名称。
输入 int ma_period = 20;
- 它将显示 "ma_period"。
输入 int ma_period = 20; // MA周期
- 它将被写成 "MA期"。
要完全像mql4中那样,需要严格的编译模式#property strict.
这个技巧在extern中是不存在的。
3)外部变量可以像任何全局变量 一样在代码中被改变,输入变量则不能。
最初,只有mql4和extern,没有输入,mql4中也没有OOP。
然后开发了mql5,它立即包括了输入,因为mql5总体上是面向OOP的。
大约2-3年前,mql4进行了升级,增加了mql5的许多功能,包括输入。
你在写什么终端?
在MT5中,如果你在指标中把外部变量声明为extern,该指标可能无法通过iCustom()调用。
你在写什么终端?
在MT5中,如果你在一个指标中把一个外部变量声明为extern,那么该指标可能无法 通过iCustom()调用。
我现在没有责备,但你写道 "它可能会失败"...事实证明,它可能会也可能不会起作用!我的意思是,作为一个没有受过专门教育的自学成才者,我很难理解这种不确定性......
有。
1)extern只在mql4中工作。
2)输入后的注释将出现在输入参数中,而不是输入变量的名称。
输入 int ma_period = 20;
- 它将显示 "ma_period"。
输入 int ma_period = 20; // MA周期
- 它将被写成 "MA期"。
要完全像mql4中那样,需要严格的编译模式#property strict.
这个技巧在extern中是不存在的。
3)外部变量可以像任何全局变量 一样在代码中被改变,输入变量则不能。
最初,只有mql4和extern,没有输入,mql4中也没有OOP。
然后mql5被创建,输入被立即包括在内,因为mql5总体上正是面向OOP的。
大约2-3年前,mql4进行了升级,增加了mql5的许多功能,包括输入。
extern在两种情况下都有效。MQL5和MQL4中的输入也是如此。它们的目的是不同的,而且在帮助中写明了。
为什么要直接把人引向对输入和外部变量的目的的误解?
extern的含义是,如果主文件(main)有一些变量,而另一个文件附在这个文件上。而在这个附件文件中,我们需要使用在主文件中声明的变量,然后在附件文件中我们将其声明为extern。结果是,链接文件可以被编译,但当你编译主文件时,链接文件中的变量声明 被忽略了。
我还以为这个修改器的工作方式和C++一样,即在include文件中声明https://www.mql5.com/ru/forum/160683/page867#comment_11927748。
经检查,它在C++中没有发挥应有的作用
tstextern库文件
脚本文件。
对koef 变量的任何操作都无济于事,它仍然在本地范围内(每个文件内)。
他们的目的是不同的,在帮助中写明了。
区别在于访问控制。
输入 - 它只能被读取,禁止写入。
extern - 可以读和写,在MQL-程序重新初始化后,该值将恢复到外部设置中指定的值。
我现在并不消极,但你写道:"它可能不起作用"。它可能不起作用,但也可能起作用!我的意思是,作为一个没有受过专门教育的自学成才者,我很难理解这种不确定性......
我的意思是,我现在还没有检查。说曾经是什么是很危险的,因为事情经常变化。也许这是一个暂时性的小故障。
我还以为这个修改器的工作原理和C++一样,也就是在include文件中声明https://www.mql5.com/ru/forum/160683/page867#comment_11927748。
在C++中,它并不像它应该的那样工作
tstextern库文件
脚本文件。
对koef 变量的任何操作都无济于事,它仍然在本地范围内(每个文件内)。
嗯,你有一个图书馆。当然,会有不同的变数。所谓的是通过include连接mqh。