任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 616

 
我不知道我怎样才能在今天的任何时候(当然是在测试器中)正确地得到昨天的条形图从00:00到23:59的数字。请告诉我。
 
001:
我不知道我怎样才能在今天的任何时候(当然是在测试器中)正确地得到昨天的条形图从00:00到23:59的数字。请告诉我。

你看了iBarShift 了吗?
 
pu6ka:

你看了iBarShift 了吗?

不,这里有一个更反常的问题,那是没有用的。

 
001:
我不明白我怎么能在今天的任何时候(当然是在策略测试器中)正确检查昨天的条形图从00:00到23:59的数字。请告诉我。
                 //+------------------------------------------------------------------+
                 //|                                                       Отскок.mq4 |
                 //|                                              FOReignEXchange2008 |
                 //|                                          forexsignal2008.ucoz.ru |
                 //+------------------------------------------------------------------+
                   #property copyright "FOReignEXchange2008"
                   #property link      "FOReignEXchange@bk.ru"

int День,i,k;

int start()
{

i=0;k=0;

День=TimeDay(iTime(NULL,0,0));

while (i<=1440)
      {
      if (TimeDay(iTime(NULL,0,i))==(День-1) && k==0) 
         {
         k=i;
         Alert("",k);
         }
      i++;
      }
return;
}

//+------------------------------------------------------------------+

在测试器中,前一天的最后一根柱子的数量大致是这样计算的。其余的你可以自己编造。

 
FOReignEXchange:

在测试器中,前一天的最后一根柱子的数量大致是这样计算的。你可以自己做其余的事情。


谢谢你!我明天会试一试。我今天脑子不清楚了。没有真正问出正确的问题。今天,我需要知道昨天的第一条和最后一条的数字。没有必要了解一切。
 
001:

谢谢!我明天会试一下。我今天脑子不清楚了。没有真正问出正确的问题。今天,需要知道昨天的第一条和最后一条的数字。没有必要了解一切。

TimeCurrent测试器的拾取效果很好。所以你可以用类似的变体做一些事情(试着用下面的代码创建一个脚本,看看结果)。

   datetime LastServerTime=TimeCurrent();
   long tms=LastServerTime%86400;
   int NumberFirstBar=iBarShift(NULL,0,LastServerTime,false);
   datetime TimeNumberFirstBar=iTime(NULL,0,NumberFirstBar);   
   datetime TimeLastBar=TimeNumberFirstBar-(datetime)tms;
   
   int NumberLastBar=iBarShift(NULL,0,TimeLastBar,false);
   
   Comment("NumberLastBar = ",NumberLastBar);

事实上,这里有 一篇非常好的文章。尽管它是针对MT5的,但对MT4也有有用的信息。

 
001:
我不知道我怎样才能在今天的任何时候(当然是在测试器中)正确地得到昨天的条形图从00:00到23:59的数字。请告诉我。


这样你就可以在任何一天的开始找到第一根柱子的指数。

     int n = 1;                                           // индекс дня, в данном случае 1 - вчерашний день
datetime DayTime = iTime(NULL, PERIOD_D1, n);             // Начало дня "n" в секундах
     int cb = iBarShift(NULL,0,DayTime);                  // Получим на текущем ТФ индекс 1-го бара


如果你知道这个指数,你就可以计算出前一天的最后一个柱子的指数。

 
pu6ka:


这样你就可以找到任何一天开始时的第一根柱子的指数。


知道了这个指数,你就可以通过加一来找到前一天的最后一根柱子的指数。


如果你只在真实账户或模拟账户中使用该代码,你的版本会更方便。 然而,它可能会在策略测试器中引起问题。

P./S.: 这就是为什么FOReignEXchange 和我引用了其他选项。

 
谢谢大家!让我们开始工作吧。
 
DiPach:

如果代码只用于真实或模拟账户,那么像你这样的变体就更方便。 然而,在策略测试器中,你在使用它时可能会遇到问题。

P./S.: 这就是为什么FOReignEXchange 和我给出了其他选择。


也许。我把这个代码用于一个指标,它没有让我失望。让他尝试不同的变体。