Errori, bug, domande - pagina 323

 
alexluek:

hmmm... È tornato.

probabilmente manca qualcosa NormalizeDouble

Cosa c'entra NormalizeDouble con la perdita di dati?

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5
 

Forse, ma è un fatto - l'ho provato ora - non è cambiato nulla.

HR      0       Prost_Dol-2 (USDCHF,M5) 16:47:53        2011.01.03 18:30:00   1,,,,,,,,,,,Open1[0]=0.93297 Open2[0]=0.9329
IL      0       Prost_Dol-2 (USDCHF,M5) 16:47:53        2011.01.03 18:30:00   1,,,,,,,,,,,ss=6.999999999999999 e-005

Come potete vedere la differenza non è la stessa che nei numeri sopra, sembra - dovrei andare a servicedesk?

 
alexluek:

Forse, ma è un fatto - l'ho provato ora - non è cambiato nulla.

Come potete vedere la differenza non è la stessa dei numeri di cui sopra, credo - dovrei andare a servicedesk?

6.999999999999999e-005 = 0.00006999999999999999 = 0.00007

va bene

leggete i numeri reali come vi è stato consigliato.

 
AlexSTAL:

6.999999999999999e-005 = 0.00006999999999999999 = 0.00007

tutti corretti

leggere di numeri reali, come ti viene consigliato

cioè nei calcoli (nel programma) non influisce sul funzionamento del programma!

Capito, grazie!

 
alexluek:

Forse, ma è un fatto - l'ho provato ora - non è cambiato nulla.

Come potete vedere la differenza non è la stessa che nei numeri sopra, credo - dovrei andare a servicedesk?

Ancora una volta. Leggete i numeri reali nella guida! Il Service Desk non vi aiuterà in questo caso.

È meglio formattare l'output da soli, invece di affidarsi a una pura funzione Print

Документация по MQL5: Общие функции / PrintFormat
Документация по MQL5: Общие функции / PrintFormat
  • www.mql5.com
Общие функции / PrintFormat - Документация по MQL5
 
alexluek:

Forse, ma è un fatto - l'ho provato ora - non è cambiato nulla.

Come potete vedere la differenza non è la stessa che nei numeri sopra, sembra - dovreste andare a servicedesk?

Cerchiamo prima di tutto di capire cosa esattamente pensate sia sbagliato?

Se avete in mente il risultato.

6.999999999999999 e-005

Non è un errore. Lo è davvero ed è descritto nella guida. Questo è il motivo per cui 0,93297-0,9329=0,00007 -> 6,999999999999999e-005. Otterrete lo stesso risultato se fate

Print(0.00007);

Se volete stampare il risultato 0,93297-0,9329=0,00007, usate la funzione DoubleToString.

 
alexvd:

Cerchiamo di capire prima di tutto, cosa pensate esattamente che sia sbagliato?

Se intendi il risultato

Non è un errore. Lo è davvero ed è descritto nella guida. Questo è il motivo per cui 0,93297-0,9329=0,00007 -> 6,999999999999999e-005. Otterrete lo stesso risultato se fate

Se volete stampare il risultato 0,93297-0,9329=0,00007, usate la funzione DoubleToString.

cioè nei calcoli (nel programma) non influisce sul funzionamento del programma!

Capito grazie!

 
alexluek:

cioè nei calcoli (nel programma) non influisce sul funzionamento del programma!

Capito, grazie!

Esattamente così
 

Tornando al mio problema con il crash del tester, lasciatemi spiegare meglio. L'EA standard Moving Average non va in crash, funziona correttamente.

Tuttavia, il mio EA non raggiunge la fine del suo lavoro, la connessione è interrotta:

Quali azioni possono portare a un fallimento della connessione? Cosa posso fare di sbagliato?

Non succede immediatamente, su uno storico di 4 mesi solo alla fine del 4° mese si verifica una disconnessione, prima che il tester funzioni, i trade sono aperti.

 

Non ho chiarito questa domanda in quel momento, e ora ho dei dubbi.

Qual è il modo giusto per riservare la memoria?

come questo

ArrayResize(arr,2001,2016);
o come questo
ArrayResize(arr,2001,15);

E correggere l'aiuto, è molto ambiguo.

SZZ nelle varianti precedenti implica che la dimensione della memoria allocata, comprese le prenotazioni, dovrebbe essere 2016.