新的MetaTrader 4客户终端387和MetaTrader 4数据中心构建387 - 页 13

 
- 我今天(2011年3月1日)更新到一个新版本,并开始在指标IND_Correlation.mq4 上出现问题。当你打开终端时,或在短期内通信失败时,该指示灯会消失。我要么重新加载模板,要么从一个时间段转到另一个时间段。这是不方便的,伙计们)。
 
brici:
- 我今天(2011年3月1日)更新到一个新版本,并开始在指标IND_Correlation.mq4 上出现问题。当你打开终端时,或在短期内通信失败时,该指示灯会消失。我要么重新加载模板,要么从一个时间段转到另一个时间段。这是不方便的,伙计们)。
今天2个DC建议更新到388版本,也许开发者已经纠正了其他的东西。我更新了,到目前为止还没有发现什么不好的地方。更新是来自229,我一开始很惊讶,然后我想起了有一个关于387的主题
 
Renat:

由于存在一些关键的错误,我们将在一段时间后停止对225版本的支持,提前一个月通知大家。

我特意保留了225个构建终端中的一个,以防我们需要对DLL的接口进行调试。你在以后的版本中禁止调试。据我所知,这是为了防止反编译器再次出现。对于那些需要调试MQL脚本和DLL之间接口的人,你有什么建议?
 
api:
我特意保留了225个构建终端中的一个,以防我需要用DLL调试接口。你在后来的版本中禁止了调试。据我所知,这是为了防止反编译器再次出现。对于那些需要调试MQL脚本和DLL之间接口的人,你有什么建议?

事实上,这只剩下打印机或类似的记录机制。

不幸的是,在保护和便利之间不得不做出有利于保护的选择。

 
Zhunko:

以下是事实。

1.你把所附的指标加载到图表上。出现一条断线。

2.从上下文菜单中刷新窗口--"刷新"。这条线消失了,没有出现。

一切都是由于代码中的优化和更新图表时对指标缓冲区的不必要的初始化而发生的。


谢谢你。我们会努力想办法的。
 

竺可桢

你提出的指标完全没有考虑到IndicatorCounted,这是优化计算的主要工具。

数据不仅可能因刷新而改变,而且在连接失败后也可能改变。那么?你的指标没有以任何方式跟踪这一点。这是不正确的。

顺便说一下,你的指标没有跟踪符号和/或周期的变化(而缓冲区的重新初始化总是如此!)。相反,你的例子显示了初始化指标缓冲区 的必要性,以防止不必要的错觉。

 
stringo:

竺可桢

你提出的指标完全没有考虑到IndicatorCounted,这是优化计算的主要工具。

数据不仅可能因刷新而改变,而且在连接失败后也可能改变。那么?你的指标没有以任何方式跟踪这一点。这是不正确的。

顺便说一句, 你的指标 没有跟踪符号和/或周期的变化 (而缓冲区的重新初始化总是如此!)。相反,你的例子显示了初始化指标缓冲区的必要性,以防止不必要的错觉。

什么幻觉?我不需要。这只是一个垂直扫荡,仅此而已。我不关心缓冲区里有什么数据。只要它设置了垂直尺寸。

为什么这个功能刚刚出现在387中,而在以前的版本中却没有出现?当然,所有关于指标的投诉都是由这个不必要的功能引起的。

最好为指标缓冲区的 强制初始化 做一个单独的函数。

 

我有一个问题要问开发者。

如果使用自定义指标,在bild 388和未来的指标中,我理解IndicatorCounted()是对账户错误的一种保证。

但是,如果计算算法直接在专家顾问中使用,在这种情况下,我应该怎么做? 似乎IndicatorCounted()在专家中不起作用,至少,我检查了一下,它给出了-1。

我看到有人要求你做一个函数,这表明下载或更新数据已经发生,但你在这一点上保持沉默。从根本上说,这是很难做到的,或者你只是没有时间一次做完所有的事情,或者只是没有时间,或者不想去打扰它?

我已经写过,我用不完整的下载数据打开我的专家顾问,已经损失了很多钱。

那么你能建议在专家顾问中直接使用计算算法,不至于遇到不完全抽样的数据?

我经常在专家顾问系统中使用该结构。

void my_function()
{
   static int bars;
   int limit=Bars-bars-1;
   bars=Bars-1;
   if (limit<0) return;
   if (limit>1)
   {
      limit=Bars-period-1;
      // Еще данные
   }
   for (int i=limit; i>=0; i--)
   {
      // Расчет переменных
   }
}

也许可以添加一些其他东西来提高可靠性?

毕竟,正如你自己所理解的那样,交易的意义不仅在于计算和绘制自定义和其他指标,而主要在于赚钱。市场已经非常机动和复杂,你可能无法想象在真实账户 中工作时,有时会出现什么神经紧张的情况。而当你不得不注意终端设计缺陷时,这对你的健康、精神和其他一切都会造成很大的压力。毕竟,对终端进行编程是一项非常复杂,但又非常具体的目标和任务。而处理一个不断蠕动的信号,它的频率、振幅、价差、新闻、银行和大型交易商的价格操纵、经纪人的贪婪,总的来说,就像在一个雷区。有了这个问题,即使是博士也会变得像小孩子一样,在恐惧中离开外汇市场,如果他们试图这样做的话。大笔资金或存款的损失,一般来说,看起来就像一个人的死亡。然后它又翻转过来,重新开始。我尊重你,认为你在业务上是一个很好的专业人员,到目前为止,你所做的事情总的来说效果不错,但我希望你最终会做出一个更好、更可靠的产品。

 
ANG3110:

我有一个问题要问开发者。

虽然我不是一个开发人员,但让我说一点。

如果使用自定义指标,在bild 388和未来的指标中,我理解IndicatorCounted()是对账户错误的一种保证。

这在所有版本中都有,他们只是修复了一些错误。

但是,如果计算算法直接在专家顾问中使用,在这种情况下,我应该怎么做? 似乎IndicatorCounted()在专家中不起作用,至少,我检查了一下,它给出了-1。

它没有也不会起作用

我看到有人要求你做一个函数,这表明下载或更新数据已经发生,但你在这一点上保持沉默。从根本上说,这是很难做到的,或者你只是没有时间一次做完所有的事情,或者只是没有时间,或者不想去打扰它?

MT4不会被修改--最多是修复错误

我已经写过,我用不完整的下载数据打开我的专家顾问,已经损失了很多钱。

这些只是文字而已...我们需要汇报一下为什么和如何......这可能是专家顾问的错误/未记录的算法的错。

那么在使用专家顾问中直接计算的算法时,你有什么建议,不至于遇到数据填充不足的情况?

我们必须决定术语的使用。什么是 "充气不足的数据"?你可以在你的EA中创建你的函数IndicatorCounted(),比如这个函数:https://www.mql5.com/ru/articles/247

也许,你可以添加其他东西来增加可靠性?

此外,你可以跟踪跳条,并在此基础上考虑历史上下载不完整等问题。

 

AlexSTAL:

这些只是文字而已...我们需要汇报一下为什么和如何......这可能是专家顾问的错误/不完整的算法造成的。

那么在使用算法直接在EA中计算时,您有什么建议,以避免最终出现数据不足的情况。

我们需要定义术语。什么是 "填充不足的数据"?你可以在你的EA中创建你的函数IndicatorCounted(),比如这个函数:https://www.mql5.com/ru/articles/247

也许,你可以添加其他东西来增加可靠性?

此外,你可以跟踪跳杠,并在此基础上认为历史上的跳杠数量不足,等等。

好吧,我看看你提到的那篇文章。

关于跳跃性不足的数据...现在由于时间的流逝,我将无法引用这些日志。但它看起来是这样的。

在美国经纪公司的ATC上,EA没有关闭,终端也没有关闭。第二天,终端被打开,在打开和自动登录后,出现了暂停,没有报价。专家顾问发出了一个额外的开仓请求,历史记录开始被调换,根据前一天的计算,在本应平仓的区域开仓,但刚刚开仓,就瞬间失去了对反方向运动的市场。该仓位最后被关闭,损失惨重,我不记得损失了多少,但很多。

另一个案例。我留下了一个专家顾问,其算法中有一个通道计算,类似于布林线,但需要很多条,因为它有一个适应的算法。我没有看到交易开始的那一刻,但我在大约20分钟后看到了它。事实证明,没有考虑到与适应的平均数的偏差,通道在线上断裂,就像躺在平均数上一样。我的专家顾问一个接一个地开仓和平仓,在20分钟内损失了约4500美元,损失了0.2-0.3手。在一个完全获胜的市场中,4,500美元。如果不是数据非常少,就是我上面引用的设计缺少一些东西,就可能发生这种情况。

现在我总是在交易后关闭EA。现在,当我再次打开终端时,我总是禁用它们,并等待数据被抽出,只有当我确信这一点时,我才会打开我的专家顾问,通常我可能会让它们开启很长一段时间。