Perché gli indicatori (linee, frecce, istogrammi) lampeggiano nel terminale MT5? - pagina 6
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hai suggerito una soluzione simile sopra - inserire la stampa nella funzione OnCalculate(), l'ho aggiunta, non è apparso nulla di inaspettato nel log, c'è un normale processo di nuove barre in arrivo e di elaborazione. I contatori non vengono azzerati, ma si verificano dei lampeggi.
È sorto un pensiero.
Il ricalcolo completo (e il ridisegno) avviene se prev_calculato = 0. Prova a inserire una stampa OnCalculate all'inizio per questo caso e vedi se le stampe appaiono quando lampeggiano.
Se sì, devi scoprire cosa sta causando il terminale per resettare il contatore a 0 (e puoi scrivere al service-desk per questo).
Se non è così, allora si tratta ancora di più di un glitch e un semplice indicatore di test, condizioni di riproduzione e un breve video dimostrativo possono essere inviati al service-desk.
Breve storia:
Tempo fa ho provato a riscrivere l'indicatore che raccoglie separatamente i tick up e i tick down in tempo reale da mql4 a mql5 ma non ha funzionato perché l'indicatore resetta periodicamente i dati già accumulati. Ho discusso questo problema con SD e mi hanno assicurato che il reset deriva dal fatto che prev_calculated viene azzerato a 0 e l'intero storico viene ricalcolato, e il reset avviene a causa della perdita di connessione con il server.
Gli esperimenti che ho fatto ieri:
Prima di tutto mettere Print() per condizione... Non ho aspettato e ho iniziato a creare artificialmente la perdita di connessione. Print() viene eseguito, ma l'indicatore non lampeggia.
Ho anche azzerato prev_calculated cliccando sul grafico e "Refresh" dal menu contestuale, ma l'indicatore non lampeggia. Ho deciso di vedere come ChartRedraw influisce sul ricalcolo dell'indicatore, ma il risultato è zero . Non ha alcun effetto , né nell'indicatore stesso, né nell'indicatore di lavoro parallelo con la chiamata ChartRedraw.
Ho cercato di trovare il sostituto di prev_calculated. Se viene chiamato qualche indicatore tecnico, prev_calculated può essere sostituito da BarsCalculated(handle), ma se non... non trovato. In caso di tale sostituzione, quando prev_calculated è azzerato, l'indicatore non viene ricalcolato e non perde i suoi calcoli.
Comunque, non sono riuscito a trovare niente di utile...
Questa è una supposizione delirante:
Non può essere che alcuni tick si perdano, poi vengono caricati con un certo ritardo e in quel momento avviene l'ammiccamento?
Questo indicatore di stock istogramma basato su ticks sfarfalla per qualcuno?
Sono riuscito a vedere l'indicatore costante sfarfallare solo una volta (all'apertura del mercato) e solo nel pannello CTRL+D, gli istogrammi stessi non hanno mostrato alcun sfarfallio (probabilmente a causa della mancanza di GPU). Non è stato possibile riprodurre per la registrazione video.
L'effetto di scambio dovrebbe essere osservato in un mercato veloce. Bisogna aspettare che la borsa cominci, poi, molto probabilmente, sarà possibile registrare lo sfarfallio. In alternativa, suggerisco di mettere il terminale su una registrazione continua di diverse ore. E poi tagliate il pezzo dove lo sfarfallio è particolarmente evidente.
Sto arrivando alla stessa conclusione. Molto probabilmente, si tratta di una questione interna che non pubblicizzeranno e non sapremo mai il vero motivo. E gli sviluppatori hanno espresso implicitamente il loro atteggiamento sulla questione, ma non sono mai apparsi una volta in questo thread. Anche se avrebbero potuto chiarire...
L'indicatore ZZ della consegna è scomparso offline per un paio di secondi - quindi non si tratta di ticchettii.
Hai suggerito una soluzione simile sopra - inserire la stampa nella funzione OnCalculate(), l'ho aggiunta, non è apparso nulla di inaspettato nel log, c'è un normale processo di ricezione ed elaborazione di nuove barre. I contatori non vengono azzerati, ma ci sono dei lampeggi.
Non ho letto le pagine precedenti, la tua domanda ha avuto risposta? Se no, ecco la soluzione, prova ad aumentare il numero di buffer, hai il numero sbagliato, ecco perché i lampeggi.
Non ho letto le pagine precedenti, la tua domanda ha avuto risposta? Se no, ecco la soluzione, provate ad aumentare il numero di buffer, avete il numero sbagliato, ecco perché lampeggia.
Perché pensate che " ilnumero sbagliato di buffer è in piedi, ecco perché lampeggia"? Se uso 2 buffer e 2 array, allora lo specificherò di conseguenza.
Perché dovrei specificare più buffer del necessario, cioè più di due?
Perché pensate che " ilnumero sbagliato di buffer è in piedi, ecco perché lampeggia"? Se uso 2 buffer e 2 array, allora lo specificherò di conseguenza.
Perché dovrei specificare più buffer del necessario, cioè più di due?
E, se corrispondono, non c'è bisogno di cambiare.