Errori, bug, domande - pagina 3036

 
Anton:

Questo è fornito dal terminale.

Sì, è così.

Anton, una funzione separata per ottenere tutti gli M1 (solo M1) indipendentemente dal parametro MAX_BARS senza cache e salvando i dati su disco è molto mancante. Questo darebbe al programmatore nuove opportunità di formare la propria struttura di dati storici.
Tutti i tick sono accessibili, ma M1 non lo è se MAX_BARS != Unlimited. Il problema non si porrebbe se tutte le zecche coprissero tutta la storia di M1, ma non è così.
 
Nikolai Semko:
Anton, manca davvero una funzione separata per ottenere tutti gli M1 (solo M1) indipendentemente dal parametro MAX_BARS senza memorizzare nella cache e salvare i dati su disco. Questo darebbe al programmatore nuove possibilità di formare la propria struttura di dati storici.
Tutti i tick sono accessibili, ma M1 non lo è se MAX_BARS != Unlimited. La questione non si porrebbe se tutte le zecche coprissero tutta la storia di M1, ma non è così.

resta da vedere quanti utenti o programmatori lo useranno? - attivare le proprietà del grafico illimitato nelle impostazioni del terminale e utilizzare

per ora sembra "sviluppatore vieni ad accendere Unlimited setting per me se non fai nuovi plus"

 
Igor Makanu:

l'unica cosa che resta da capire è quanti utenti o programmatori lo useranno? - attivare le proprietà del grafico illimitato nelle impostazioni del terminale e utilizzare

per ora sembra che "lo sviluppatore venga ad attivare l'impostazione Unlimited per me se non fai nuovi peluche"

Illimitato è un'opzione molto costosa per tutto il terminale. Immediatamente il consumo di spazio su disco e di traffico sale in modo gigantesco. Ma se ho bisogno diUnlimited solo per uno strumento e solo una volta?
Dopo tutto, i miei archivi di dati storici occupano 5 volte meno spazio su disco rispetto a quelli regolari, e allo stesso tempo sono più informativi, perché contengono il tempo per il massimo e per il minimo e tutti i TF già calcolati e non è necessario calcolarli ogni volta al volo.

Ti
assicuro, Igor, che se pubblico una tale libreria in BE, molti programmatori inizieranno ad usarla o a creare qualcosa di simile guardando la sua efficacia.
E se è anche un prodotto nel Marketplace?
Devo chiedere a tutti di abilitare questoUnlimited, sapendo che così facendo li metterò molto sul traffico e sullo spazio disco?

Penso che la mia richiesta sia perfettamente adeguata, e che non richieda molte risorse per essere implementata, dato che tutto esiste già così com'è. È una questione di 10-15 minuti.
Dopo tutto, quando max_bars = 1000 e si richiedono 1000 barre W1, l'intera storia M1 viene caricata comunque, e W1 è già calcolata da essa, solo M1 non viene salvata su file.

 
Nikolai Semko:

Perché quando max_bars = 1000 e chiedete 1000 barre W1, l'intera cronologia M1 è ancora caricata e W1 è già calcolata da essa, solo M1 non viene salvata nel file.

Com'è? Caricato, ma non salvato?

 
Andrey Khatimlianskii:

Com'è? Caricato, ma non salvato?

Solo M1 viene scaricato dal server, e ogni altro TF viene generato da esso.
Non più di max_bars di quei TF che sono stati richiesti programmaticamente o dall'utente attraverso la selezione TF vengono salvati su disco.
1000 barre W1 è circa venti anni di dati, cioè quasi l'intera storia di M1 verrà scaricata.
Puoi Andrei controllare le mie parole. Apri un nuovo simbolo nella panoramica del mercato e apri la sua finestra e attiva subito il TF mensile. E vedrai quanto velocemente vengono scaricati i dati.
Ma vedrai un piccolo file in ...MetaQuotes\Terminal\...\bases\...\history\...\cache\M1.hc.
E la cosa divertente è che i file hcc saranno generati durante tutti gli anni e peseranno già fino a mezzo gigabyte. Il formato hcc significa che sono già scaricati da M1, ma non disponibili per il programmatore.
Quindi non dovrete nemmeno scaricarli.
E a giudicare dalla dimensione della struttura MqlRates = 60 byte, i file hcc non sono affatto compressi. Molto dispendioso!

HZ ha fatto un esperimento più attento e ha scoperto che quando si richiedono i dati di qualsiasi periodo, i dati spacchettati di questi periodi sono salvati in file hcc (barre dei minuti) e i dati sono spacchettati dalla RAM nel catalogo Cache solo allo spegnimento del terminale.
cioè, i timeframes sono formati e calcolati in memoria e salvati nel file cache allo spegnimento del terminale. Questo è effettivamente logico. È solo illogico tenere i file hcc in forma non compressa e non dare accesso ad essi ai programmatori.

 
Nikolai Semko:

Beh, se dovete aspettare, aspettate e basta, sempre che gli sviluppatori ci vedano un senso.... basta essere preparati ad aspettare, beh... Ho chiesto dell'operator overloading, l'amministratore ha detto che era una caratteristica non necessaria, poi non ho avuto a che fare con MQL per 5 anni e ora è tutto qui! ))))

 
Igor Makanu:

Beh, se è quello che ci vuole, basta aspettare, sempre che gli sviluppatori ci vedano un senso.... basta essere preparati ad aspettare, beh... Ho chiesto dell'operator overloading, l'amministratore ha detto che era una caratteristica non necessaria, poi non ho avuto a che fare con MQL per 5 anni e ora è tutto qui! ))))

Sì, è uno spettacolo triste. Sono d'accordo.
Il motivo, come ho detto prima, è la gestione manuale dell'azienda.

 
Anton:

Questo è fornito dal terminale.

Sì, è così.

Nikolai Semko:
Anton, quello che manca è una funzione separata per ottenere tutti gli M1 (solo gli M1) indipendentemente dal parametro MAX_BARS senza cache e senza salvare i dati su disco. Questo darebbe al programmatore nuove possibilità di formare la propriastruttura di dati storici.
Tutti i tick sono accessibili, ma M1 non lo è se MAX_BARS != Unlimited. La questione non si porrebbe se tutte le zecche coprissero tutta la storia di M1, ma non è così.

Cioè da quanto sopra la richiesta può anche essere semplificata:
Ottenere l'accesso programmatico a barre M1 già esistenti situate (scaricate) in file hcc. Puoi farlo con un comando separato o con quelli già esistenti.
Se ho bisogno di barre di minuti oltre max_bars, allora devo solo avviare il download delle barre MN o W1, e dopo sarò sicuro che i file hcc necessari sono già stati generati.

 
Cioè volete la capacità intrinseca di bypassare la restrizione intrinseca? )
 
Andrei Trukhanovich:
Quindi volete un'abilità intrinseca per bypassare una limitazione intrinseca? )
Non è una limitazione.
Non ha senso limitarlo.
La sicurezza non ne risente. E non influisce su nessun tipo di risorse; al contrario, c'è un'opportunità di risparmiare risorse per i programmatori.
Questo è un semplice illogismo, che propongo di correggere.
Avete i dati, ma non potete accedervi.

Motivazione: