Errori, bug, domande - pagina 2622

 
Ho notato questo bug sul sito web nei messaggi privati sul mio telefono.
Non funziona aggiornando la pagina nel modo standard di scorrimento verso il basso.

. Apparso forse 1 mese o 2. Non stavo prestando attenzione.

Il telefono è su Android 10, se importante.
Andando nei messaggi privati e se è arrivato un nuovo messaggio, non sempre si aggiorna automaticamente.

E quando aggiorno con il mio dito (dall'alto verso il basso) ha anche smesso di aggiornare.

Devo premere di nuovo l'icona del messaggio privato.

Bug solo nei messaggi privati.
Aggiornamento: questo succede solo su samsung internet.
Piuttosto un problema con esso dopo l'aggiornamento.

In chrome tutto è ok.
 

Perché nella linea 3:

  datetime dt = 0;
  ulong x = 0;
  if(dt < x) x++;

avvertimento di "errore di segno"?

Datetime dovrebbe essere un numero senza segno (8 byte come ulong). Mi faccia un esempio di una data negativa.

 

Dimmi come fare il debug delle librerie ex5?

C'è una libreria che ha funzionato per diversi anni senza problemi. Tuttavia, dopo alcune modifiche al compilatore nelle ultime build, una chiamata di funzione puntatore dalla libreria finisce con un errore di "chiamata di puntatore a funzione non valida". Se il sorgente della libreria è incluso nell'Expert Advisor direttamente attraverso il link, non c'è nessun errore.

In generale, è necessario un modo per confrontare i tipi di puntatori(prototipi di funzioni), generati nella libreria e nell'Expert Advisor, che carica la libreria.

Il supporto è chiuso. Non mostrerò qui il codice sorgente del mercato.

Per riferimento, con lo stesso codice sorgente, la chiamata alla libreria ha funzionato bene nella build 2190.
 
Stanislav Korotky:

Per riferimento, con lo stesso codice sorgente, una chiamata dalla libreria ha funzionato bene nella build 2190.

Nel 2170 non ho più puntatori alle funzioni, ecco un esempio che funziona ancora in MQL4, ma non funziona più in MQL5

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

 
Igor Makanu:

Ho smesso di lavorare con i puntatori di funzione nel 2170. Ecco un esempio che funziona ancora in MQL4, ma ha smesso di funzionare in MQL5

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

L'ho letto. Ho un caso diverso. Ma questo è probabilmente la conseguenza dello stesso "giro di vite". Tuttavia, le buone pratiche in questo caso implicano istruzioni umane per la migrazione degli sviluppi esistenti con esempi o disponibilità di un calibro.

 

Matematica abbastanza divertente

//+------------------------------------------------------------------+
double volume_step = 0.01;
void OnStart()
  {
   int total = 10;
   double aVolume = 0.01;
   
   for(int i=0; i<total; i++)
     {
      aVolume = volume_step * MathFloor(aVolume / volume_step);
      Print(DoubleToString(aVolume,8)+"   "+ DoubleToString(volume_step,2)+"   "+DoubleToString(MathFloor(aVolume / volume_step),2)+"  Next lot = "+(aVolume+0.01));
      aVolume+=0.01;
     }
  }
//+------------------------------------------------------------------+

Risultato

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.06999999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.0699999999999999999Come 0.06000000 + 0.01 diventa 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Prossimo lotto = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Prossimo lotto = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Prossimo lotto = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Prossimo lotto = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Prossimo lotto = 0.02


 
Vladimir Pastushak:

Matematica abbastanza notevole

Come fa 0,06000000 + 0,01 a diventare 0,069999999999999999999

perché 0,069999999999999999999 è il numero più vicino a 0,07 che può essere rappresentato dal tipo double

 
Vladimir Pastushak:

Matematica abbastanza divertente

Risultato

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Prossimo lotto = 0.0699999999999999999 Come 0.06000000 + 0.01 diventa 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Prossimo lotto = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Prossimo lotto = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Prossimo lotto = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Prossimo lotto = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Prossimo lotto = 0.02


Per favore, leggete le banchine e sarete felici.

E a proposito: IEEE 754, - studiatelo.

 
Igor Makanu:

perché 0,06999999999999999999999 è il numero più vicino a 0,07 che può essere rappresentato dal tipo double

Vladimir Simakov:

Leggete i documenti e sarete felici.

A proposito: IEEE 754, - studio.

Cosa gli stai insegnando... ha 49 prodotti pubblicati sul mercato. Lui sa già tutto da solo....
 
Alexey Viktorov:
Cosa gli stai insegnando... ha 49 prodotti pubblicati sul mercato. Lui sa già tutto da solo....

Quindi stai suggerendo che quelli che postano sul Mercato dovrebbero essere ignorati? Non sono sicuro di volerlo fare, c'era una domanda, c'era una discussione, penso che sia una situazione normale

PS:

su questo .... provare a ristampare il doppio tramite printf(), ho il sospetto che ci sarà un sacco di "quante meravigliose scoperte ci prepara lo spirito dell'illuminazione..."

;)