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

 
joo:

每个人都有权发表个人意见,但没有人有权利侮辱他人。

在这种情况下,一切都非常透明--两名论坛成员对nen的 帖子表达了非常负面的看法,随后就被禁言了,Renat 清楚地解释了禁言的原因。

+100
 
joo:

....禁令随之而来,雷纳特 明确解释了禁令的原因。

我只要求你做两件事。

1)通知论坛成员资料的访问者,该论坛成员已被禁止。

2)发布禁令时--要说明理由(不是在可理解的解释之后,而是在宣布禁令的时候)。

这只是技术性的东西,与道德、教育或其他任何东西都没有关系。

我仍然敢于提出禁止用户的正确方法:不应该禁止用户进入论坛,而只应该禁止创建新的主题和帖子。这样,被禁止的人至少可以提出一个问题(当面),而不是用新的绰号在用户名单上乱涂。

这纯粹是一个技术/工艺上的要求/建议,以改善论坛引擎。

 
f.t.:

我只要求你做两件事。

1)通知论坛成员资料的访问者,该论坛成员已被禁止。

2)发布禁令时--要说明理由(不是在可理解的解释之后,而是在宣布禁令的时候)。

这只是技术性的东西,与道德、教育或其他任何东西都没有关系。

我也敢于建议禁止一个用户的正确方法:一个用户不应该被禁止进入论坛,而只应该被禁止创建新的主题和帖子。那个被禁止的用户至少可以问一个问题(私下的),并且没有在用户列表中乱放新的昵称。

这纯粹是一个技术/工艺上的要求/建议,以改善论坛引擎。

我个人并不反对你说的话,相反,我支持你的观点。只是你和 的例子很不幸,我发帖时也有这样的暗示。
 
ANG3110:

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

关于负载不足的数据...现在,由于时间的推移,我无法引用日志。但它看起来是这样的。

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

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

现在我总是在交易后关闭EA。现在,我总是在第一次重新打开终端后禁用专家顾问,并等待数据抽出,然后才将其打开。

从我的角度来看

一个EA需要有数据(通常是任何数据)。

因为所有的错误都分为代码中的错误和数据中的错误!

通过分析数据的可用性来解决这个问题。 通过分析所需数据的可用性来解决这个问题

和它们的正确性,然后再使用它们!


例如:在除法之前,首先要检查我们是否要除以零。

这几乎在任何情况下都是正确的语气,即使你确信......一个变量......。不能=0

检查将使人百分之百地确信,程序在分割时不会崩溃! 所以要检查数据!




以避免这种事情的发生!

专家顾问应该清楚地知道它需要多少个条形图!

进一步提供一个简单而有效的算法

你应该从当前工作的蜡烛开始,在必要的时间段或时间段内进行。

运行到正确的深度!看看是否有任何漏掉的条子--这不是很困难的。

我不会给代码...这里有一些人可以轻易地写出这样的代码!


接下来,专家顾问只是没有撕开或关闭,它断裂了!!没有完整的历史记录。

你!!!考虑到这一点--采取措施,填补缺失的部分!!"。

只有在这之后,你才允许它进行交易!

--

你的问题是,你的算法没有这样的控制!你的问题是,你的算法没有这样的控制。

加!因为这比失去4500美元更容易......。

--

对于那些不能写这样的代码的人,他们会在这里写,价格是100-200美元

不到4,500美元!

 
YuraZ:

从所需的一个或多个时间框架上的当前工作烛台开始。

运行到正确的深度!看看是否有任何漏掉的条子--这不是太难。

谢谢尤拉的提示。

但是,如果我刚刚打开终端,而零条仍然是旧的,例如前一天的,我应该怎么做?当然,我们可以从它算上漏掉的小节跑到一定的深度,但这将是一个错误。EA是如何知道这是否是最后一栏的?我之前说过,原则上可以比较TimeLocal()和TimeCurrent(),考虑到时间上的差异,并加入一个小的delta,因为有时3-5分钟内没有报价,特别是在CAD货币对,可能可以认为是一个错误。也许,在启动时做就够了,之后再修复遗漏的条形图,例如,当通信中断几分钟时,也许没有必要在每个条形图上重新计算,因为重新计算会花费太多时间。我写的关于损失的专家顾问需要多达2万条的统计初始适应。对于这样一个数字,在每根柱子上寻找周期会很苦恼,可能没有必要。当然,这不是最好的方法,此外还取决于电脑时钟。也许你能想出更好的办法?然而,正如我最近观察到的那样,如果IsConected()函数被触发,零条通常几乎立即出现。

 
ANG3110:

谢谢你,尤拉,谢谢你的提示。

但是,如果终端刚刚打开,而零条仍然是旧的--比方说前一天的零条,我应该怎么做?当然,我们可以从它算上漏掉的小节跑到一定的深度,但这将是一个错误。EA是如何知道这是否是最后一栏的?我之前说过,原则上可以比较TimeLocal()和TimeCurrent(),考虑到时间上的差异,并加入一个小的delta,因为有时3-5分钟内没有报价,特别是在CAD货币对,可能可以认为是一个错误。也许,在启动时做就够了,之后再修复遗漏的条形图,例如,当通信中断几分钟时,也许没有必要在每个条形图上重新计算,因为重新计算会花费太多时间。我写的关于损失的专家顾问需要多达2万条的统计初始适应。对于这样一个数字,在每根柱子上运行循环是令人痛苦的,可能没有必要。当然,这不是最好的方法,此外还取决于电脑时钟。也许你能想出更好的办法?然而,正如我最近观察到的那样,如果IsConected()函数触发了,零条通常几乎立即出现。

好吧,一切在我看来都很简单......int start()程序只在一个新的tick点被调用,这100%意味着函数TimeCurrent()(返回最后一个已知的服务器时间(最后一个报价到达的时间))已经是实际的了,不管是否有条形图。

我想这之后一切都很清楚了......

 
Renat:

不幸的是,你没有指定任何初始数据、测试参数或日志。

此外,你所指的库(DLLs)不仅需要大量的安装,而且由于缺乏额外的库而无法工作(这是对库的作者而言,他忘记了额外的DLL文件)。

请联系这些图书馆的作者了解情况。


如果你按照我提供的链接,你会看到只有一个输入参数有一个值,而且是按照描述设置的:StopLoss=100...1 000步10;x=1...1 000 000步1。 此外,我说过之前的构建没有产生这个错误,所以这个错误是你的。一切都实际运作。它只发出了这个奇怪的信息。因此,对我来说可能只有这条信息,而对其他人来说可能因为这个错误的后果而无法工作。
 
ANG3110:

谢谢你,尤拉,谢谢你的提示。

但是,如果终端刚刚打开,而零条仍然是旧的--比方说前一天的零条,我应该怎么做?当然,我们可以从它算上漏掉的小节跑到一定的深度,但这将是一个错误。EA是如何知道这是否是最后一栏的?我之前说过,原则上可以比较TimeLocal()和TimeCurrent(),考虑到时间上的差异,并加入一个小的delta,因为有时3-5分钟内没有报价,特别是在CAD货币对,可能可以认为是一个错误。也许,在启动时做就够了,之后再修复遗漏的条形图,例如,当通信中断几分钟时,也许没有必要在每个条形图上重新计算,因为重新计算会花费太多时间。我写的关于损失的专家顾问需要多达2万条的统计初始适应。对于这样一个数字,在每根柱子上运行循环是令人痛苦的,可能没有必要。当然,这不是最好的方法,此外还取决于电脑时钟。也许你能想出更好的办法?虽然,正如我最近观察到的,如果IsConected()函数触发了,零条通常几乎立即出现。

你好!


这在逻辑上也是可以检查的!

首先,你得到一些ticks和TimeCurrent() 的时间,如果它离条形图很远,你就加载它 - 但你也需要考虑到周末。

在星期一,你需要知道你的经纪人的开始时间,在星期五的结束时间(在这一点上,在小的FF有一个小的误差的几个酒吧

( 星期一的开始时间和星期五的结束时间可以用较大周期的平均法自动计算 )

逻辑的例子

// простой пример контроля истори, просто логика 
 
int ФЛАГпроверкиИСТОРИ =0; // 0-история не проверена или не загружена

void init()
{
    ФЛАГпроверкиИСТОРИ   =0; // ставим флаг
}


void start()
{
     // читаем историю на предмет пропущеных баров
    if ( ФЛАГпроверкиИСТОРИ   == 0)
    {
// проверяем а вся ли нужна история есть и если нет то она загружается
      // загружаем
       если загружена ФЛАГпроверкиИСТОРИ=1;
       return;
    }
}


 
Akkarin:

如果你按照我提供的链接,你会看到只有一个输入参数有价值,并且被设置了,正如描述中所说:StopLoss=100...1 000 step 10; x=1...1 000 000 step 1。 此外,我说之前的构建没有产生这个错误,所以这个错误是你的。一切都实际运作。它只发出了这个奇怪的信息。因此,对我来说可能只是这个消息,而其他人可能因为这个错误的后果而完全无法工作。


我勤奋地整理了一切,阅读了所有的内容,理解了逻辑,但遇到的正是他所说的--没有足够的第三方dll库,这套库的作者没有铺垫(虽然甚至做了安装程序)。

显然,是一个微不足道的遗忘。但我不能在互联网上寻找一些dll文件。