Errori, bug, domande - pagina 1657

 
Igor Karushev:

Non riesco a trovare da nessuna parte i requisiti minimi di memoria chiaramente indicati perMetaTrader 5 Strategy Tester Agent.

C'è una documentazione o un posto dove guardare?

Se volete ricevere compiti dal cloud, tenete a mente:

  • la strada è completamente chiusa per voi se avete Windows x32
  • la strada è chiusa per gli utenti con meno di 1 Gb di RAM per agente.
  • Se avete una CPU inferiore a Intel i7 - otterrete pochissimi lavori.

 
Karputov Vladimir:

Se volete ricevere compiti dal cloud, tenete presente

  • il percorso è completamente chiuso per voi se avete Windows x32
  • la strada è chiusa per voi se avete meno di 1 Gb di RAM per agente.
  • se avete una CPU inferiore a Intel i7 - otterrete pochissimi lavori.

C'è qualcosa da guadagnare lì, a parte le birre? )) A meno che, ovviamente, non si possieda una fattoria.
 
Karputov Vladimir:

Se volete ricevere compiti dal cloud, tenete presente

  • il percorso è completamente chiuso per voi se avete Windows x32
  • la strada è chiusa per voi se avete meno di 1 Gb di RAM per agente.
  • se avete una CPU inferiore a Intel i7 - otterrete pochissimi lavori.

Sei sicuro di 1 gigabyte di RAM? Non è 2GB? E ancora: ci sono dei numeri chiari scritti da qualche parte nella descrizione o nella documentazione?
 
Igor Karushev:
Sei sicuro di 1 gigabyte di RAM? Non sono 2 Gb? E ripeto: c'è qualche cifra chiara scritta da qualche parte nella descrizione o nella documentazione?

Non distorcere: il testo originale è mio:"se la RAM è inferiore a 1 Gb per agente"

Aggiunto:

E potete cercare le risposte nell'argomentoStiamo lanciando il servizio MQL5 Cloud Network!

 
Alexey Volchanskiy:
C'è qualcosa da guadagnare lì, a parte la birra? )) A meno che, ovviamente, non si possieda una fattoria.
Non possiedo un i7 - quindi ho spento il cloud molto tempo fa. Uso gli agenti esclusivamente sulla mia rete domestica.
 
Slawa:

La funzione di sistema Point() è in realtà inlined e convertita in un semplice accesso alla variabile _Point

E le funzioni dei parametri dell'ordine (OrderType(), OrderTicket(), ecc.) sono delineate dopo che l'ordine è stato selezionato? Se ci rivolgiamo ripetutamente, per esempio, al tipo di ordine selezionato, ha senso memorizzare il risultato di OrderType() in una variabile, e successivamente usare questa variabile nel nostro codice? O non farà alcuna differenza rispetto alle chiamate ripetute della funzione?

Cioè, c'è una differenza nella velocità di esecuzione, per esempio, di tali codici?

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP)
{
   
}

и

int nType = OrderType();

if(nType == OP_BUYLIMIT || nType == OP_BUYSTOP || nType == OP_SELLLIMIT || nType == OP_SELLSTOP)
{
   
}
 
L'ho provato io stesso. Il secondo codice è quattro volte più veloce. È tutto chiaro, la questione è fuori discussione.
 
Sergei Vladimirov:
L'ho provato io stesso. Il secondo codice è quattro volte più veloce. Questo è tutto, la domanda è fuori discussione.
Quattro volte più veloce. Può fornire delle cifre? Non 4 µs, ma 1 µs?)
 

Non micro. Nano. )

"a = OrderType()" - 3.45 ns.

"a = nType" - 2,19 ns.

 
Sergei Vladimirov:

Le funzioni dei parametri dell'ordine (OrderType(), OrderTicket(), ecc.) sono delineate dopo la selezione dell'ordine? Se ci rivolgiamo ripetutamente, per esempio, al tipo di ordine selezionato, ha senso memorizzare il risultato di OrderType() in una variabile, e usare quella variabile più avanti nel codice? O non farà alcuna differenza rispetto alle chiamate ripetute della funzione?

Cioè, c'è una differenza nella velocità di esecuzione, per esempio, di tali codici?

и

Sergei Vladimirov:
L'ho controllato io stesso. Il secondo codice viene eseguito 4 volte più velocemente. Tutto chiaro, la tua domanda ha una risposta.

Indipendentemente dalla domanda, qualsiasi chiamata di funzione è sempre più lenta del riferimento a una variabile sullo stack, in questo caso nType.

Personalmente, metto sempre in cache queste chiamate di funzioni MQL come la tua nel secondo caso.

Motivazione: