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
Non ne sono sicuro, ma probabilmente è a causa di questo:
Non ho ArrayResize, per INDICATOR_DATA e INDICATOR_CALCULATIONS la dimensione è impostata dal terminale, e disegna dalla barra 0
Poi si scopre che tutto ArrayInitialize(array,EMPTY_VALUE); non funziona nemmeno per la barra zero?
Non ho ArrayResize, il terminale imposta la dimensione per INDICATOR_DATA e INDICATOR_CALCULATIONS e la disegna dalla 0a barra
Forse non lo sai, ma gli array sono dinamici e ogni timeframe ha un numero diverso di barre! Passare da uno all'altro cambia la dimensione degli array (questo viene fatto senza la tua partecipazione) e vedi la spazzatura.
Poi si scopre che tutto ArrayInitialize(array,EMPTY_VALUE); non funziona nemmeno per la barra zero?
Nel vostro caso, è l'ultimo elemento dell'array (anche se è alla barra 0), perché l'indicizzazione di default è da sinistra a destra.
Potresti non farlo, ma gli array sono dinamici e ogni timeframe ha un numero diverso di barre! Passare da uno all'altro cambia le dimensioni dell'array (questo viene fatto senza la tua partecipazione) e tu vedi spazzatura.
Sembra essere logico. Allora l'inizializzazione dei buffer degli indicatori nell'inite non ha alcun senso, tutto dovrebbe essere fatto in OnCalculate
Nel vostro caso, è l'ultimo elemento dell'array (anche se è sulla barra 0), perché per default è indicizzato da sinistra a destra.
Giusto, non l'ho ancora girato.
Corretto un errore, capovolto gli array, pasticciato con ArrayInitialize (lasciato per ora)...
Sembra che sia impossibile sbarazzarsi della spazzatura a Inite. Anche PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); non lo fermerà; può apparire all'inizio del grafico o alla fine.
Lo lascerò in un trailer, forse gli sviluppatori lo guarderanno.
PS ma la comparsa di spazzatura nello stesso posto sul grafico dopo la rimozione dell'indicatore e/o la ricompilazione - è una lattina.
una tale bellezza...
Corretto un errore, capovolto gli array, pasticciato con ArrayInitialize (lasciato per ora)...
Sembra che sia impossibile sbarazzarsi della spazzatura a Inite. Anche PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); non lo fermerà; può apparire all'inizio del grafico o alla fine.
Lo lascerò in un trailer, forse gli sviluppatori lo guarderanno.
PS ma la comparsa di spazzatura nello stesso posto sul grafico dopo la rimozione dell'indicatore e/o la ricompilazione - è una lattina.
Una tale bellezza...
Ecco, sembra funzionare come si deve:
Ecco, sembra che funzioni come vuoi tu:
No, è anche littering, si capisce dai numeri in alto a sinistra.
Funziona solo dopo aver caricato queste celle in OnCalculate
La tua versione sembra essere corretta. La spazzatura è causata dall'auto-rendering degli array. E sembra anche chiaro perché si ripete.
Se il terminale cambia la dimensione, per esempio, da 1 000 a 10 000, alloca una stessa porzione di memoria non liberata, e non importa quante volte ricarichi l'indicatore - dalla 1 001esima alla 9 999esima cella rimane con valori di sinistra.
aggiornato ho ancora una domanda: perché cambiando qualcosa nella funzione f_comment (colore cambiato) e le successive modifiche di compilazione non vengono applicate all'indicatore di riavvio nel terminale.
È possibile costruire un grafico a candele dei parametri di alcuni strumenti in una finestra separata? Per esempio, il broker "Otkritie" ha lo strumento RTS-9.13 e per esso costruire un grafico di ordini di acquisto, i cui valori sono visualizzati nella finestra "panoramica del mercato