Errori, bug, domande - pagina 3038

 
Andrey Khatimlianskii:

L'intera questione è il rapporto tra "tempo di compressione/scompressione" e "spazio occupato sul disco".

Naturalmente, è possibile trovare una soluzione migliore. È solo un po' più complicato all'interno di un terminale che una soluzione privata "per te stesso".

Non si tratta di zippare i dati, ma di comprimerli logicamente per formare array indicizzati. Il tempo di accesso a un elemento dell'array è quasi lo stesso. In alcuni casi è anche più veloce.

 
Nikolai Semko:

Non si tratta di zippare i dati, ma di comprimerli logicamente per formare array indicizzati. Il tempo di accesso a un elemento dell'array è quasi lo stesso. In alcuni casi anche più velocemente.

Pronto a offrire una soluzione MQ?

Non sono incline a pensare che qualcuno che ha fatto qualcosa come MT sia un idiota. Non è sempre giustificato, ma è spesso il caso. Quindi probabilmente c'è un po' di background nella loro soluzione. Ma non è certo )

 
Andrey Khatimlianskii:

Cos'è la stampella?

Che un milione di utenti sono protetti (e i broker insieme a loro) e bisogna ricaricare il terminale 2 volte?

Mi sembra una soluzione logica. È molto più logico che renderlo conveniente solo per te)

Qual è la difesa, Andrei?
Non dovete riavviare nulla.
I dati sono già nei file.

 
Andrey Khatimlianskii:

Pronto a offrire una soluzione MQ?

Non tendo a pensare che qualcuno che ha fatto qualcosa come MQ sia un idiota. Non è sempre giustificato, ma è spesso il caso. Quindi probabilmente c'è un po' di background nella loro soluzione. Ma non è certo )

Andiamo.
C'è sempre una soluzione migliore di una già esistente.
Non trasformarti in un vecchio timer però.

 
Nikolai Semko:

Qual è la difesa, Andrei?
Non c'è bisogno di ricaricare nulla.
I dati sono già nei file.

La cosa principale è che questi dati non saranno letti da indicatori e Expert Advisors, caricando la memoria operativa. Per quale motivo?

 
Nikolai Semko:

Andiamo.
C'è sempre una soluzione migliore di quella esistente.
Non diventare un vecchio però.

Ne sono certo.

Quindi forse non è una priorità.

 
Andrey Khatimlianskii:

In quanto questi dati non saranno letti dagli indicatori e dagli EA, caricando anche la RAM. A cosa serve quello?

bene darsi la zappa sui piedi - ci sono innumerevoli opzioni così com'è.
Solo impostando max_bars =Unlimited, il consumo di memoria aumenta drammaticamente.
Ecco un esempio del terminale con max_bars = 5000

Ora cambiate max_bars = Unlimited e ricaricate il terminale.

Con le stesse finestre aperte, il consumo di memoria è aumentato di più di GB. Nel mio caso 11 volte di più !!!!
Questo è un normale ))
Puoi controllare tu stesso.
max_bars = Unlimited è un lusso molto difficile.
Se

la mia richiesta fosse accolta, non potreste mai usaremax_bars = Unlimited.
E oltre a risparmiare memoria nella RAM, ridurrebbe anche notevolmente questa cartella, che ora ho circa 31GB. Credo circa 5 volte tanto. E sarebbe 6GB invece di 30GB.


 
Andrey Dik:

una soluzione di stampo è quella di tenere il database in una cartella, e di infilare i link alla cartella con il database nelle cartelle degli agenti

Ho suggerito molto tempo fa di implementare in MT la possibilità di scegliere il percorso delle cartelle con le fonti e i database storici.

Se diversi terminali accedono allo stesso broker, allora usando i collegamenti si può ottenere un errore di accesso, ma questo non dovrebbe (teoricamente) essere un problema per gli agenti.

Lo è davvero?! Nell'aiuto di MT5 non ho trovato nulla su questa scheda delle impostazioni, quando è apparsa? - Non ho idea di cosa farci.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

Andrey Dik, 2021.05.30 19:58

Se vuoi fare trading nella MetaTrader, devi creare una cartella agente agente e copiare il link alla cartella con il database in essa.

il mt ha suggerito da tempo di implementare la possibilità di selezionare il percorso delle cartelle con le fonti e i database storici come caratteristica standard.

Se diversi terminali stanno accedendo allo stesso simbolo di broker, allora i collegamenti possono causare un errore di accesso, ma questo non dovrebbe (teoricamente) essere un problema per gli agenti.


 
Nikolai Semko:

bene darsi la zappa sui piedi - ci sono innumerevoli opzioni così com'è.
Solo impostando max_bars =Unlimited, il consumo di memoria aumenta drammaticamente.
Ecco un esempio del terminale con max_bars = 5000

Ora cambiate max_bars = Unlimited e ricaricate il terminale.

Con le stesse finestre aperte, il consumo di memoria è aumentato di più di GB. Nel mio caso 11 volte più grande !!!!
Questo è un normale ))
Puoi controllare tu stesso.
max_bars = Unlimited è un lusso molto difficile.

Se ora stiamo parlando di consumo di memoria,@fxsaber ha avuto lo stesso problema un paio di mesi fa, ma con il caricamento dei tick - dopo aver rilasciato gli array con i tick, il terminale non libera la memoria, ma memorizza (per 10 secondi?) questi tick come cache

È molto probabile che la vostra richiesta avrà lo stesso problema - il consumo di memoria non diminuirà ma aumenterà (in picche)

 
Anton:

Questo è fornito dal terminale.

Sì, è così.

Grazie per la risposta!

Sarebbe molto comodo avere una dichiarazione/funzione MQL5 che controlla il calcolo di tutti gli indicatori e se gli indicatori sono calcolati, emette true, altrimenti deve essere fatto con una propria funzione, controllando ogni buffer di indicatori. Questo è molto rilevante per un EA che lavora con indicatori TF multitasking. E questa caratteristica del ritardo di calcolo non permette di utilizzare correttamente la modalità OHLC, perché nel primo e nel secondo tick non vengono calcolati tutti gli indicatori, il che è critico.