Errori, bug, domande - pagina 1583

 

Il compilatore non rileverà un errore se il nome della classe e il puntatore alla funzione sono gli stessi

class fn {};
typedef void (*fn)();
void OnStart()
{
        Print( sizeof( fn ));
}
 

Problema: quando si testa un EA nel cloud, tutto va bene. Interrompo l'ottimizzazione, dopo un po' di tempo la riavvio - continuano ad arrivare errori OnInit failed. Aiuta a rinominare EA in un file con un altro nome ed eseguire l'ottimizzazione nel cloud con gli stessi parametri - nessun errore.

Penso che possa essere dovuto al fatto che durante il processo di inizializzazione l'EA ha bisogno di accedere ai caratteri, oltre a quello utilizzato per avviare il test.

Ho usato molto il cloud ultimamente e ci sto spendendo soldi veri, quindi per favore non ignorate la segnalazione del bug. Non posso fornire il codice dell'Expert Advisor, subito, perché appartiene al cliente.

P.S. Ora durante il test per qualche motivo il terminale si è disconnesso dal server cloud e si è riconnesso ad esso e questi errori sono ricominciati, anche senza riavviare il test

 
Comment(1/100); uscite 0, perché e come lo combatto?
 
Aliaksandr Kryvanos:
Comment(1/100); uscite 0, perché e come combatterlo?

Per esempio: Comment((double)1/100);

Oppure così: Comment(1.0/100);

 

No, non funziona così, 0 mette


Ho usato tutto l'arsenale (double, DoubleToStr, Normalize...), ma niente

 
Aliaksandr Kryvanos:
No, non funziona così, mette 0
Ho appena provato in entrambi i terminali, funziona bene e mette 0,01
 
Aliaksandr Kryvanos:
No, non funziona così, mette 0.
Quindi mostrate esplicitamente al compilatore che i numeri sono validi: Comment(1.0/100.0); o Comment(1.0*0.01);
 

я использовал весь арсенал (double, DoubleToStr, Normalize...), но вот никак

DoubleToStr e Normalize non funzioneranno, perché l'espressione stessa è int a meno che non sia esplicitamente castata a double. Molto probabilmente non hai riprodotto accuratamente il mio esempio e sei saltato alle conclusioni.
 
Grazie, funziona).
 

Sembra che uno stesso agente con un PR basso, che ottiene una corsa dopo l'altra, manca di memoria e fa saltare qualche parte dell'ottimizzazione (altri agenti ne hanno abbastanza e tutto localmente funziona bene). Perché non rimuovere immediatamente tali agenti dai test di continuazione?

Motivazione: