Cari signori! È la 3a volta che incontro questo problema. Creare una libreria esterna sotto Windows7 x64 porta a certi miracoli:
Scusate il ritardo. Ti ha risposto in privato.
Si prega di allegare il codice sorgente. Se possibile, per favore, fatelo attraverso servicedesk. Questo ridurrà al minimo la probabilità di tali ritardi.
Puoi tracciare un semplice frammento di codice per il confronto tra x32 e x64? Per calmare la vostra curiosità, per così dire...
Non posso darvi il codice su due piedi - non ho la caratteristica a portata di mano.
Le differenze sono le seguenti.
I registri sono a 64-bit - 32-bit. Corrispondentemente, l'aritmetica a 64 bit sta in una sola istruzione (in 32 bit la divisione di due interi a 64 bit è fatta in 40 istruzioni dell'assemblatore)
Ci sono più registri a 64 bit. Corrispondentemente, l'indirizzamento dei registri è diverso.
La convenzione di chiamata è diversa. Per esempio, in 64 bit i primi 4 parametri di una funzione sono passati nei registri
Gli agenti locali rimangono in memoria con le loro cache sollevate per altri 5 minuti dopo che il test è stato fermato, in attesa di nuovi compiti. Se nessuno li carica entro 5 minuti, vengono automaticamente scaricati con tutte le risorse rilasciate.
Questo meccanismo di attesa ha permesso agli agenti di aumentare la velocità di risposta sui compiti ripetuti a scapito delle infrastrutture pronte/aumentate.
ps: questo riguarda gli agenti locali. gli agenti remoti in esecuzione come servizi non vengono scaricati, ma liberano anche risorse dopo un certo tempo di inattività.
Usando la build 404. Sto parlando di problemi sugli agenti remoti. Anche dopo 10 ore di inattività, la memoria non viene liberata.
Qualche altro problema:
1. quasi costantemente quando si esegue un test di strategia, il primo passaggio su ogni processore termina rapidamente e restituisce zero risultati.
E se vi fermate e ripartite, questi zeri non vengono ricalcolati. Sto eseguendo il test su un gran numero di processori e 40-50 risultati con zeri e nessuna possibilità di ricalcolare questi dati.
A volte uno dei processori passa a failed e inizia a restituire risultati nulli alcune volte al secondo. Ma se lo fermo questi dati saranno ricalcolati di nuovo (campo arancione nella tabella).
3. Quando si eseguono agenti remoti su 16 processori, internet 1 megaplayer non permette una storia di download così veloce, ed è ovvio che a causa del timeout tutti i processori sono falliti. Se si abilita un processore alla volta, di solito funziona. È possibile utilizzare un sistema con 16 processori per scaricare la storia sul primo processore e poi copiarla sugli altri processori? O semplicemente aumentare il timeout quando si carica la storia.
Usando la build 404. Sto parlando di problemi sugli agenti remoti. Anche dopo 10 ore di inattività, la memoria non viene liberata.
Qualche altro problema:
1. quasi costantemente quando si eseguono test di strategia il primo passaggio su ogni processore termina rapidamente e restituisce zero risultati.
E se vi fermate e ripartite, questi zeri non vengono ricalcolati. Sto eseguendo il test su un gran numero di processori e 40-50 risultati con zeri e nessuna possibilità di ricalcolare questi dati.
A volte uno dei processori passa a failed e inizia a restituire risultati nulli alcune volte al secondo. Ma se lo fermo questi dati saranno ricalcolati di nuovo (campo arancione nella tabella).
3. Quando si eseguono agenti remoti su 16 processori, internet 1 megaplayer non permette una storia di download così veloce, ed è ovvio che a causa del timeout tutti i processori sono falliti. Se si abilita un processore alla volta, di solito funziona. È possibile utilizzare un sistema con 16 processori per scaricare la storia sul primo processore e poi copiarla sugli altri processori? O semplicemente aumentare il timeout quando si carica la storia.
Ho bisogno dei log dell'agente, delle impostazioni, del simbolo, del server.
È possibile EX5 esperto, ma meglio, naturalmente, la fonte.
KffAlex: Questo problema non esiste se le funzioni vengono spostate nel corpo del programma, e su Windows XP questo problema semplicemente non esiste!!!
Sembra essere una questione di bitness (64/32), in Windows XP si lavora sotto 32 bit, quindi l'errore non viene riprodotto. Si prega di creare una richiesta a servicedesk con i file EX5 del problema allegati.(il tuo link al Service Desk)
C'è qualcosa che va in loop nel tester e questo è tutto.
Il tempo nel futuro è più lungo che nel passato, il tuo pezzo di codice non è illustrativo, non è chiaro cosa stai facendo nel blocco if e cosa vuoi da esso...
Ecco, secondo me, informazioni esaustive sul confronto dei tempi :)
//+------------------------------------------------------------------+//| test.mq5 |//| mrProF |//| http:// |//+------------------------------------------------------------------+#property copyright "mrProF"#property link "http://"#property version "1.00"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---datetime past=D'2010.12.1'; //Прошлоеdatetime future=D'2010.12.02'; //Будущееif(past<future)
{
Print(past," раньше чем: ",future);
}
datetime buffTime[1]; //Буфер для времени последнего бараCopyTime(_Symbol,_Period,0,1,buffTime); //Копируем время последнего бараif(buffTime[0]>past)
{
Print(past," раньше чем: ",buffTime[0]);
}
}
//+------------------------------------------------------------------+
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Il codice è fondamentalmente diverso.
Wow... Sono scioccato...
Puoi postare qualche semplice frammento di codice x32 e x64 per un confronto? Solo per soddisfare la tua curiosità, per così dire...
Cari signori! È la 3a volta che incontro questo problema. Creare una libreria esterna sotto Windows7 x64 porta a certi miracoli:
Scusate il ritardo. Ti ha risposto in privato.
Si prega di allegare il codice sorgente. Se possibile, per favore, fatelo attraverso servicedesk. Questo ridurrà al minimo la probabilità di tali ritardi.
Wow... Sono scioccato...
Puoi tracciare un semplice frammento di codice per il confronto tra x32 e x64? Per calmare la vostra curiosità, per così dire...
Non posso darvi il codice su due piedi - non ho la caratteristica a portata di mano.
Le differenze sono le seguenti.
Gli agenti locali rimangono in memoria con le loro cache sollevate per altri 5 minuti dopo che il test è stato fermato, in attesa di nuovi compiti. Se nessuno li carica entro 5 minuti, vengono automaticamente scaricati con tutte le risorse rilasciate.
Questo meccanismo di attesa ha permesso agli agenti di aumentare la velocità di risposta sui compiti ripetuti a scapito delle infrastrutture pronte/aumentate.
ps: questo riguarda gli agenti locali. gli agenti remoti in esecuzione come servizi non vengono scaricati, ma liberano anche risorse dopo un certo tempo di inattività.
Usando la build 404. Sto parlando di problemi sugli agenti remoti. Anche dopo 10 ore di inattività, la memoria non viene liberata.
Qualche altro problema:
1. quasi costantemente quando si esegue un test di strategia, il primo passaggio su ogni processore termina rapidamente e restituisce zero risultati.
E se vi fermate e ripartite, questi zeri non vengono ricalcolati. Sto eseguendo il test su un gran numero di processori e 40-50 risultati con zeri e nessuna possibilità di ricalcolare questi dati.
A volte uno dei processori passa a failed e inizia a restituire risultati nulli alcune volte al secondo. Ma se lo fermo questi dati saranno ricalcolati di nuovo (campo arancione nella tabella).
3. Quando si eseguono agenti remoti su 16 processori, internet 1 megaplayer non permette una storia di download così veloce, ed è ovvio che a causa del timeout tutti i processori sono falliti. Se si abilita un processore alla volta, di solito funziona. È possibile utilizzare un sistema con 16 processori per scaricare la storia sul primo processore e poi copiarla sugli altri processori? O semplicemente aumentare il timeout quando si carica la storia.
Usando la build 404. Sto parlando di problemi sugli agenti remoti. Anche dopo 10 ore di inattività, la memoria non viene liberata.
Qualche altro problema:
1. quasi costantemente quando si eseguono test di strategia il primo passaggio su ogni processore termina rapidamente e restituisce zero risultati.
E se vi fermate e ripartite, questi zeri non vengono ricalcolati. Sto eseguendo il test su un gran numero di processori e 40-50 risultati con zeri e nessuna possibilità di ricalcolare questi dati.
A volte uno dei processori passa a failed e inizia a restituire risultati nulli alcune volte al secondo. Ma se lo fermo questi dati saranno ricalcolati di nuovo (campo arancione nella tabella).
3. Quando si eseguono agenti remoti su 16 processori, internet 1 megaplayer non permette una storia di download così veloce, ed è ovvio che a causa del timeout tutti i processori sono falliti. Se si abilita un processore alla volta, di solito funziona. È possibile utilizzare un sistema con 16 processori per scaricare la storia sul primo processore e poi copiarla sugli altri processori? O semplicemente aumentare il timeout quando si carica la storia.
Ho bisogno dei log dell'agente, delle impostazioni, del simbolo, del server.
È possibile EX5 esperto, ma meglio, naturalmente, la fonte.
Preferibilmente in servicedesk.
Questo problema non esiste se le funzioni vengono spostate nel corpo del programma, e su Windows XP questo problema semplicemente non esiste!!!
Si prega di creare una richiesta a servicedesk con i file EX5 del problema allegati.(il tuo link al Service Desk)
Aiuto, non riesco a capire come confrontare i due numeri, sono passati 2 giorni
(data di oggi) > (data di ieri)
ordine - (data di ieri)
O non è proprio possibile?
Ha scritto questo:
il tester si blocca e questo è tutto
Ha scritto questo:
C'è qualcosa che va in loop nel tester e questo è tutto.
Il tempo nel futuro è più lungo che nel passato, il tuo pezzo di codice non è illustrativo, non è chiaro cosa stai facendo nel blocco if e cosa vuoi da esso...
Ecco, secondo me, informazioni esaustive sul confronto dei tempi :)