需要MT4开发者和程序员的帮助

 

你好。

新建的MT4终端在用户改变输入参数值时,不会取消初始化和重新初始化EA。这导致现有的EA与MT4的新版本根本不兼容。这种不兼容性发生在最优化的EA中,所有的单次计算都放在init()块中。

这甚至到了可笑的地步:为了保证替换某些输入参数的值,用户必须把专家顾问从图表上拿下来,然后再放上去。(我没有尝试过用按钮从SET-文件中加载参数,但我怀疑这相当于手动替换参数值)。

我非常要求MT4的开发者将函数deinit()、init()的调用回归到常识。

真诚的。

PS 如果有人知道程序化确定时刻的机制和用户改变输入参数值 的事实,请在这里写出来。

 
至少要拿出步枪作为证据。
 

版本: 4.00 Build 670

(2014年7月4日)

 
Wex:


新建的MT4终端在用户改变输入参数值时,不会 取消初始化和重新初始化EA。这导致现有的EA与新版MT4的主要不兼容。最优化的Expert Advisors,所有的单一计算都放在init()块中,会出现不兼容的情况。

我有他们。建670。用简单的打印机检查。
 
Wex:

你好。

新建的MT4终端在用户改变输入参数值时,不会取消初始化和重新初始化EA。这导致现有的EA与MT4的新版本根本不兼容。这种不兼容性发生在最优化的EA中,所有的单次计算都放在init()块中。

这甚至到了可笑的地步:为了保证替换某些输入参数的值,用户必须把专家顾问从图表上拿下来,然后再放上去。(我没有尝试过用按钮从SET-文件中加载参数,但我怀疑这相当于手动替换参数值)。

我非常要求MT4的开发者将函数deinit()、init()的调用回归到常识。

真诚的。

PS 如果有人知道程序化确定时刻的机制和用户改变输入参数值 的事实,请在这里写出来。

这是做市商的一种伎俩:-7,以压制已建立的EA。
 
IvanIvanov:
这是做市商的一种伎俩:-7,使既定的顾问放空。
+
 
难道不可能重写EA 吗?
 

PS。(我在论坛上似乎不怎么会绕口令。)所附的EA。试着在空中改变参数A1或A2的值。时间 "流逝",EA并没有 "看到 "参数的新值。不过,你可以通过按两次 "自动交易 "按钮使其初始化。当然,这比把EA从图表上取下并重新安装要快。然而,这在某种程度上是不合逻辑的。然而,这要由你来决定。

当然,对我来说,在我的专家顾问中进行修改比在海边等待要容易得多。因此,我将再次提出一个简单的问题。有谁知道如何获得一个临时改变输入参数值的用户的信息?我的意思是价值已经改变的事实和时间点。

真的,较新的MT4终端的构建要比旧的好得多。在这种情况下,当Sleep() 函数被执行时,参数的值会被改变。这确实是一种进步。旧的版本根本不允许改变数值,或者说甚至不允许用户获得输入参数的窗口。我已经告诉客户,他们应该首先使用终端面板上的按钮禁用EA,改变其参数,然后再次启用EA。但现在用户没有任何障碍,他有一种错觉,认为输入参数已经被改变。此外,新的例子显示,不仅在init() 块中获得的副本,而且原始的输入参数在Expert Advisor中也没有改变,但它们在Inputs标签的属性窗口中被改变。这种差异是显而易见的。

附加的文件:
PROBLEM.mq4  2 kb
 
Wex:

PS.(我在论坛上似乎不怎么会绕口令。所附的EA。试着在空中改变参数A1或A2的值。时间 "流逝",EA并没有 "看到 "参数的新值。不过,你可以通过按两次 "自动交易 "按钮使其初始化。当然,这比把EA从图表上取下并重新安装要快。然而,这在某种程度上是不合逻辑的。然而,这要由你来决定。

当然,对我来说,在我的专家顾问中进行修改比在海边等待要容易得多。因此,我将再次提出一个简单的问题。有谁知道如何获得一个临时改变输入参数值的用户的信息?我是指改变价值和时间点的事实。

真的,MT4终端的新版本比旧版本好得多。在这种情况下,当Sleep() 函数被执行时,参数值被替换。当然,这是一种进步。旧的版本根本不允许改变数值,或者说甚至不允许用户获得输入参数的窗口。我已经告诉客户,他们应该首先使用终端面板上的按钮禁用EA,改变其参数,然后再次启用EA。但现在用户没有任何障碍,他有一种错觉,认为输入参数已经被改变。此外,新的例子显示,不仅在init() 块中获得的副本,而且原始的输入参数在Expert Advisor中也没有改变,但它们在Inputs标签的属性窗口中被改变。这种差异是显而易见的。

那你是否尝试过使用去初始化的原因

UninitializeReason()
REASON_PARAMETERS

也许我是斜着看的......。但我用...

 
Wex:

PS.(我在论坛上似乎不怎么会绕口令。所附的EA。试着在空中改变参数A1或A2的值。时间 "流逝",EA并没有 "看到 "参数的新值。不过,你可以通过按两次 "自动交易 "按钮使其初始化。当然,这比把EA从图表上取下并重新安装要快。然而,这在某种程度上是不合逻辑的。然而,这要由你来决定。

当然,对我来说,在我的专家顾问中进行修改比在海边等待要容易得多。因此,我将再次提出一个简单的问题。有谁知道如何获得一个临时改变输入参数值的用户的信息?我的意思是价值已经改变的事实和时间点。

真的,较新的MT4终端的构建要比旧的好得多。在这种情况下,当Sleep() 函数被执行时,参数的值会被改变。这确实是一种进步。旧的版本根本不允许改变数值,或者说甚至不允许用户获得输入参数的窗口。我已经告诉客户,他们应该首先使用终端面板上的按钮禁用EA,改变其参数,然后再次启用EA。但现在用户没有任何障碍,他有一种错觉,认为输入参数已经被改变。此外,新的例子显示,不仅在init() 块中获得的副本,而且原始的输入参数在Expert Advisor中也没有改变,但它们在Inputs标签的属性窗口中被改变。这种差异是显而易见的。

同样的代码,但没有start()里面的循环,效果很好。这一定是问题所在。
附加的文件:
PROBLEM.mq4  2 kb
 
Wex:

PS.(我在论坛上似乎不怎么会绕口令。


非常是这样。

1.MQL4语言专门用于一个特殊的论坛。不是这个。

2.你没有读过MQL4的文档,无论是新的还是旧的