Errori, bug, domande - pagina 2557
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sì, schiantarsi è molto difficile. Meglio non correre rischi.
È tutta una questione di memoria, ovviamente.
Se si pulisce la memoria con l'aiuto delle mani come queste:
allora non si verifica nemmeno il crash. Almeno non è successo a me.
Ma quando il TF viene cambiato, gli array devono essere puliti automaticamente!
Non capisco, perché dovremmo occuparci della funzione Crash() se non lo fa, perché legge solo informazioni sugli indicatori.
Forse, l'esecuzione di questa funzione rallenta OnDeinit quando si cambia il TF, e quindi MT5 non ha il tempo di cancellare la memoria.
Ci sono problemi con la funzione asincrona OnDeinit per molto tempo. Non è buono! Il sistema non deve bloccarsi a causa dell'asincronia.
1) dovete troncare lo storione con INT_MAX(2 bn) qui:
sistemeremo anche questo dalla nostra parte.
2) tutta la memoria deve essere gestita in modo molto rigoroso, nessun GC qui
3) la reinizializzazione dell'indicatore al cambio di timeframe è calda senza la reinizializzazione fisica da zero, quindi è necessario liberare la memoria da soli. soprattutto le risorse a livello globale
4) usate OOP, vi darà almeno la possibilità di descrivere e controllare correttamente le risorse
Ed ecco uno screenshot del caricamento del sistema durante lo scorrimento - il GP è quasi in uno stato morto - perché non si carica?
Sto parlando di un processore FX-8350 e una scheda grafica Radeon HD 7950. Non ho la sensazione che la scheda grafica sia caricata dalla MT5.
Tuttavia, è così. La scheda grafica ha un grande impatto sulla velocità di rendering, poiché è quella utilizzata per il rendering.
La tua domanda manca di informazioni sull'ambiente in cui avviene lo scorrimento.
Per esempio:
Se la situazione è stabile, tutti i dati sono calcolati e non ci sono richieste indotte, allora la scheda video e la CPU sono responsabili del carico.
Dato che avete chiaramente detto "saltare al 100% su UN core, non su tutti i core", questa è una situazione perfettamente normale. Il computer fa il suo lavoro - carica il core selezionato e così facendo ha un utilizzo della CPU = 12,5% di tutti gli 8 core, non il 100%.
1) dovete troncare lo storione qui con INT_MAX(2 miliardi):
Correggeremo anche questo.
2) Tutta la memoria deve essere gestita in modo molto rigoroso, non c'è GC qui.
3) la reinizializzazione dell'indicatore al cambio di timeframe è calda senza la reinizializzazione fisica da zero, quindi è necessario liberare la memoria da soli. soprattutto le risorse a livello globale
4) usate OOP, vi darà almeno la possibilità di descrivere e controllare correttamente le risorse
Per continuare lo stesso argomento, guarda questo post - non è chiaro da dove vengono questi tick quando la borsa è chiusa - devo contattare il broker o la borsa?
Forum sul trading, sistemi di trading automatico e test di strategie di trading
MQL5 Proprie tempistiche
Aleksey Vyazmikin, 2019.09.07 09:50
Non so cosa fare con loro, non so cosa fare con loro, e non so se sono giusti... E durante la compensazione.
Ed ecco uno screenshot del carico del sistema durante lo scorrimento - il GP è quasi in uno stato morto - perché non viene caricato?
Quindi niente di serio gli viene trasmesso questa volta.
Ed ecco il mio test, su uno schermo completamente vuoto con scorrimento attivo: si può vedere chiaramente il picco di carico, è il monitoraggio interno di Windows 10
Tuttavia, lo fa. La scheda grafica ha una forte influenza sulla velocità di rendering, poiché è quella utilizzata per il rendering.
La tua domanda manca di informazioni sull'ambiente in cui avviene lo scorrimento.
Per esempio:
Se la situazione è stabile, tutti i dati sono calcolati e non ci sono richieste indotte, allora la scheda video e la CPU sono responsabili del carico.
Dato che avete chiaramente detto "saltare al 100% su UN core, non su tutti i core", questa è una situazione perfettamente normale. Il computer fa il suo lavoro - carica il core selezionato e così facendo ha un utilizzo della CPU = 12,5% di tutti gli 8 core, non il 100%.
Do informazioni sull'ambiente:
- Gli indicatori sono 16, il rendering non è complicato, senza kanvas, barre degli strumenti e altri fronzoli - bastoni/strisce - allego uno screenshot.
- Non ci sono programmi sul grafico, apro una finestra dopo optimizer, è come un esempio - anche i grafici di lavoro sono lenti, ma meno (ci sono meno indicatori).
- No, gli eventi non vengono elaborati.
- La modalità di visualizzazione delle barre illimitata è selezionata, cioè la paginazione è in un certo senso esclusa.
- Non ci sono oggetti grafici, o meglio ho rimosso tutte le frecce e i trattini. È rimasta un'etichetta - è quella dell'indicatore. Oggi ho un giorno libero e non dovrebbe interferire con esso.
Ho postato uno screenshot qui sopra che mostra che la scheda grafica non è inserita, c'è un modo per controllare se è inserita o è normale che il carico sia vicino allo zero e il core sia caricato?
Screenshot della piattaforma MetaTrader
Si Splice, M1, 2019.09.07
JSC '''Otkritie Broker'', MetaTrader 5, Real
Quindi niente di serio gli viene trasmesso questa volta.
Ed ecco il mio test, su uno schermo completamente vuoto mentre si scorre attivamente: si può vedere chiaramente il picco di carico, questo è il monitoraggio standard di Windows 10
Quindi forse dovrebbe, ma non lo è - come fai a saperlo?
Mi sembra di aver spiegato tutto nei minimi dettagli e nei minimi particolari.
Il computer fa il suo lavoro. Tutto il lavoro costa risorse e si vede il consumo di queste risorse.
Cosa ti fa pensare che secondo te le risorse non dovrebbero essere consumate - non capisco.
Non so esattamente quali caratteristiche della GPU consideri MSI Afterburner. Ci sono molte caratteristiche là fuori e non sono affatto sicuro di quale sia il carico complessivo della GPU, piuttosto che qualche punto particolare.
La mia prova: la prendo e faccio scorrere la finestra del browser:
La situazione è esattamente la stessa quando si scorre un grafico in MetaTrader 5:
L'uso della scheda grafica da parte del terminale è provato.
Considerando il fatto che ho già passato 20 anni su progetti di terminali commerciali e la loro ottimizzazione, è strano non fidarsi delle mie parole.
Quindi forse dovrebbe, ma non lo è - come fai a saperlo?
Mi sembra di aver spiegato tutto nei minimi dettagli e nei minimi particolari.
Il computer fa il suo lavoro. Tutto il lavoro costa risorse e si vede il consumo di queste risorse.
Cosa ti fa pensare che secondo te le risorse non dovrebbero essere consumate - non capisco.
Non so quali siano esattamente le specifiche della GPU giudicate da MSI Afterburner. Ci sono molte caratteristiche là fuori e non sono affatto sicuro di quale sia il carico totale sulla GPU, piuttosto che qualche punto particolare.
La mia prova: la prendo e faccio scorrere la finestra del browser:
La situazione è esattamente la stessa quando si scorre un grafico in MetaTrader 5:
L'uso del grafico da parte del terminale è provato.
Considerando il fatto che ho già passato 20 anni su progetti di terminali commerciali e la loro ottimizzazione, è strano non fidarsi delle mie parole.
Non si tratta di fidarsi di te! Sto solo supponendo che ci sia un problema con i driver o qualcosa del genere, anche se tutti i tipi di giochi 3D funzionano.
Il browser carica la scheda video, beh, non tutte le pagine ovviamente, ma con video clip e qualcosa di simile - ho controllato.
Ho anche controllato. Poi ho lanciato tutti gli indicatori costruiti in MT5 sul grafico di 40 indici e tutto scorre molto velocemente, il carico del nucleo è del 20%-25%.
Quindi il problema è in qualche indicatore che ho? Non capisco, ma è già calcolato. Per molti anni, ho chiesto qualche manager da implementare, che cosa sarebbe l'utente potrebbe vedere quale programma/indicatore/script sul grafico, quanto tempo di CPU sarebbe molto conveniente.