Erreurs, bugs, questions - page 1090

 
MigVRN:

La question est plus une question de curiosité : "Pourquoi les membres de l'énumération ENUM_TIMEFRAMES ont-ils ces valeurs particulières ? D'où vient le numéro16385 en passant de la M30 à la H1 ?"

Merci d'avance pour la ou les réponses ! !!


PERIOD_H1 = 16385,  // = (1 << 14) + 1
PERIOD_H2 = 16386,  // = (1 << 14) + 2         
PERIOD_H3 = 16387,  // = (1 << 14) + 3
PERIOD_H4 = 16388,  // = (1 << 14) + 4
PERIOD_H6 = 16390,  // = (1 << 14) + 6
PERIOD_H8 = 16392,  // = (1 << 14) + 8
PERIOD_H12 = 16396, // = (1 << 14) + 12
 
MetaDriver:

Merci ! Mais j'ai mal posé la question, car je suis encore plus confus maintenant... Si cela ne vous dérange pas, j'aimerais vous poser quelques questions supplémentaires :

1) Pourquoi ?

2) Et pourquoi 14 ?

:)

 
MigVRN:

Merci ! Mais je me suis trompé dans la question, car je suis encore plus confus maintenant... Si vous le voulez bien, j'ai encore quelques questions à vous poser :

1) Pourquoi ?

2) Et pourquoi 14 ?

:)

:) Et cela dépend des développeurs .... car leurs voies sont impénétrables..... ;)
 

Je pense qu'il y a une erreur dans la recherche du bar. par temps Je l'ai trouvé dans la fonctionCopyClose (et dans d'autres aussi).

lors de la copie d'une barre d'un symbole "étranger" avec cette fonction, une erreur de copie se produit, même si cette barre est présente dans la fenêtre ouverte à côté.

2014.01.05 14:52:00.556 tmp (,D1) USDCAD ooo 2012.12.12 00:00:00
2014.01.05 14:51:57.214 tmp (,D1) 80.55313933496228
2014.01.05 14:51:50.947 tmp (,D1) USDCAD ooo 2013.03.04 00:00:00
2014.01.05 14:51:44.828 tmp (,D1) USDCHF ooo 2011.12.26 11:00:00
2014.01.05 14:51:37.896 tmp (,D1) USDCAD ooo 2011.03.02 12:00:00
2014.01.05 14:51:30.112 tmp (,D1) USDSEK ooo 2013.09.20 22:00:00

Dans le script, c'est compréhensible, vous pouvez interroger jusqu'à ce qu'il le trouve "miraculeusement", mais ce n'est pas acceptable pour l'indicateur.

Au fait, je me suis souvenu que j'ai dû écrire la fonction moi-même puisque la fonction intégrée était incapable de l'utiliser pour l'indicateur

//--------------------------------------------------------------------------+
//=   Ищет  индекс массива MqlRates по времени
//=   Протестировано 28,12,2011
//=   для прохода по 4 000 800      баров Скопировано USDJPY
//=   ошибок = 0 GetTickCount 2 200 мс.
//=   ВОЗВРАТИТ -1 в случае ошибки + сообщение Алерт
//--------------------------------------------------------------------------+
int save_indexs=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FindIndex(datetime find,MqlRates &xxxxxx[])
  {
   int size_mql=ArraySize(xxxxxx);
//проверим находится ли время в массиве, и есть ли где искать
   if(size_mql<=0){Alert("ggg");return(-1);}
   if(find>xxxxxx[0].time)return(0);
   if(find<=xxxxxx[size_mql-1].time)return(size_mql-1);
//а может лежит рядом?
//проверим по скорости с глоб. перем.
   for(int i=save_indexs+1;i>=save_indexs-1 && i>=0;i--)
      if(i<size_mql)
         if(find==xxxxxx[i].time)
            return(i);
//результат с применением  ошибок = 0 GetTickCount   843 мс.
//результат без применения ошибок = 0 GetTickCount 3 744 мс.
//начнемс
   int kolvo=size_mql,
   start_save=size_mql-1,
   end_save=0;
   while(!IsStopped())
     {
      //градация поиска +1 для плавающей запятой, учесть все не ошибиться, дойдет до - минусов
      int grad=kolvo/StringLen(IntegerToString(kolvo))+1;
      if(grad<10)grad=1;
      //
      for(int start=start_save,karetka=start-grad;          start>=end_save;          start=karetka,karetka=start-grad)
        {
         //karetka может выходить за размер масс
         if(karetka<0)karetka=0;
         if(find>=xxxxxx[start].time && find<=xxxxxx[karetka].time)
           {
            kolvo=start-karetka+1;
            start_save=start;
            end_save=karetka;
            if(start==karetka+1){save_indexs=karetka;return(karetka);}
            break;//for
           }
        }
     }
   return(-1);
  }
//+------------------------------------------------------------------+

deux ans ont passé et c'est toujours là, c'est bizarre.

Dossiers :
tmp.mq5  3 kb
myusdx.mq5  5 kb
 
Les virgules inversées dans les liens insérés dans le forum tuent le lien entier
 
costy_:

il semble y avoir une erreur dans la recherche du bar à temps dans la fonction CopyClose (et dans d'autres aussi).

....

ça fait deux ans et c'est toujours là, c'est étrange.

it's not a bug, it's a bug (c)

CopyXXX-i prend les données dans les tampons correspondants et s'il n'y a pas de données dans le tampon (caractère étranger et/ou période différente de la période actuelle), il y aura une erreur. Néanmoins, dans ce cas, le processus de formation des tampons est lancé et si après un certain temps (sic !) CopyXXX est appelé à nouveau, le résultat peut être obtenu. Vous ne pouvez pas utiliser le Sleep dans les indicateurs, c'est pourquoi vous devez utiliser le timer, car vous ne pouvez pas compter sur le prochain tick (la sortie et les instruments non-liquides sont à blâmer).

 

Je ne peux pas me connecter à la chambre forte via le site web. Lorsque j'entre mon nom d'utilisateur et mon mot de passe, la boîte de connexion et de mot de passe apparaît à nouveau.

Je ne peux pas non plus récupérer quoi que ce soit via MetaEditor :

Le login et le mot de passe sont corrects

Pouvez-vous me dire pourquoi ?

 
sanyooooook:

Je ne peux pas accéder à la chambre forte via le site web. Lorsque j'entre mon nom d'utilisateur et mon mot de passe, la boîte de connexion et de mot de passe s'affiche à nouveau.

Je ne peux pas non plus récupérer quoi que ce soit via MetaEditor :

Le login et le mot de passe sont corrects

Pouvez-vous me dire pourquoi ?

Vous avez peut-être changé le mot de passe, il y avait un tel bug.
 
zfs:
Vous avez peut-être changé votre mot de passe, il y a eu un bug.
Oui, je l'ai fait, mais j'entre un mot de passe valide.
 
zfs:
Ils ont peut-être changé le mot de passe, il y avait un tel bug.
J'ai vérifié moi-même - cela fonctionne via le site web. Peut-être que le navigateur de la machine utilise l'ancien mot de passe ?