全局变量与文件写入

 

我有大约8-10个变量,它们不能在飞行中重新计算,否则会造成很大的麻烦(它们来自iCustom调用,可能已经过去很久了)。

考虑到我通常在每个终端上运行5-10个EA实例,并且我想创造一个持久性的水平,哪一个是我在可靠性和速度方面更好的选择。

1.全局变量;或

2.文件写入

我确信我可以用这两个系统来解决我需要做的事情,但我不清楚哪一个才是最好的途径。

如果您有任何想法,我们将非常感激。

 
toast:

我有大约8-10个变量,它们不能在飞行中重新计算,否则会造成很大的麻烦(它们来自iCustom调用,可能已经过去很久了)。

考虑到我通常在每个终端上运行5-10个EA实例,并且我想创造一个持久性的水平,哪一个是我在可靠性和速度方面更好的选择。

1.全局变量;或

2.文件写入

我确信我可以用这两个系统来解决我需要做的事情,但我不清楚哪一个才是最好的途径。

如果您有任何想法,我们将非常感激。

终端的全局变量更容易使用,你也可以在终端内手动改变它们。但写到文件中更灵活。
 
angevoyageur:
但是写到文件中就比较灵活了。

更可靠
 

如果你对你的ea进行适当的编码,全局变量可以是可靠的。写入文件的情况也是如此。

如果你的EA代码没有正确地处理全局变量或写入文件,那么没有什么是可靠的。

全局变量或写入文件实际上只是你的口味问题。

 

你是对的!!!我记得当时(几年前),全局变量只有在关闭终端时才会被保存到文件中。

我记得有一段时间(几年前),全局变量只有在关闭终端时才会被保存到一个文件中。

这意味着如果终端/电脑/电源崩溃,它们就不会被保存。

从那时起 情况似乎 发生了变化 现在 它们被 立即 保存 到一个文件中。

谢谢你提供的信息

 
非常感谢大家的及时回复--一如既往的快速和信息丰富!在此,我向大家表示感谢。
 
qjol:

你是对的!!!我记得当时(几年前),全局变量只有在关闭终端时才会被保存到文件中。

我记得有一段时间(几年前),全局变量只有在关闭终端时才会被保存到一个文件中。

这意味着如果终端/电脑/电源崩溃,它们就不会被保存。

从那时起 情况似乎 发生了变化 现在 它们被 立即 保存 到一个文件中。

谢谢你提供的信息


GV最近越来越可靠了。

很好,不是吗?我希望MetaQuotes能让它变得更漂亮。)

 

如果我可以用另一个问题来麻烦你们。

使用ChartID() 是命名全局变量的可靠方式吗?它是否总是唯一的,而且一旦分配给某个特定的图表就不会改变?

我正在考虑使用魔法数字和Symbol()的组合,但我担心的是,有人会在活跃的交易中改变魔法数字。如果发生这种情况,那么用于管理交易的GV将不能被正确检索到。


(请注意:我不在不同的图表/EA之间共享GV,所以我不需要担心另一个EA能够检索到GV。我使用它们只是为了持久性)

 
toast:

如果我可以用另一个问题来麻烦你们。

使用ChartID()是命名全局变量的可靠方式吗?它是否总是唯一的,而且一旦分配给某个特定的图表就不会改变?

我正在考虑使用魔法数字和Symbol()的组合,但我担心的是,有人会在活跃的交易中改变魔法数字。如果发生这种情况,那么用于管理交易的GV将不能被正确检索到。


(请注意:我不在不同的图表/EA之间共享GV,所以我不需要担心另一个EA能够检索到GV。我使用它们只是为了持久性)


一旦进入订单(待定或市场),魔法数字就不能改变。
 

谢谢你的答复。

是的,我同意。

但问题会是这样的。

一笔交易以神奇的数字123开启。

当管理这个交易时,EA将寻找名称为123xxxxxx的GV。

现在,用户将EA的魔法号码设置改为789,而交易仍在进行

因此,现在EA正在寻找名称为789xxxxx(不存在)的GV。

基本上,我正在寻找一个不能被用户输入修改的GV命名规则。

 
toast:

谢谢你的答复。

是的,我同意。

但问题会是这样的。

一笔交易以神奇的数字123开启。

当管理这个交易时,EA将寻找名称为123xxxxxx的GV。

现在,用户将EA的魔法号码设置改为789,而交易仍在进行

因此,现在EA正在寻找名称为789xxxxx(不存在)的GV。

基本上,我正在寻找一个不能被用户输入修改的GV命名规则。

如果仍有旧的魔法交易,不允许改变魔法数字。