Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 616

 
Je ne sais pas comment je peux obtenir correctement les numéros des barres d'hier de 00:00 à 23:59 à n'importe quel moment aujourd'hui (dans le testeur bien sûr). S'il vous plaît, dites-moi.
 
001:
Je ne sais pas comment je peux obtenir correctement les numéros des barres d'hier de 00:00 à 23:59 à n'importe quel moment aujourd'hui (dans le testeur bien sûr). S'il vous plaît, dites-moi.

Avez-vous déjà regardéiBarShift?
 
pu6ka:

Avez-vous déjà regardéiBarShift?

Non, il y a une question plus perverse ici, qui n'aidera pas.

 
001:
Je ne comprends pas comment je peux vérifier correctement les nombres de barres d'hier de 00:00 à 23:59 à tout moment aujourd'hui (dans le Strategy Tester, bien sûr). S'il vous plaît, dites-moi.
                 //+------------------------------------------------------------------+
                 //|                                                       Отскок.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;
}

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

C'est à peu près comme cela que le numéro de la dernière barre du jour précédent est calculé dans le testeur. Le reste, vous pouvez l'inventer vous-même.

 
FOReignEXchange:

C'est à peu près comme cela que le numéro de la dernière barre du jour précédent est calculé dans le testeur. Vous pouvez faire le reste par vous-même.


Merci ! Je vais l'essayer demain. Je n'ai pas les idées claires aujourd'hui. Je n'ai pas vraiment posé la bonne question. J'ai besoin, aujourd'hui, de connaître les numéros de la première et de la dernière mesure d'hier. Il n'est pas nécessaire de tout savoir.
 
001:

Merci ! Je vais l'essayer demain. Je n'ai pas les idées claires aujourd'hui. Je n'ai pas vraiment posé la bonne question. Besoin, aujourd'hui, de connaître les numéros de la première et de la dernière mesure d'hier. Il n'est pas nécessaire de tout savoir.

Le testeur TimeCurrent capte bien. Vous pouvez donc aussi faire quelque chose avec une variante similaire (essayez de créer un script avec le code ci-dessous et voyez le résultat) :

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

En fait, il y a un très bon article ici. Bien qu'il soit destiné à MT5, il contient également des informations utiles pour MT4.

 
001:
Je ne sais pas comment je peux obtenir correctement les numéros des barres d'hier de 00:00 à 23:59 à n'importe quel moment aujourd'hui (dans le testeur bien sûr). S'il vous plaît, dites-moi.


De cette façon, vous pouvez trouver l'indice de la première barre au début de chaque jour.

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


Si vous connaissez cet indice, vous pouvez calculer l'indice de la dernière barre du jour précédent.

 
pu6ka:


C'est ainsi que vous pouvez trouver l'indice de la première barre au début de chaque journée.


Connaissant cet indice, vous pouvez trouver l'indice de la dernière barre du jour précédent en ajoutant un.


Si vous utilisez le code uniquement sur des comptes réels ou de démonstration, votre version est plus pratique. Cependant, cela peut causer des problèmes dans le testeur de stratégie.

P./S. : C'est pourquoi FOReignEXchange et moi-même avons cité d'autres options.

 
Merci à tous ! Mettons-nous au travail.
 
DiPach:

Si le code doit être utilisé uniquement sur un compte réel ou de démonstration, alors la variante comme la vôtre est plus pratique. Cependant, dans le testeur de stratégie, vous risquez de rencontrer des problèmes pour l'utiliser.

P./S. : C'est pourquoi FOReignEXchange et moi-même avons proposé d'autres options.


Peut-être. J'ai utilisé ce code pour un indicateur et il ne m'a pas fait défaut. Laissez-le essayer différentes variantes.

Raison: