MT4 iMAOnArray e iBandsOnArray effetto del numero di elementi sui calcoli - pagina 4

 
Sergey Efimenko:
E questa libreria calcola correttamente, se imposto il calcolo non dell'intera matrice, ma solo della sua ultima parte (valori attuali)? Inoltre, questa è solo metà del problema, ma che dire di iBandsOnArray?

C'è un parametro "inizio" lì, cerca di limitarlo.

C'è stato un tempo in cui la funzioneiMAOnArray era molto lenta. Beh, avevo un codice che è stato ottimizzato per circa tre ore usandoiMAOnArray, ma poi questa funzione è diventata lenta e l'ottimizzazione ha richiesto circa 30 ore.

Non lo so, forse è stato risolto ora. Ma quando ho creato l'indicatoreMovingAverages.mqh lo stesso codice è stato calcolato in circa un'ora e mezza, cioè il tempo è stato di mezzato.

Non ho niente da dire su iBandsOnArray, non ho visto un tale file includibile con lo stesso compito in mql4.

 
Con iBandsOnArray l'indicatore è lento all'avvio. Cambiato in iStdDevOnArray, si avvia istantaneamente.
 
Alexey Viktorov:

Ecco a voi.

Sì, beh... Ragazzo, vai a fare una passeggiata.
 
Dmitry Fedoseev:
Con iBandsOnArray l'indicatore è lento all'avvio. Cambiato in iStdDevOnArray, si avvia istantaneamente.
Ma nel tester è in ritardo sia coniBandsOnArray che coniStdDevOnArray.
 
Dmitry Fedoseev:
Tranne che nel tester è in ritardosia coniBandsOnArray che coniStdDevOnArray.
Una volta pensavo che tu fossi un buon programmatore. Tutto quello che si può fare è allargare le dita e discutere. Non ne capisci niente, è per questo che sei così arrabbiato?
 
Alexey Viktorov:

Ecco a voi.

E ora confronta il risultato del tuo codice e quello originale in modalità di lisciatura a linea retta LWMA o SMMA e ottieni valori diversi, perché questi due tipi di lisciatura usano i propri valori precedenti nei loro calcoli, e usando solo N elementi di periodo ogni volta tu, rispettivamente, perdi questi dati, inoltre alla fine ho bisogno di periodi di calcolo diversi per iBands e iMA, quindi devo copiarlo due volte. E l'array iniziale per il calcolo è usato lo stesso. La logica del tuo ragionamento mi è chiara, ma è sbagliata, perché riducendo la lunghezza dell'array, ma allo stesso tempo facendo ogni copia e ricalcolando tutti i suoi elementi si aumenta finalmente il tempo totale del calcolo dell'indicatore durante l'ottimizzazione o il lavoro con diverse versioni dell'indicatore per diversi TF. Nel mio caso rallenta solo il calcolo iniziale, dopo di che viene calcolato solo 1 nuovo elemento. Il problema è nell'implementazione di queste funzioni in MQL. Le versioni auto-scritte funzionano meglio e più velocemente. Conclusioni.
 
Dmitry Fedoseev:
Sì, beh... Ragazzo, vai a fare una passeggiata.
Quello non è un ragazzo, è un uomo molto maturo. Anche se l'abitudine di riferirsi a tutti come "tu" non gli rende giustizia, imho :)
 
Sergey Efimenko:
Questo non è un ragazzo, ma un uomo molto maturo. Anche se l'abitudine di dare del tu a tutti non lo rende rispettabile, imho :)
Molto maturo come? Un pensionato in età avanzata?
 
Sergey Efimenko:
E ora confronta il risultato del tuo codice e quello originale in modalità di lisciatura a linea retta LWMA o SMMA e ottieni valori diversi, perché questi due tipi di lisciatura usano i propri valori precedenti nei loro calcoli, e usando solo N elementi di periodo ogni volta tu, rispettivamente, perdi questi dati, inoltre ho bisogno di periodi di calcolo diversi per iBands e iMA, quindi devo copiarli due volte. E l'array iniziale per il calcolo è usato lo stesso. La logica del tuo ragionamento mi è chiara, ma è sbagliata, perché riducendo la lunghezza dell'array, ma allo stesso tempo facendo ogni copia e ricalcolando tutti i suoi elementi si aumenta finalmente il tempo totale del calcolo dell'indicatore durante l'ottimizzazione o il lavoro con diverse versioni dell'indicatore per diversi TF. Nel mio caso rallenta solo il calcolo iniziale, dopo di che viene calcolato solo 1 nuovo elemento. Il problema è nell'implementazione di queste funzioni in MQL. Le versioni auto-scritte funzionano meglio e più velocemente. Per favore, traete le vostre conclusioni.
Anche se MODE_SMA è lo stesso, non dovrei comunque usarlo.
 
Alexey Viktorov:
Pensavo che fossi un buon programmatore. La verità è che tutto quello che si può fare è allargare le dita e combattere. Non ne capisci niente perché sei molto arrabbiato?
Be', continua a sognare.