错误、漏洞、问题 - 页 858

 
顺便问一下,闰秒对日期中的时间有什么影响吗?
 

情况是这样的:我们有一个日期结构,在某一阶段,我们要么把天数、小时数、分钟数或月份数加进去,最后得到的是负值,如-335.05.2012 00:-615:00(或者在我们加上1月650的情况下,是360小时和250分钟)。它们需要被转换为正常的日期。到目前为止,我想出了这个办法。

void ReconstructTimeStruct(MqlDateTime &sTime)
  {
   while(sTime.min<0)
     {
      sTime.min=59-fabs(sTime.min);
      sTime.hour--;
     }
   while(sTime.min>=60)
     {
      sTime.min=sTime.min-60;
      sTime.hour++;
     }

   while(sTime.hour<0)
     {
      sTime.hour=23-fabs(sTime.hour);
      sTime.day--;
     }
   while(sTime.hour>=24)
     {
      sTime.hour=sTime.hour-24;
      sTime.day++;
     }

   while(sTime.day<1)
     {
      if(sTime.mon>1)
        {
         sTime.mon--;
         sTime.day=GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year)-fabs(sTime.day); //GetDaysInMonthByMonthAndYear получает количество дней в месяце с учетом  месяца и високосный ли год
        }
      else
        {
         sTime.mon=12;
         sTime.year--;
         sTime.day=GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year)-fabs(sTime.day);
        }
     }
   while(sTime.day>GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year))
     {
      if(sTime.mon<12)
        {
         sTime.mon++;
         sTime.day=sTime.day-GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year);
        }
      else
        {
         sTime.mon=1;
         sTime.year++;
         sTime.day=sTime.day-GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year);
        }
     }
   while(sTime.mon<1)
     {
      sTime.year--;
      sTime.mon=12-fabs(sTime.mon);
     }
   while(sTime.mon>12)
     {
      sTime.year++;
      sTime.mon=sTime.mon-12;
     }
  }

我不知道,要么我是个傻瓜,要么滑雪板不飞。有时会被卡住,在一个月内不能正常工作。

谁能告诉我问题是什么?

或者谁能告诉我按日期查找蜡烛开盘时间的算法,包括未成形的蜡烛,有可能移位(0-当前蜡烛,-1-左边的蜡烛,1-右边的蜡烛)?

 
leksiq: 我不知道如何告诉开发者这个错误,我在这里试试......
在你的个人资料中,你有一个ServiceDesk部分
 
Urain:

正是如此,但我会以不同的方式来做......。因此,如果条件奏效,就没有必要再做检查。

大多数年份都会以假的方式通过第一次检查。

实际上,如果第一个条件是假的,一个正常的编译器不会检查&&的其余部分。

我不知道ME5中的情况。

 
papaklass:

仓库服务是否计划为四人组创建?

我加入了这个问题--4也有可能在5中生存--这就像XP和VISTA一样
 
A100:

一般来说,正常的编译器如果第一个条件是假的--其余的&&将不检查

但我不知道ME5中的情况如何。

同样的方式。短的条件检查。

//在四个长(满)的

 
MetaDriver:

// 在一个四人组的长(全)。

然后就可以清楚地知道腿是怎么来的了
 

MetaTrader 5客户终端构建712

[...]

8.终端:信号。修正了在Wine下工作时信号信息的显示和信号间的悬挂导航。

[...]

他们在最新的版本中破坏了终端的一些东西。现在,它在启动后几秒钟就会自己挂起(管道等待),而且只能通过系统监视器来杀死。695和705的构建工作无懈可击,但总体而言,它们都很好。我有Linux mint 12 ( lisa ), win-1.4.以下是附上的操作系统终端日志。可能有帮助。终端MT本身并没有留下任何日志 -- 在通过监视器删除后,日志文件夹是空的。

我希望看到有可能关闭的更新,例如通过"/noupdate "等命令行开关。那么至少有可能在下一次崩溃之前以某种方式工作。

附加的文件:
crash9log.zip  2 kb
 

在测试器启动时

OnTesterInit()函数是TesterInit 事件的处理程序,该事件在策略测试器中专家顾问优化开始前自动生成。

因此,只有当优化=自定义最大值时才会调用这个函数?

起初我从描述中认为它总是从策略测试器中调用。太糟糕了,它不是...

 
Roffild:

在测试器启动时

OnTesterInit()函数是TesterInit 事件的处理程序,该事件在策略测试器中专家顾问优化开始前自动生成。

因此,只有当优化=自定义最大值时才会调用这个函数?

我首先从描述中想到,它总是从测试者那里调用...太糟糕了,情况不是这样的...

Optimize=CustomMax 是什么意思?

描述一下你所怀念的东西。你想得到什么?