Errori, bug, domande - pagina 3069

 

Sono sicuro che la domanda è stata posta prima, ma non sono riuscito a trovarla.

Avere uno script

void OnStart()
  {
   uchar uchar0 = 0;
   uchar uchar1 = 1;
   Print(uchar0 - uchar1);      //-1
   Print(0 - uchar1);           //-1
   Print(-uchar1);              //255
   Print(typename(-uchar1));    //int
   Print(-(int)uchar1);         //-1

   ushort ushort0 = 0;
   ushort ushort1 = 1;
   Print(ushort0 - ushort1);      //-1
   Print(0 - ushort1);           //-1
   Print(-ushort1);              //65535
   Print(typename(-ushort1));    //int
   Print(-(int)ushort1);         //-1

   uint uint1 = 1;
   Print(0 - uint1);           //4294967295
   Print(-uint1);              //4294967295
   Print(typename(-uint1));    //long
  }

Si prega di spiegare:

1. Perché 0-uchar1 (e uchar0-uchar1) dà un risultato diverso da (-uchar1)? Dopo tutto, nelle operazioni con i tipi (u)char e (u)short, gli operandi sono automaticamente convertiti in int. E typename(-uchar1) restituisce int (stessa domanda per ushort1)

2. Con uint la situazione è diversa. -uint1 restituisce il risultato atteso ma typename(-uint1) restituisce long. È un bug di typename?

 
ragazzi ditemi quanti buffer erano allocati per indicatore nel vecchio quad prima della versione 506.... ora so 512
 
ruslan:
ragazzi ditemi quanti buffer.... erano allocati per indicatore nel vecchio quad prima della versione 506 ora so 512

Per memoria 64. Provate a dichiarare più di 100, se ci sono stati aggiornamenti prima non ci sarà nessun errore, se dopo darà un errore.

 
Valeriy Yastremskiy:

Per memoria 64. Provate a dichiarare più di 100, se ci sono stati aggiornamenti prima non ci sarà nessun errore, se dopo darà un errore.

Avete per caso un installatore di terminali 225?
 
ruslan:
hai per caso il programma di installazione del terminale 225?

No molto probabilmente, dal momento che 18 qui. L'aggiornamento da 4k a 5k in termini di funzionalità è avvenuto tra il 14 e il 16.

 
mktr8591:

Sono sicuro che la domanda è stata posta prima, ma non sono riuscito a trovarla.

Avere uno script


Si prega di spiegare:

1. Perché 0-uchar1 (e uchar0-uchar1) dà un risultato diverso da (-uchar1)? Dopo tutto, nelle operazioni con i tipi (u)char e (u)short, gli operandi sono automaticamente convertiti in int. E typename(-uchar1) restituisce int (stessa domanda per ushort1)

2. Con uint la situazione è diversa. -uint1 restituisce il risultato atteso ma typename(-uint1) restituisce long. È un bug di typename?

Grazie per il post.

1. il tipo di operando è stato effettivamente selezionato come tipo di risultato per il meno unario - fisso

2. ci siamo discostati dallo standard e l'operazione unaria meno restituisce il tipo long per il tipo uint, a causa dell'errore nel punto 1 il tipo di risultato è rimasto il tipo uint (non long)

 
Valeriy Yastremskiy:

Per memoria 64. Provate a dichiarare più di 100, se ci sono stati aggiornamenti prima non ci sarà nessun errore, se dopo darà un errore.

trovato 8 buffer lì.... grazie
 

Ora MQL5.com ha prima il mercato, poi i segnali e solo dopo il forum. In precedenza, era previsto che per gli utenti autorizzati il Forum fosse in cima alla pagina principale.


ZZY Dopo questo post, il Forum apparirà in alto. Non appena cancelli questo post, il forum torna al terzo.

 
fxsaber:

Ora MQL5.com ha prima il mercato, poi i segnali e solo dopo il forum. In precedenza, era previsto che per gli utenti autorizzati il Forum fosse in cima alla pagina principale.


ZZY Dopo questo post, il Forum apparirà in alto. Non appena si cancella quel post, il forum torna al terzo posto.

Sono d'accordo - Forum è più conveniente prima!

 

Non riesco a scrivere una funzione che emetta true nell'EA solo quando il focus passa al grafico dell'EA.

Potete darmi un suggerimento se ne avete incontrato uno.


Non c'è abbastanza CHARTEVENT sul perdere e guadagnare concentrazione.