Un bug dans la fonction OrderSend() ? - page 7

 
tara:
Comme il ne prévoit pas que la variable soit initialisée au redémarrage du programme, il DOIT le faire.

Encore une fois, pour ceux qui sont dans le réservoir :

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   static int cc=20;
   Print("cc = ",cc);
   cc++;
   
   return(0);
  }
Exemple de travaux. L'initialisation fonctionne.
 
hoz:

Bien que ce point(du manuel) ne soit pas tout à fait clair pour moi :

" Les variables statiques sont initialisées une fois avant d'appeler la fonction spécialisée init(), c'est-à-dire que la valeur de cette variable n'est pas perdue à la sortie de la fonction, au sein de laquelle une variable statique est déclarée.

Qu'est-ce que cela a à voir avec " avant d'appeler la fonction spéciale init() " et après " c'est-à-dire lorsque vous quittez une fonction utilisateur (à en juger par le contenu) dans laquelle une variable statique est déclarée ? "

Une fonction dans laquelle une variable statique est déclarée peut se trouver à la fin d'un programme... c'est-à-dire à la fin du code ou ailleurs. La fonctioninit() est exécutée une fois juste avant le démarrage du programme. Il s'avère que c'est incohérent. Comment initialiser une variable avant la fonctioninit() ?

Peu importe où se trouve la fonction dans le programme, les variables statiques sont en dehors des fonctions.
 
PapaYozh:
Peu importe où se trouve la fonction dans le programme, les variables statiques sont en dehors des fonctions.

Qu'est-ce que tu veux dire ?
 
tara:

Non, ça ne le sera pas. C'est un bug :)
C'est une mauvaise habitude de se fier à l'initialisation par défaut.
 
PapaYozh:

Encore une fois, pour ceux qui sont dans le réservoir :

L'exemple fonctionne. L'initialisation fonctionne.

Clinique...

Oui, l'initialisation fonctionne. Exactement une fois. Et au redémarrage, ce n'est pas le cas. J'aimerais que ce soit le cas. C'est plus clair ?

 
Putain de merde, n'utilisez pas de statique dans les EA.
 
tara:

Clinique...

Oui, l'initialisation fonctionne. Exactement une fois. Et au redémarrage, ce n'est pas le cas. J'aimerais que ce soit le cas. C'est plus clair ?

Il ne fonctionnera qu'une seule fois, lorsque vous redémarrez le conseiller expert.

Que voulez-vous dire par redémarrer, entrer dans les propriétés de l'Expert Advisor et sortir en appuyant sur OK ?

 
TheXpert:
Putain de merde, n'utilisez pas de statique dans les EA.
Pas "ne pas utiliser", mais"utiliser correctement" ou"ne pas utiliser incorrectement".
 

Oui, et aussi :

1. Lorsque le compte est modifié ;

2. Lors du changement d'un instrument ;

3. Lors du changement de TF.