错误、漏洞、问题 - 页 2240

 
A100:
此外,你不是一个普通用户,但你的作品被很多很多人使用。

我想这样说。

当读一个文件时,这个错误可能在100次读取中发生1次(例如,以每秒10次的速度读取文件)。

此外,这种错误发生后就会消失,专家顾问继续工作。

 
Vladislav Andruschenko:

我想这样说。

当读一个文件时,这个错误可能在100次读取中发生1次(例如,以每秒10次的速度读取文件)。

而这个错误发生后就消失了,专家顾问继续工作。

在这方面,有一个简单而诚实的建议给开发者:拿一台该配置(*)的计算机,它被指定为MetaTrader的最低系统要求,并使用它进行测试(包括ServiceDesk)。

(*) 与此配置相比,我的平板电脑是一个流星,除了MetaTrader之外没有任何东西被加载。

 
A100:

在这方面,有一个简单而诚实的建议给开发者:用一台配置(*)的计算机,它被指定为MetaTrader的最低要求,并对它进行测试(包括在ServiceDesk中)。

(*) 与这个配置相比,我的平板电脑就是一颗流星


也许它到了刹车的时候(即使是我不弱的那个已经加载了90%),然后就出现了这个错误? 就像你在上面的解释中显示的那样?

谢谢你的介绍,我将努力寻找。

 
A100:

因此,在第1530548号 请求中,ServiceDesk无法重现错误https://www.mql5.com/ru/forum/1111/page1628#comment_2702870,即使我现在有稳定的播放(在构建1881)。经过一番思考,我想明白了原因!答案是:因为我有一台慢速的电脑(平板电脑)。

类似的情况在这个问题上的应用#1952509https://www.mql5.com/ru/forum/1111/page2124#comment_6518537

ServiceDesk一开始也报告说,它无法重现这个错误。我花了很大力气才说服自己,毕竟有一个错误......。在最后。

支持团队 2018.02.10 22:35
似乎早在周五就在一台有39张图表的弱机上重现了你的问题。
我们将继续关注它。如果需要,将要求提供额外的数据。谢谢。

这就提出了一个问题:到底有没有必要为这种错误而烦恼?或者让他们平静地生活......也许他们不会再冒出来--有一台快速的电脑就够了,对吗?

这些问题是在这样的背景下产生的:一打其他图表与几个EA/指标可能会使快速的计算机变成慢速的计算机(而一个普通的交易者恰恰使用了大量的EA - 例如https://www.mql5.com/ru/forum/267154/page5#comment_8164924 - 82个EA正在运行)...甚至由于其他情况(杀毒软件),一台缓慢的电脑也可能在短时间内变得缓慢。其他程序...或者系统本身已经暂时接管了几乎所有的资源)。

然后恰恰是那种无法解释的100分之一的失败会发生(根据自然法则,它自然会在最不恰当的时候发生)。

我认为花时间在这种舞蹈上是可以的,如果策略是好的,而不是像往常一样))。

 
Konstantin:

把工作中的策略移出MT5,让MT5作为连接器,有什么问题吗? 我认为,如果策略是有价值的,而不是像往常一样,花时间在这种舞蹈上是可以的))

问题是组织全面的反馈......。甚至连接器有时也需要自己打开文件
 

谁能解释一下为什么在MQL5中,时间序列time[]不对应于服务器时间?

这里是一个计算收盘价相对于当天开始时的转变的指标。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- indicator buffers
double         DB[];

static int lastdayclose=-1;
static double F0=1.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,DB,INDICATOR_DATA);
   lastdayclose=-1;
   F0=1;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i,limit;
   MqlDateTime tmpdate;
   if(prev_calculated==0)
     {
      limit=rates_total-1;
      lastdayclose=-1;
      F0=1;
     }
   else limit=rates_total-prev_calculated;
   ArraySetAsSeries(time,true);
   ArraySetAsSeries(close,true);
   for(i=limit;i>=0;i--)
     {
      TimeToStruct(time[i],tmpdate);
      if(tmpdate.day!=lastdayclose)
        {
         F0=close[i];
         lastdayclose=tmpdate.day;
        }
      DB[i]=F0-close[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

指示器被绘制。

https://www.mql5.com/ru/charts/8940511/eurusd-m5-alpari-international-limited

你可以看到,一天的开始时间向左移动了2个小时。

 
Igor Makanu:

你可以看到,一天的开始时间向左移了2小时。

你能看到哪里吗?

MetaTrader交易平台的截图

eurusd, m5, 2018.07.25

阿尔帕里国际有限公司, MetaTrader 5, 模拟

EURUSD, M5, 2018.07.25, Alpari International Limited, MetaTrader 5, Demo


 
Alexey Viktorov:

看到哪里了?

你看到句号分隔线了吗?- 它是一天的开始,它对应于服务器时间0:00

该指标的逻辑清楚吗? - 垂直溅射的红线是一天开始时第一个条形图的收盘价,我们记住它,然后画出相对于当天开盘时第一个条形图收盘价的增量 - 这个 "红色尖峰 "应该在周期分隔线上,即在一天的开始。

 
A100:
问题是组织全面的反馈...甚至连接器有时也需要自己打开文件

如果所有的逻辑都在外面,为什么连接器需要自己打开文件,从外部程序的OnInit中调用所需的功能来初始化

 
Igor Makanu:

你看到句号分隔线了吗?- 它是一天的开始,它对应于服务器时间0:00

该指标的逻辑清楚吗? - 红线的垂直飞溅是一天开始时第一根柱子的收盘价,我们记住它,然后画出相对于一天开始时第一根柱子收盘价的收盘价增量 - 这个 "红色尖峰 "必须在分离线上,即在一天的开始。

你认为我们可以根据这个来判断一些事情吗?是的...