Questions d'un "mannequin - page 104

 
220Volt:
Merci, on dirait qu'il est temps de brûler le livre de l'arrière-grand-père. ))))

De l'histoire : le livre de l'arrière-grand-père laissait spécifiquement une longue=int pour la compatibilité des anciens logiciels.

À un moment donné, nous avons aussi décidé de laisser l'inutile long comme int et d'introduire l'inhumain int64 (ou long int) ou de faire "correctement" en utilisant un pur long. En conséquence, nous avons décidé que la procédure correcte est d'utiliser long comme un entier de 64 bits.

Long n'est pas toujours 32 bits dans les autres systèmes. Même le même compilateur pour différentes architectures utilise des tailles différentes. C'est ce que possède Intel C++ :

The size of a "long" integer varies between architectures and operating systems.

The Intel Compiler is compatible and inter-operable with Microsoft* Visual C++ on Windows* and
with gcc* on Linux* and Mac OS X*. Consequently, the sizes of fundamental types are the same as
for these compilers. The size of  a long integer in particular depends on the operating system
and the targeted architecture as follows:

   OS         arch           size
----------------------------------
Windows       IA-32        4 bytes
Windows       Intel 64     4 bytes
Windows       IA-64        4 bytes
Linux         IA-32        4 bytes
Linux         Intel 64     8 bytes
Linux         IA-64        8 bytes
Mac OS X      IA-32        4 bytes

Mac OS X        Intel 64       8 bytes


Dans MQL5, nous utilisons l'architecture compatible x64 bits qui exige le même comportement en 32 et 64 bits. long est en 64 bits pour cette raison également.


Un peu plus d'histoire, si vous vous en souvenez : à l'époque de MSDOS, int était 16 bits et égal à short dans les compilateurs 16 bits. Lorsque le programmeur est passé à la plate-forme 32 bits, int a été étendu à 32 bits et est devenu égal à short. Il semble qu'il n'y ait pas eu de plaintes particulières. Lorsque nous sommes passés à 64 bits, le long a dû être détaché du int. Et c'est logique.

 

MqlRates rates[] ;

J'ai besoin de trouver la valeur maximale de rates[].high sur les trois dernières barres.

Je ne sais pas comment appliquerArrayMaximum à la structure ?

 
dentraf:

MqlRates rates[] ;

J'ai besoin de trouver la valeur maximale de rates[].high sur les trois dernières barres.

Je ne sais pas comment appliquerArrayMaximum à la structure ?

Pour autant que je sache, cette fonction ne fonctionne qu'avec des tableaux numériques, alors écrivez votre propre fonction pour manipuler la structure.
 
dentraf:

MqlRates rates[] ;

J'ai besoin de trouver la valeur maximale de rates[].high sur les trois dernières barres.

Je ne sais pas comment appliquerArrayMaximum à la structure ?

double MaxHigh(const MqlRates& rates,int &index)
  {
   double max=0.0;
   index=-1;
//--- check
   if(ArraySize(rates)<3) return(EMPTY_VALUE);
//--- loop
   for(int i=0;i<3;i++)
      if(max<rates[i].high)
        {
         max=rates[i].high;
         index=i;
        }
//--- result
   return(max);
  }
C'est comme ça. ArrayMaximum ne s'applique pas à la structure.
 
uncleVic:
Quelque chose comme ça. ArrayMaximum ne s'applique pas à la structure.
Merci !
 

qu'est-ce que cela signifie ?

CExpertBase::SetOtherSeries : la modification des séries temporelles est interdite

 
CExpertBase::SetOtherSeries : le changement de série temporelle est interdit
qu'est-ce que cela peut signifier ?
 

Dites-moi s'il vous plaît.

Étant donné :

  • Deux processus (#1 et #2) ;
  • fonctionnant en parallèle ;
  • espace mémoire de l'UE ;
  • à un moment donné (sur un cycle), les processus essaient de faire ce qui suit :

1. écriture n° 1 vers l'UE et lecture n° 2 ;

2. écrire #1 et #2 dans l'UE ;

Question : quelle situation est conflictuelle ? Je suis plus intéressé par le cas n°1, peut-on le considérer comme normal, ou faut-il en restreindre l'accès ? Je soupçonne que le 1er cas n'est pas bon, à quoi ressemblera le conflit, valeur peu claire, ou s'attendre à quelque chose de plus grave ?

 
openlive:
CExpertBase::SetOtherSeries : le changement de série temporelle est interdit
Qu'est-ce que cela signifie ?
Un peu plus de détails... Quelle est la ligne suivante (de préférence plusieurs) dans le journal ?
 

220Volt:

Question : quelle situation est une situation de conflit ? Je suis plus intéressé par le cas 1, est-ce que cela peut être considéré comme normal, ou est-ce que l'accès doit être restreint ? Je soupçonne que le cas 1 n'est pas bon, à quoi ressemblerait le conflit, une valeur peu claire, ou dois-je m'attendre à quelque chose de plus grave ?

Les deux situations seront en conflit, avec une valeur peu claire.
Raison: