错误、漏洞、问题 - 页 2941

 
如果有的话,你能建议在Init 事件后,如何在指标中保存字符串变量的前值?终端的全局变量 对字符串不起作用。确切地说,在OnCalculate() 的最后,我们需要使prev_val=val,并在Init 后保存prev_val,而val将像往常一样取一个新值。但我不希望在图表上创建一个对象,用所需的名字命名,并在Init 后读取旧值。这将是非常丑陋的,尽管它是可能的...而且名字可能很长,物体的名字数量非常有限。
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:
如果有的话,你能建议一下,在Init 事件后,有什么方法可以在指标中保存字符串变量的前值?终端的全局变量 对字符串不起作用。确切地说,在OnCalculate() 的最后,我们需要使prev_val=val,并在Init 后保存prev_val,而val将像往常一样取一个新值。但我不希望在图表上创建一个对象,用所需的名字命名,并在Init 后读取旧值。这将是非常丑陋的,尽管它是可能的...而且名字可能很长,物体的名字数量非常有限。

你可以使用资源和单元来存储和传输简单的结构,甚至是TF之间的简单结构阵列。

要做到这一点,你将需要。

template <typename T>
union
sizeof(T)
ResourceReadImage
ResourceCreate
ResourceFree
_UninitReason
为了存储字符串,你必须使用一个固定大小的静态Uchar数组。(见CharArrayToString, StringToCharArray)。
 
Nikolai Semko:

你可以使用资源和单元来存储和传递简单的结构,甚至是TF之间的简单结构数组。

为此,你将需要。

为了存储字符串,你必须使用一个固定大小的静态Uchar数组。(见CharArrayToString, StringToCharArray)。

我也记得--通过文件,但我也不想这样做,因为这不是最自然的方式。

谢谢,我会试一试的。

 
x572intraday:

我还记得使用文件,但我也不想这样做,因为这不是最自然的方式。

谢谢,我会试一试的。

如果是SSD,那也是一个好办法。
 
x572intraday:

我还记得使用文件,但我也不想这样做,因为这不是最自然的方式。

谢谢,我会试一试的。

如果我们谈论的是MT5,有一个非零的概率,即新指标状态的OnInit将在前一个指标状态的OnDeinit之前被调用。
 
Slava:
如果我们谈论的是MT5,有一个非零的概率,即新指标状态的OnInit将在前一个指标状态的OnDeinit之前被调用。
因此,数据不应该在OnDeinit时被保存,而应该在数据变化后或根据某些事件立即保存。
OnDeinit只有在终端关闭 的情况下才能留存到文件。
 
Nikolai Semko:
因此,数据保存不应发生在OnDeinit,而应在数据变化后或某个事件中立即进行。
OnDeinit只有在终端关闭 的情况下才能留存到文件。
 

是否有一个函数或其他一些额外的功能(库、代码)来保存EA设置?

当你运行EA时,将设置保存到标准设置网格。

 
Aleksei Skrypnev:

是否有一个函数或其他一些额外的功能(库、代码)来保存EA设置?

当你运行一个EA时,将设置保存到标准设置网格。

以下是 描述中的一个例子。搜索SaveSet。

SingleTesterCache
SingleTesterCache
  • www.mql5.com
Данные одиночного прохода Тестера.
 

自12月以来,该应用程序已在服务台 "开始"。

可能是迷路了

金融。在MQL5.com账户中存款的问题
开放,启动: 2020.12.28 16:34,#2929416