初学者的问题 MQL5 MT5 MetaTrader 5 - 页 30

 
WiND:

在H1的工具上做了一次运行。

约10%是用遗传算法 完成的。

按了停止键,改变了参数。

现在在启动时--在代理中存在一个 "授权"。

如果我改变乐器或周期,一切都会开始工作。

我重新启动了终端,我重新启动了代理--没有帮助。

我不能重启)。

请告知什么是麻烦?

重启一台电脑有多难?我不知道问题出在哪里,但几天前我也遇到了类似的问题。 我在本地代理上运行优化,过了一夜,我关掉了互联网。早上我发现,在我关闭互联网的前后,优化工作停滞不前,重新启动代理后,有一条类似 "需要授权 "的记录。重新启动计算机--有帮助。
 
WiND:

在H1的工具上做了一次运行。

约10%是用遗传算法 完成的。

按了停止键,改变了参数。

现在在启动时--在代理中存在一个 "授权"。

如果我改变乐器或周期,一切都会开始工作。

我重新设置了终端,并重新启动了代理 - 没有帮助。

我不能重启)。

请告知什么是麻烦?

我没有改变任何额外的参数就发生了这种情况,我只是不断地进行优化。

看来,这种带有延续性的优化创新并不十分顺利。

起初我以为我的电脑会考虑到这一点并继续优化......但是没有......这个授权就挂在那里。

我决定采取以下措施。 我回到了我的老方法,"从头开始"。

我写了一个简短的BAT,可以删除文件夹cache,logs,agent....,也可以手动删除。

 
请告诉我这个设计是否能在周末工作,我的意思是,我还没有看到它在工作。
//+------------------------------------------------------------------+
//|                                                  PrintPERIOD.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Print("Идентификатору PERIOD_W1 соответствует значение ",(int)PERIOD_W1); 
    Print("Идентификатору PERIOD_M1 соответствует значение ",(int)PERIOD_M1); 
     Print("Идентификатору PERIOD_M5 соответствует значение ",(int)PERIOD_M5); 
      Print("Идентификатору PERIOD_M15 соответствует значение ",(int)PERIOD_M15); 
       Print("Идентификатору PERIOD_M30 соответствует значение ",(int)PERIOD_M30); 
        Print("Идентификатору PERIOD_H1 соответствует значение ",(int)PERIOD_H1); 
         Print("Идентификатору PERIOD_H4 соответствует значение ",(int)PERIOD_H4); 
          Print("Идентификатору PERIOD_D1 соответствует значение ",(int)PERIOD_D1); 
           Print("Идентификатору PERIOD_MN1 соответствует значение ",(int)PERIOD_MN1); 
            Print("Идентификатору PERIOD_W1 соответствует значение ",(int)PERIOD_W1); 
             Print("Идентификатору PERIOD_W1 соответствует значение ",(int)PERIOD_W1); 
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
 
Dimka-novitsek:
请告诉我这个设计是否能在周末和一般情况下工作,也就是说,我没有看到它在工作。

为什么以专家的形式?反正没有抽搐。

附加的文件:
 
Dimka-novitsek:
请告诉我它是否能在周末工作,一般来说,这样的设计,也就是我没有看到它的工作。

昨天有人好心地把剧本发给你:https://www.mql5.com/ru/forum/3775/page179#comment_305342

至于目前的问题:如果解包进入OnInit(),它应该在任何程序启动时打印,包括在周末。

 

谢谢你!!!。

在专家的形式下,没有蜱虫,我指望它至少能工作一次,它是OnInit。

 
Karlson:

我曾遇到过这种情况,没有任何额外的参数变化,而只是继续优化。

显然,这种带有延续性优化的创新并不十分顺利。

起初我以为电脑会考虑到这一点,会继续下去......但是没有......这个授权挂了。

我决定采取以下措施。 我回到了我的老方法,"从头开始"。

我写了一个简短的BAT,可以删除文件夹 cache,logs,agent....,也可以手动删除。

我会试一试的。我会试一试的。

Yedelkin,我不能重启,因为服务器需要太长时间才能完成......

 
Dimka-novitsek:

谢谢你!!!。

在专家的形式下,没有蜱虫,我指望它至少能工作一次,它是OnInit。

你的编码是正确的,所有的工作,甚至是 "周末":) 你如何运行专家顾问,你在哪里检查结果?
 
Yedelkin:

昨天有人好心地把剧本发给你:https://www.mql5.com/ru/forum/3775/page179#comment_305342

至于目前的问题:如果unprinting进入OnInit(),它应该在任何程序启动时打印,包括周末。

谢谢!!!。所以,我有一些,呃,缺陷... ...

它成功了!我很抱歉,我不知道以前是什么。

但在这里。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) PERIOD_W1的值对应于32769。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) ID PERIOD_W1 对应32769

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) ID PERIOD_MN1 对应49153

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) PERIOD_D1 ID的值为16408。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) ID PERIOD_H4对应的数值为16388。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) ID PERIOD_H1对应的数值为16385。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) ID PERIOD_M30的值为30。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) 有了PERIOD_M15的ID,就有了15个。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) PERIOD_M1标识符的值为1。

2012.09.01 17:29:23 PrintPERIOD (EURUSD,M5) PERIOD_W1标识符的值为32769。

谢谢你!!!。有意思!!!。

是的,实际上是提供给我的脚本写得很明显,我把它插入到我的EA的on tick功能中去了!

 

有人使用过MoneyFixedRisk吗?
我是这样使用的。

cSymbol = new CSymbolInfo();
cSymbol.Name(Symbol())。
cSymbol.Refresh()。

cMoney = 新的CMoneyFixedRisk()。
cMoney.Percent(2.0)。
cMoney.Init(cSymbol,PERIOD_CURRENT, 1.0)。

double sl = cSymbol.Ask()-Point()*50;
double lot = cMoney.CheckOpenLong(cSymbol.Ask(), sl);

总是返回0。

如果我设置止损=0,它就会返回minlot。

模拟账户,账户里有10000美元),但为什么它的回报是零,我不明白....