Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 616

 
Não sei como posso obter corretamente os números dos bares de ontem das 00:00 às 23:59 a qualquer hora de hoje (no testador, é claro). Por favor, me diga.
 
001:
Não sei como posso obter corretamente os números dos bares de ontem das 00:00 às 23:59 a qualquer hora de hoje (no testador, é claro). Por favor, me diga.

Você já olhou para oiBarShift?
 
pu6ka:

Você já olhou para oiBarShift?

Não, há aqui uma questão mais perversa, que não vai ajudar.

 
001:
Não entendo como posso verificar corretamente os números dos bares de ontem das 00:00 às 23:59 a qualquer hora de hoje (no Testador de Estratégia, é claro). Por favor, me diga.
                 //+------------------------------------------------------------------+
                 //|                                                       Отскок.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;
}

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

Esta é mais ou menos como o número da última barra do dia anterior é calculado no testador. O resto você pode fazer as pazes por conta própria.

 
FOReignEXchange:

Esta é mais ou menos como o número da última barra do dia anterior é calculado no testador. Você pode fazer o resto por conta própria.


Obrigado! Vou tentar amanhã. Hoje eu não estou pensando direito. Não fez realmente a pergunta certa. Preciso, hoje, saber os números da primeira e última barra de ontem. Não é necessário saber tudo.
 
001:

Obrigado! Vou tentar amanhã. Minha cabeça não está pensando direito hoje. Não fez realmente a pergunta certa. Necessidade, hoje, de conhecer os números da primeira e última barra de ontem. Não é necessário saber tudo.

O testador de corrente TimeCurrent pega bem. Assim você pode fazer algo com uma variante semelhante (tente criar um script com o código abaixo e veja o resultado):

   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);

Na verdade, há aqui um artigo muito bom. Embora seja para o MT5, mas também há informações úteis para o MT4.

 
001:
Não sei como posso obter corretamente os números dos bares de ontem das 00:00 às 23:59 a qualquer hora de hoje (no testador, é claro). Por favor, me diga.


Desta forma, você pode encontrar o índice da primeira barra no início de qualquer dia.

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


Se você conhece este índice, você pode calcular o índice da última barra do dia anterior.

 
pu6ka:


É assim que você pode encontrar o índice da primeira barra no início de qualquer dia.


Conhecendo este índice, você pode encontrar o índice da última barra do dia anterior, adicionando uma.


Se você usar o código apenas em contas reais ou de demonstração, sua versão é mais conveniente. No entanto, isso pode causar problemas no testador de estratégias.

P./S.: Esta é a razão pela qual FOReignEXchange e eu citei outras opções.

 
Obrigado a todos vocês! Vamos ao trabalho.
 
DiPach:

Se o código deve ser usado somente em conta real ou demo, então a variante como a sua é mais conveniente. No entanto, no testador de estratégia, você pode ter problemas para usá-lo.

P./S.: É por isso que FOReignEXchange e eu citei outras opções.


Talvez. Usei este código para um indicador e não me falhou lá. Deixe-o tentar variantes diferentes.

Razão: