Sì, oltre alla lunghezza del codice, centinaia di buffer di indicatori sarebbero un terribile spreco di memoria. La mia variante utilizza un array con dimensione: numero di barre sullo schermo + periodo massimo.
Un indicatore ultra-veloce di centinaia di medie mobili, implementato su Canvas.
100 linee MA (periodo passo 10) - tempo di calcolo e visualizzazione sullo schermo - 4-7 millisecondi
1000 linee MA (periodo passo 1) - tempo di calcolo e visualizzazione - 20-30 millisecondi.
Non ho testato troppo il codice. Potrebbero esserci dei bug. Implementato solo per le barre spesse un pixel (è forzato a questa scala). Anche la frequenza di aggiornamento dello schermo non è ottimizzata. Tutte le linee sono calcolate e completamente emesse ad ogni tick.
Come si capisce che la media è semplice? Ora farebbe lo stesso per l'esponenziale.
Come fai a sapere che la media è semplice? Ora fareste lo stesso per un esponenziale?
Questo è solo un esempio dimostrativo. Tutti i tipi di MA possono essere implementati. Tutto ciò di cui avete bisogno è il vostro desiderio e la vostra necessità. Il codice diventerà un po' più complesso con l'expotential. Vi suggerisco di fare una prova.
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.
C'è una limitazione. Si possono fare fino a 512 buffer di indicatori >>>https://www.mql5.com/ru/docs/indicators
Un indicatore ultra-veloce di centinaia di medie mobili, implementato su Canvas.
100 linee MA (periodo passo 10) - tempo di calcolo e visualizzazione sullo schermo - 4-7 millisecondi
1000 linee MA (periodo passo 1) - tempo di calcolo e visualizzazione - 20-30 millisecondi.
Non ho testato troppo il codice. Potrebbero esserci dei bug. Implementato solo per le barre spesse un pixel (è forzato a questa scala). Anche la frequenza di aggiornamento dello schermo non è ottimizzata. Tutte le linee sono calcolate e completamente emesse ad ogni tick.
Come si capisce che la media è semplice? Ora farebbe lo stesso per l'esponenziale.
Come fai a sapere che la media è semplice? Ora fareste lo stesso per un esponenziale?
Per illustrare la velocità...
Cambiare due parametri tramite il puntatore del mouse
X - modifiche al periodo massimo dell'AM
Y - passo del cambiamento del periodo MA
Per illustrare la velocità...
Cambiare due parametri tramite il puntatore del mouse
X - modifiche al periodo massimo dell'AM
Y - cambio di passo del periodo MA
Bello, ma il compilatore esplode
È bello, ma il compilatore sta combattendo
La libreria deve essere installata, ovviamente. C'è un link a questa libreria nel codice.
Grazie! Funziona tutto!
Come faccio a far sì che l'indicatore venga ridisegnato/spostato quando il grafico viene ridisegnato/spostato?
Grazie! Funziona tutto!
Come faccio a far ridisegnare/spostare l'indicatore quando ridisegno/spostamento del grafico?
È così che funziona il ridisegno.
Il mio funziona solo quando il mouse è in movimento.
Il mio funziona solo quando muovo il mouse.
Sì, c'era un piccolo bug. Riparato.
Grazie per questo.