EA: GlobalVariable

 

GlobalVariable:

本 EA 是演示全局变量的用例。此 EA 的任务: 在全局变量里保存计算结果, 并在新的初始化时获取全局变量值。

作者: Karputov Vladimir

 
有了全局变量,保存了全局变量,然后呢?对不起,亲爱的,我完全不明白。你为什么需要这些变量?
 
spbkit:
获取全局变量,保存全局变量,然后呢?对不起,亲爱的,我完全不明白。你为什么需要这些变量?

我向你道歉。这个示例是应论坛一位成员的要求而创建的:我们需要一个使用终端全局变量的示例。终端的全局变量会在重新加载终端后保存其值,本例展示了如何读写全局变量

 

谢谢,代码很有用!但它在 MT4 上不起作用...您能告诉我如何更好地为 MT4 修改这段示例代码吗?

 
Aleksandr Glebov:

谢谢,代码很有用!但它在 MT4 上不起作用...您能就如何更好地为 MT4 修改此示例代码提供建议吗?

只需将文件扩展名从 *.mq5 改为 *.mq4。
 
不是一个清晰的例子...没有机会应用....如何保存两个变量(两个价格水平)也不清楚......?
 
Aleksandr Glebov:
不是一个清晰的例子...没有机会应用.... 如何保存两个变量(两个价格水平)也不清楚......?

请告诉我哪些地方行不通。

Aleksandr Glebov:
例子不清楚...我从来没有应用过....如何保存两个变量(两个价格水平)不清楚......?

您想在程序的哪个位置保存值:OnInit()、OnTick() 还是 OnDeinit?

 
Karputov Vladimir:

请告诉我哪些地方行不通。

你想在程序的哪个位置保存值:OnInit()、OnTick() 还是 OnDeinit?

我在 OnTick() 中保存了值,并试图用 OnInit() 来获取它们,但没有成功。我在 OnTick() 中保存了 GlobalVariableSet("OER",OER);在 OnTick() 中,第一个条件是:如果订单多于 0,则 OER = GlobalVariableGet("OER")。现在,在重新加载时,OER 变量不会重置为零。但只要在正常工作过程中打开订单,所需变量就会采用过去全局变量 的条件....。是否有必要尝试从 OnInit() 获取值......?
 
Aleksandr Glebov:
我在 OnTick() 中保存了值,并尝试用 OnInit() 获取它们,但没有成功。只有这样才能起作用:我在 OnTick() 中保存了 GlobalVariableSet("OER", OER );而在 OnTick() 中,第一个条件是:如果订单多于 0,则 OER = GlobalVariableGet("OER")。现在,重新加载时不会重置 OER 变量。您认为这样写代码对吗?
全局变量 中保存价格的目的是什么?你想实现什么?操作的算法是什么?
 
Karputov Vladimir:
将价格保存在全局变量 中的目的是什么?你想实现什么?操作的算法是什么?
重新加载时,有两个变量会被重置,因此加载时猫头鹰无法正常工作....。我需要了解如何在这种情况下保存这些变量(如果加载时有订单,则使用 glob 中的数据)。
 
Aleksandr Glebov:
重新加载时,有两个变量被重置为零,因此 EA 在加载时无法正常工作。我需要学习如何在这种情况下保存这些变量(如果加载时有订单,则使用 glob 中的数据)。

在 OnDeinit() 中写入您的条件 - 是否需要覆盖全局变量

总的来说,我想再问一次:"行动的算法是什么?目前是堆马拉。要知道,除非你明白你需要什么,否则你将无法实现它。画一张流程图--它会有所帮助。