查找最近的日期

 

大家早上好。

我有10个数据时间,我想知道哪个是最接近当前时间 的,我可以用哪个公式?

谢谢你的支持。

 
dr.house7:

大家早上好。

我有10个数据时间,我想知道哪个是最接近当前时间 的,我可以用哪个公式?

谢谢你的支持。

你好,Dr.house7。

你能给我们展示一下你的努力吗?

到目前为止,你有没有尝试过什么?你有任何代码可以给我们看吗?

如果你没有任何东西可以展示,那么最好在代码库中 搜索一下,或者在工作区 发布一个工作。

 
Malacarne:

你好,Dr.house7。

你能告诉我们任何努力的尝试吗?

到目前为止,你是否做了什么尝试?你有任何代码可以给我们看吗?

如果你没有任何东西可以展示,那么最好在代码库中 搜索一下,或者在工作区 发布一个工作。

有趣
 
dr.house7:
有趣的是

嗨,先生的房子,为什么好笑?你想要免费的代码吗?

我想没有直接的公式。你的10个数据时间是在一个数组中吗?创建一个循环,将每个日期时间与当前时间 进行比较,并保留与当前时间比较接近的日期时间。

如果你把你的代码贴出来,你肯定会得到帮助。

 
angevoyageur:

嗨,先生的房子,为什么好笑?你想要免费的代码吗?

我想没有直接的公式。你的10个数据时间是在一个数组中吗?创建一个循环,将每个日期时间与当前时间 进行比较,并保留与当前时间比较接近的日期时间。

如果你发布你的代码,你会得到帮助的,当然。

这正是我在寻找的答案,谢谢Ange!

p.s.

我总是免费编码,在tsd论坛上。

 

好的,这里是代码。

int touchedline[10];
int temp = 0;

touchedline[0]=doc1Time;
touchedline[1]=doc2Time;
touchedline[2]=doc3Time;
touchedline[3]=doc4Time;
touchedline[4]=doc5Time;
touchedline[5]=doc6Time;
touchedline[6]=doc7Time;
touchedline[7]=doc8Time;
touchedline[8]=doc9Time;
touchedline[9]=doc10Time;


    for(int i=0;i<10;i++)
    {
        if(touchedline[i]>temp)
        temp=touchedline[i]; 
    }
 

doc1Time, doc2Time, doc3Time, ...等等都是数据时间。

通过这个公式,我得到了最后一次触摸的时间,但没有得到所使用的对象数组的编号......我怎样才能知道最后一次触摸线[x]的 确切值

我需要知道哪个对象是最高值,touchedline[0]或touchedline[1]或touchedline[3]等等。

谢谢你的支持

doc

 
dr.house7:

这正是我在寻找的答复,谢谢安吉

p.s.

我总是免费编码,在tsd论坛上。

每个人都可以免费编码

但是mql4.com和mql5.com论坛的传统是帮助那些分享他们的代码和展示他们的尝试的人。

   ...
   int highest=-1;

   for(int i=0;i<10;i++)
     {
      if(touchedline[i]>temp)
        {
         highest=i;
         temp=touchedline[i];
        }
     }

这将给你最高值的索引,以及 "最接近当前时间",前提是所有日期touchedline[]值都不如当前时间。

你也可以使用ArrayMaximum()

 
angevoyageur:

每个人都可以免费编码

但是mql4.com和mql5.com论坛的传统是帮助那些分享他们的代码和展示他们的尝试的人。

这将给你最高值的索引,以及 "最接近当前时间",前提是所有日期touchedline[]值都不如当前时间。

你也可以使用ArrayMaximum()

:D

非常感谢...我在之前的尝试中 使用了"int highest=0;",这就是我的问题。

祝你周末愉快!

doc

 
angevoyageur:

每个人都可以免费编码

但是mql4.com和mql5.com论坛的传统是帮助那些分享他们的代码和展示他们的尝试的人。

这将给你最高值的索引,以及 "最接近当前时间",前提是所有日期touchedline[]值都不如当前时间。

你也可以使用ArrayMaximum()

早上好,周日愉快

我希望你能再次指导我正确的方法......我需要得到以前的"最高值",而不仅仅是当前的,我可以如何进行?

谢谢你的帮助

文档

 
dr.house7:

早上好,周日愉快!

我希望你能再次指导我正确的方法......我需要得到以前的"最高值",而不仅仅是现在的,我应该怎么做?

谢谢你的帮助

文档

是这样的吗?

   ...
   int highest=-1,previousHighest=-1;

   for(int i=0;i<10;i++)
     {
      if(touchedline[i]>temp)
        {
         previousHighest=highest;
         highest=i;
         temp=touchedline[i];
        }
     }
只是其中的一个解决方案。
 
angevoyageur:

诸如此类的问题?

这只是其中的一个解决方案。

非常感谢,它像一个魅力的作品!但它有点奇怪的理解。

但是,这有点奇怪,难以理解 :)