MetaTrader 5策略测试仪和MQL5云计算网络 - 页 26

 
notused:

对于遗传学,这是可以理解的--等待其他人群返回的结果。

啊,所以这可能是问题的关键。那么与快速本地代理合作的 "云 "是禁忌吗?
 
Yedelkin:
啊,所以这可能是问题的关键。那么,云计算是否禁忌于快速的本地代理?
这取决于你有多少个本地/远程代理--如果你有十几个或两个,云计算不太可能产生差异,但如果你只有几个,云计算会更快。对于测试相对 "快速 "的专家来说,即使有大量的本地/远程代理,云也会有所帮助
 
notused:

不过,还是要对此做些什么。

注意云端返回的响应。从昨天开始,似乎没有收到一个正确的回应(而通行证是100%有交易,没有错误)。在这种情况下,网络的有用性为0。而这个案子--自今年年初以来有12件文书。虽然几天前有时会有正确的结果,但今天--完全没有。

鉴于云计算很快就会被支付,我不想在没有任何结果的情况下把钱扔到风中(在测试模式下,我昨天和今天使用网络得到了7美元,虽然,我也没有从中得到什么,而且只在昨天晚上使用了网络,因为它在白天不工作)。

+ 有时云会在满的时候进入被完成的状态(!)。还有几千张通行证,这怎么可能呢?

你是否尝试过在本地代理上对这样的结果进行单次传递?

你能在你对服务台的请求 中描述启动参数、代理列表、优化参数+添加专家(至少是ex5)吗?日志也会很有帮助。

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

你有没有试过在本地代理上运行一个具有这些结果的单一通道?

你能描述一下启动参数、代理列表、应用 中的优化参数给服务台+附件专家(至少是前5名)吗?还有一些日志将是非常有帮助的。

这个问题不适合我,但是是的,我已经试过了。在本地代理上,测试通过,没有错误。有一个假设是问题与定时器有关(EST = EventSetTimer(3600)),因为在我的案例中,关键的运行时间错误发生在测试的开始阶段(测试时间-0秒)。OnInit的文字(由于某些原因,我不能把它作为源文件插入,IE8)。

int OnInit()
{
Print("hh=",hh," mm=",mm," MLEVEL=",MLEVEL," TP=",TP," SL=",SL," TS=",TS)。
Print("OnInit begins SymbolsTotal: " ,SymbolsTotal(true),"/" ,SymbolsTotal(false))。


//在测试器中进行初始化的翻滚
for(uint i=0; i<maxsym; i++)
{
SymbolSelect(SymbolName(i,false),true)。
}

EST = EventSetTimer(3600)。
if (!EST) {
Comment("Error: EventSetTimer= " , GetLastError();
Print("Error: EventSetTimer= " , GetLastError();

}

for(uint i=0; i<maxsym; i++)
{
ea[i].Init(SymbolName(i,true),PERIOD_M1); //初始化专家。
Print(i,SymbolName(i,true))。
}
// 初始化示例
// ea.Init(Symbol(), PERIOD_M5); // 用于固定的时间框架
// ea.Init("USDJPY", PERIOD_H2); // 用于固定符号和时间框架

Print("OnInit ends SymbolsTotal: " ,SymbolsTotal(true),"/",SymbolsTotal(false))。

return(0);
}

 

有谁能告诉我如何做到这一点?

我想加快优化速度,我不希望(例如)结果的缩水幅度大于30%。

我所做的是这样的。

input double Max_DD_EQ = 30;


double max_eq,max_dd,dd_percent;
bool dd_valid=true;

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(!dd_valid) return; 
   if(MQL5InfoInteger(MQL5_OPTIMIZATION) || MQL5InfoInteger(MQL5_TESTING))
     {
      max_eq=MathMax(max_eq,AccountInfoDouble(ACCOUNT_EQUITY));
      max_dd=MathMax(max_eq-AccountInfoDouble(ACCOUNT_EQUITY),max_dd);
      dd_percent=max_dd/(max_eq*0.01);
      if(dd_percent>Max_DD_EQ) { ClosAllPos(); dd_valid=false; return; }
     }
// дальше идет блок открытия (закрытия) поз

我希望在超过允许的缩减量后结束运行。

但测试者在达到最大缩减量后,还是像以前一样计算。我不想要空的(无用的)运行。

有其他选择吗?还是对开发商?

或者更短:我怎样才能强行终止运行?(在MT4中,有这样一个东西。)

 
ExpertRemove();
?
 
Vigor:
?

非常感谢您!它成功了!

检查了一下。现在速度快了很多。

 
alexvd:

你有没有试过在本地代理上运行一个单一的通道,有这些结果?

未使用

我在本地内核上运行了一次--一切正常(我试了很多次,用不同的参数)。我想,也许网络代理要么是磁盘空间用完了,要么是内存不够了(多播),或者是其他原因。

alexvd:

你能在你对服务台的请求 中描述启动参数、代理列表、优化参数,并附上一个专家顾问(至少是ex5)?而日志将是非常有帮助的。

已发送(#232346)。对不起,没有日志 - 它们会被终端覆盖。但我认为你复制它是没有问题的。
灰烬

这个问题不适合我,但是是的,我已经试过了。在本地代理上,测试通过,没有错误。有一个假设是问题与定时器(EST = EventSetTimer(3600))有关,因为在我的案例中,关键的运行时间错误发生在测试的开始阶段(测试时间-0秒)。

的确,计时器适用。只有在我的案例中,你可以看到网络代理在计算上工作了大约5分钟,然后给出一个空的结果。
 
notused:

如何与之斗争?


有时我从网络中得到这样的回应,在包中(关键运行时错误)。在本地内核上运行通行证--一切正常(我试了很多次,用不同的参数)。我想,可能是网络代理的磁盘空间用完了,或者内存不够了(多播),或者其他什么原因。但是,一个普遍有利的段落被排除在进一步的考虑之外,这是很可惜的。虽然,另一方面,我觉得这个问题在原则上是无法解决的(我怎么知道问题是出在代理人身上,而不是出在Ekspert身上?或者设置 "不要使用在过去24小时内返回关键运行时间错误的代理"?

对我来说并不关键(有足够的远程核心),但一般来说是个不便之处。

我们正在对这个问题进行治疗。
 

这样的问题。我有一个8核酷睿i7,在我完成了对冠军的准备之后,我并不真的需要它。除非我想玩半年的游戏或其他东西。为了不闲置,可以将一些电力转移到云端,但我想知道如果我在本地进行优化,电脑是否会以同样的方式降温。当然,一台电脑可以在持续过热的情况下经受住5天的连续优化,但我仍然不得不盯着它,给它降温,等等。

......货币成分并不引起我的兴趣。如果来自云的收入将是一分钱,你可以免费做 - NiVapros。