[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 111

 
Pouvez-vous me dire si la rupture : (1) doit être à l'intérieur de {..} ou (2) doit être après }, car dans l'exemple de l'instruction switch, seule une action est considérée après la casse.
int a; double b; string c;

switch (a) // --- 1.
{  
   case 1:  { b=Ask+SL_1*Point; c="with stop-loss = "+a; break; }
   case 2:  { b=Ask+SL_2*Point; c="with stop-loss = "+a; break; }
   default: { b=Ask+SL_0*Point; c="with stop-loss = 0"; }
}
switch (a) // --- 2.
{  
   case 1:  { b=Ask+SL_1*Point; c="with stop-loss = "+a; } break;
   case 2:  { b=Ask+SL_2*Point; c="with stop-loss = "+a; } break;
   default: { b=Ask+SL_0*Point; c="with stop-loss = 0"; }
}
 

Les parenthèses ne sont pas du tout nécessaires. Mais si vous le faites - alors la pause est à l'intérieur.

Bien que... on s'en fout, ça doit quand même être exécuté.

 
Mathemat:

Je pensais à {...} en cas par analogie avec si. S'il y a plus d'une action, elle doit être {...}. Si la philosophie de l'opérateur cas est telle que tout ( !) est exécuté après lui, alors je pense que nous devrions supprimer {...}, comme :
switch (a)
{  
   case 1:  b=Ask+SL_1*Point; c="with stop-loss = "+a; break;
   case 2:  b=Ask+SL_2*Point; c="with stop-loss = "+a; break;
   default: b=Ask+SL_0*Point; c="with stop-loss = 0";
}
 
Eh bien, c'est ce que ça dit.
 
paladin80:
J'ai pensé à {...} en cas par analogie avec si. S'il y a plus d'une action, vous avez besoin de {...}. Si la philosophie de l'opérateur case est telle que tout ( !) est exécuté après lui, alors je pense que nous devrions supprimer {...} complètement, comme :

Tout est exécuté avant la pause, sinon par défaut.

c'est-à-dire

case 1:  b=Ask+SL_1*Point; c="with stop-loss = "+a; break;
или
case 1:  b=Ask+SL_1*Point; c="with stop-loss = "+a; return(09,05);
приемлема и работает.

{...} est implicite de case à break (sortie try ;)).

 
Juste, une petite exception. Allez à l'opérateur, mais seulement à l'intérieur {} :)
 
costy_: Exécuter tout ce qui se trouve avant la pause, sinon, par défaut.

Oui, et votre code ne sera pas compilé du tout - à cause de ça :

return(09,05);
 
Pouvez-vous me dire quelque chose : j'utilise plusieurs tableaux dans mes calculs et j'ai besoin de passer d'un tableau à l'autre, mais ce n'est pas très pratique d'utiliser une condition constante avant chaque utilisation du tableau requis. Existe-t-il des variables de référence dans MT4 pour vérifier la condition une fois et ensuite écrire dans celle-ci quel tableau je dois travailler, je ne l'ai pas trouvé dans la documentation.
 

Non, les variables (ainsi que les tableaux) peuvent uniquement être transmises par référence à une fonction.

 

Mes amis, il y a une question :

TimeHour - Renvoie une heure pour un temps spécifié.

Comprend-il la valeur de 0 et de 24 ?

Si elle est écrite :

extern double TimeStart = 24.0;

if (TimeHour(TimeCurrent()) >= TimeStart )
   {
    ...
   }

Cette fonction est réalisable ?

Ou vous avez besoin d'une autre condition : if (TimeStart >= 24.0) TimeStart = TimeStart - 24.0 ;

extern double TimeStart = 24.0;

if (TimeStart >= 24.0)  TimeStart = TimeStart - 24.0;

if (TimeHour(TimeCurrent()) >= TimeStart )
   {
    ...
   }
La première option peut-elle fonctionner correctement ? Ou faut-il faire le second ?