[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 111

 
Puoi dirmi se break: (1) dovrebbe essere dentro {..} o (2) dovrebbe essere dopo }, perché nell'esempio di dichiarazione switch solo un'azione è considerata dopo il caso.
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"; }
}
 

Le parentesi non sono affatto necessarie. Ma se lo fai - allora la rottura è all'interno.

Anche se... chi cazzo se ne frega, deve comunque eseguire.

 
Mathemat:

Stavo pensando a {...} in caso per analogia con if. Se c'è più di 1 azione, dovrebbe essere {...}. Se la filosofia del case operator è tale che tutto (!) viene eseguito dopo di esso, allora credo che dovremmo rimuovere {...}, come:
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";
}
 
Beh, è quello che c'è scritto.
 
paladin80:
Ho pensato a {...} in caso per analogia con if. Se c'è più di 1 azione, hai bisogno di {...}. Se la filosofia dell'operatore case è tale che tutto (!) viene eseguito dopo di esso, allora credo che dovremmo rimuovere completamente {...}, come:

Tutto viene eseguito prima della pausa, altrimenti è predefinito.

cioè

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);
приемлема и работает.

{...} è implicito da case a break (try output;)).

 
Solo, una piccola eccezione. Operatore GO TO, ma solo dentro {} :)
 
costy_: Eseguire tutto prima della pausa, altrimenti default.

Sì, e il tuo codice non compilerà affatto - a causa di questo:

return(09,05);
 
Puoi dirmi qualcosa: sto usando diversi array nei miei calcoli e ho bisogno di passare da un array all'altro, ma non è molto conveniente usare una condizione costante prima di ogni uso dell'array richiesto. Ci sono delle variabili di riferimento in MT4 per controllare la condizione una volta e poi scriverci dentro quale array ho bisogno di lavorare, non l'ho trovato nella documentazione.
 

No, le variabili (e anche gli array) possono essere passati solo per riferimento a una funzione.

 

Amici, c'è una domanda:

TimeHour - Restituisce un'ora per un tempo specificato.

Capisce il valore di 0 e 24?

Se scritto:

extern double TimeStart = 24.0;

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

Questa funzione è fattibile?

Oppure avete bisogno di un'altra condizione: 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 prima opzione può funzionare correttamente? O si dovrebbe fare il secondo?
Motivazione: