Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
ArrayInitialize(ar,Z); // промежуточный массив размер массива ar = 1000 ArrayCopy(arr,ar,5000); // основной массив заполняется значением Z c 5000 по 5999 элемент
Molti commercianti diranno perché è così complicato, può essere più semplice:
ArrayFill(arr,5000,1000,Z);
Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio è notevolmente più veloce della seconda
2018.09.0411:01:17.222 TestArrayFill (EURUSD,M4) Время заполнения через ArrayFill = 3382018.09.0411:01:17.222 TestArrayFill (EURUSD,M4) Время заполнения через ArrayInitialize + ArrayCopy = 1112018.09.0411:01:18.563 TestArrayFill (EURUSD,M4) Время заполнения через ArrayFill = 3012018.09.0411:01:18.563 TestArrayFill (EURUSD,M4) Время заполнения через ArrayInitialize + ArrayCopy = 1222018.09.0411:01:19.717 TestArrayFill (EURUSD,M4) Время заполнения через ArrayFill = 3342018.09.0411:01:19.717 TestArrayFill (EURUSD,M4) Время заполнения через ArrayInitialize + ArrayCopy = 1422018.09.0411:01:21.095 TestArrayFill (EURUSD,M4) Время заполнения через ArrayFill = 3642018.09.0411:01:21.095 TestArrayFill (EURUSD,M4) Время заполнения через ArrayInitialize + ArrayCopy = 156
Ho già scritto su questo tema a CA un paio di anni fa. Ho ricevuto una risposta che diceva che avevo trovato e risolto il problema e che sarebbe stato ok nella prossima build.
Ma il problema persiste.
Ho lo stesso test in MT4:
2018.09.0411:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayInitialize + ArrayCopy = 1132018.09.0411:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayFill = 78
Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
Molti commercianti diranno perché è così complicato, può essere più semplice:
Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio è notevolmente più veloce della seconda
Ho già scritto su questo tema a CA un paio di anni fa. Ho ricevuto una risposta che diceva che avevo trovato e risolto il problema e che sarebbe stato ok nella prossima build.
Ma il problema persiste.
Ho lo stesso test in MT4:
Forse questo è un buon posto per fare il check-in.
Forse questo è un buon posto per fare il check-in.
Che particolarità e sottigliezza! L'importante funzione standard di lavorare con gli array nel linguaggio di trading algoritmico più veloce del mondo è 4 volte più lento che nell'obsoleto linguaggio MQL4. Solo qui.
E' un chiaro bogey. Riuscite a immaginare quanti programmi falliranno quando sarà riparato?
Che particolarità e sottigliezza! L'importante funzione standard di lavorare con gli array nel linguaggio di trading algoritmico più veloce del mondo è 4 volte più lento che nell'obsoleto linguaggio MQL4. Solo qui.
E' un chiaro bogey. Riuscite a immaginare quanti programmi saranno colpiti quando sarà risolto?
Bene.
Ma come caratteristica al momento - è una cosa negativa?
Ma come caratteristica al momento - è una cosa negativa?
Sì, probabilmente ho esposto il problema in modo scorretto. Sembrava che stessi parlando della sua soluzione.
Certo che no. Stavo cercando di formulare il problema. L'opzione dell'array intermedio non è affatto una soluzione al problema, perché richiede più tempo per l'esecuzione di quanto dovrebbe in base alla logica della memoria, e porta anche a un consumo aggiuntivo di memoria.
Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
Molte persone diranno perché è così complicato - può essere più semplice:
Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio funziona molto più velocemente della seconda
Non capisco! Perché avevate bisogno di riempire parte di un grande array con un singolo valore Z? Oppure, quali dati assegnate all'array, per quale scopo? Valori di Close, AVG, RSI? Ma non sono presenti nella memoria di MetaTrader dopo il caricamento dell'indicatore? Stavo giocando con l'array 0 e 1 e alla fine ho ottenuto la parola SOS, cioè ho assegnato il valore 0 a S e 1 a O. Naturalmente, potrei inserire Help per un risultato migliore nella seconda dimensione dell'array. Poi controlla il tempo di riempimento per ogni dimensione dell'array. Poi aggiungi tutto e dividi per 4.
Bob1Thec: Non riesco a capire! Perché avevate bisogno di riempire parte di un grande array con un singolo valore Z? Oppure, quali dati assegnate all'array, per quale scopo?
Lo sfondo monocromatico (compresa la trasparenza) di un'immagine è fatto in questo modo.
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.
Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
Molti commercianti diranno perché è così complicato, può essere più semplice:
ArrayFill(arr,5000,1000,Z);Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio è notevolmente più veloce della seconda
Ho già scritto su questo tema a CA un paio di anni fa. Ho ricevuto una risposta che diceva che avevo trovato e risolto il problema e che sarebbe stato ok nella prossima build.
Ma il problema persiste.
Ho lo stesso test in MT4:
Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
Molti commercianti diranno perché è così complicato, può essere più semplice:
Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio è notevolmente più veloce della seconda
Ho già scritto su questo tema a CA un paio di anni fa. Ho ricevuto una risposta che diceva che avevo trovato e risolto il problema e che sarebbe stato ok nella prossima build.
Ma il problema persiste.
Ho lo stesso test in MT4:
Forse questo è un buon posto per fare il check-in.
Forse questo è un buon posto per fare il check-in.
Che particolarità e sottigliezza!
E' un chiaro bogey.L'importante funzione standard di lavorare con gli array nel linguaggio di trading algoritmico più veloce del mondo è 4 volte più lento che nell'obsoleto linguaggio MQL4.
Solo qui.
Riuscite a immaginare quanti programmi falliranno quando sarà riparato?
Che particolarità e sottigliezza!
E' un chiaro bogey.L'importante funzione standard di lavorare con gli array nel linguaggio di trading algoritmico più veloce del mondo è 4 volte più lento che nell'obsoleto linguaggio MQL4.
Solo qui.
Riuscite a immaginare quanti programmi saranno colpiti quando sarà risolto?
Bene.
Ma come caratteristica al momento - è una cosa negativa?Bene.
Ma come caratteristica al momento - è una cosa negativa?Bene.
Ma come caratteristica al momento - è una cosa negativa?Aneddoto.
Un vecchio va dal medico. Egli dice:
- Dottore, mi fa male la schiena.
- Piegati. Fa male?
- Fa male.
- Piegati di più!
- Ecco, così va meglio...
- Ecco! È così che si cammina!
)))))
Quando ho bisogno di riempire una parte di un grande array con un singolo valore Z, uso il costrutto
Molte persone diranno perché è così complicato - può essere più semplice:
Ma per qualche ragione sconosciuta, la prima variante che usa un array intermedio funziona molto più velocemente della seconda
Non riesco a capire! Perché avevate bisogno di riempire parte di un grande array con un singolo valore Z? Oppure, quali dati assegnate all'array, per quale scopo?
Lo sfondo monocromatico (compresa la trasparenza) di un'immagine è fatto in questo modo.
più precisamente uno sfondo a gradiente
più precisamente uno sfondo a gradiente
Non ho idea di cosa significhi riempire un array con un singolo valore.