Erreurs, bugs, questions - page 2333

 
fxsaber:

Je serais à l'aise si une macro était mentionnée au moins une fois quelque part dans #define, #ifdef, #undef, etc. Même si elle n'est pas définie.

Cela s'explique par le fait que de nombreux identifiants sont en majuscules, alors qu'il existe une règle tacite selon laquelle les majuscules sont réservées aux macros (la mise en évidence des macros ne se fait pas par la couleur mais par la police).

 
A100:

Cela s'explique par le fait que de nombreux identifiants sont en majuscules, alors qu'il existe une règle tacite selon laquelle les majuscules sont réservées aux macros (la mise en évidence des macros ne se fait pas par la couleur mais par la police).

Non. C'est pratique car la logique est sans ambiguïté.

 
fxsaber:

Non. C'est pratique car la logique est sans ambiguïté.

Ma logique est simple : X avant #define X n'est pas encore une macro, et après #undef X ce n'est plus une macro (respectivement X est coloré seulement là où c'est une macro)
 
A100:
Ma logique est simple : X avant #define X n'est pas encore une macro et après #undef X n'est plus une macro (respectivement X est mis en évidence uniquement là où c'est une macro).

J'utilise mqh, qui n'a pas de #define, mais qui a des #ifdef. La raison pour laquelle ils ne devraient pas être mis en évidence n'est pas claire.

 
fxsaber:

Je n'ai jamais essayé de déterminer par la couleur. De plus, si tout est dans #ifdef, MQL4 et MQL5 peuvent avoir des sous-couleurs différentes. Le plus simple est de faire ALT+G sur le nom de la macro pour voir si elle est là ou pas.

#define  PRICEST_TICK_PRICE //(1)
//...
#undef   PRICEST_TICK_PRICE //(2)
//...
void OnStart()
{
        int PRICEST_TICK_PRICE; //(3)
}

Lorsque je suis à la ligne (3), j'appuie sur ALT+G -> déplacement vers la ligne (1).

Question : la macro est-elle présente ou non ?

 
A100:

Lorsque je suis dans la ligne (3), j'appuie sur ALT+G pour aller à la ligne (1).

Question : la macro est-elle présente ou non ?

Je ne comprends pas vos gémissements, pour ne pas dire plus. Je sais comment travailler avec des macros. Je sais parfaitement ce que signifie ALT+G, et je sais parfaitement qu'une macro peut être annulée via #undef. J'aime le comportement de cet éditeur en particulier.

La ringardise est parfois bonne, mais pas dans ce cas.

 
fxsaber:

J'utilise mqh, qui n'a pas de #define, mais qui a des #ifdef. La raison pour laquelle ils ne devraient pas être mis en évidence n'est pas claire.

Si auparavant il n'y a pas de #define X, alors X dans #ifdef X - n'est pas mis en évidence (*) car - ici tout est normal (au moins dans MetaEditor)

Je n'ai qu'une seule question à poser aux développeurs: pourquoi dans MetaEditor X est mis en évidence dans #define X, si auparavant il n'y avait pas de #define X, alors que cela se produit ci-dessus dans (*)

Votre question était le contraire : pourquoi X n'est pas mis en évidence sur le site

 

Quelle propriété du symbole est responsable de l'interdiction d'une position ouverte SL/TP ?


 
fxsaber:

Quelle propriété du symbole est responsable de l'interdiction d'une position ouverte SL/TP ?


Probablement le marché ou l'exécution instantanée

 

Je le laisse ici, juste au cas où