Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 616

 
No sé cómo puedo obtener los números de las barras de ayer desde las 00:00 hasta las 23:59 en cualquier momento de hoy (en el probador, por supuesto) correctamente. Por favor, dígame.
 
001:
No sé cómo puedo obtener los números de las barras de ayer desde las 00:00 hasta las 23:59 en cualquier momento de hoy (en el probador, por supuesto) correctamente. Por favor, dígame.

¿Has mirado yael iBarShift?
 
pu6ka:

¿Has mirado yael iBarShift?

No, hay una cuestión más perversa aquí, eso no va a ayudar.

 
001:
No entiendo cómo puedo comprobar correctamente los números de las barras de ayer desde las 00:00 hasta las 23:59 en cualquier momento de hoy (en el Probador de Estrategias, por supuesto). Por favor, dígame.
                 //+------------------------------------------------------------------+
                 //|                                                       Отскок.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;
}

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

Así es como se calcula el número de la última barra del día anterior en el probador. El resto puedes inventarlo por tu cuenta.

 
FOReignEXchange:

Así es como se calcula el número de la última barra del día anterior en el probador. Puedes hacer el resto por tu cuenta.


Gracias. Lo probaré mañana. Hoy no estoy pensando bien. En realidad, no hizo la pregunta correcta. Hoy necesito saber los números de la primera y la última barra de ayer. No es necesario saberlo todo.
 
001:

Gracias. Lo probaré mañana. Hoy no estoy pensando bien. En realidad, no hizo la pregunta correcta. Necesita, hoy, saber los números de la primera y última barra de ayer. No es necesario saberlo todo.

El probador de TimeCurrent recoge bien. Así que también puedes hacer algo con una variante similar (prueba a crear un script con el código de abajo y mira el 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);

De hecho, hay un artículo muy bueno aquí. Aunque es para MT5, pero hay información útil para MT4 también.

 
001:
No sé cómo puedo obtener los números de las barras de ayer desde las 00:00 hasta las 23:59 en cualquier momento de hoy (en el probador, por supuesto) correctamente. Por favor, dígame.


De este modo, puede encontrar el índice de la primera barra al comienzo de cualquier día.

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


Si conoce este índice, puede calcular el índice de la última barra del día anterior.

 
pu6ka:


Así se puede encontrar el índice de la primera barra al inicio de cualquier día.


Conociendo este índice, se puede encontrar el índice de la última barra del día anterior sumando uno.


Si utiliza el código sólo en cuentas reales o de demostración, su versión es más conveniente. Sin embargo, puede causar problemas en el probador de estrategias.

P./S.: Por eso FOReignEXchange y yo hemos citado otras opciones.

 
Gracias a todos. Vamos a trabajar.
 
DiPach:

Si el código se va a utilizar sólo en cuenta real o demo, entonces la variante como la suya es más conveniente. Sin embargo, en el probador de estrategias, puede tener problemas para utilizarlo.

P./S.: Por eso FOReignEXchange y yo citamos otras opciones.


Tal vez. He utilizado este código para un indicador y no me ha fallado. Que pruebe diferentes variantes.