Perché gli indicatori (linee, frecce, istogrammi) lampeggiano nel terminale MT5? - pagina 9

 
Andrey Khatimlianskii: Il flicker si riproduce facilmente quando il processore è molto carico. Esegui l'ottimizzazione su tutti i core locali e prova a rimuovere/creare una dozzina di oggetti e fai ChartRedrow. L'effetto swag è assicurato.

Sì, ma io vorrei proprio il contrario, non riprodurre lo sfarfallio, ma fermarlo, fare qualcosa per non vedere più questo sfarfallio.
E in buone condizioni, quando il processore non è caricato, potremmo dire inattivo, l'ottimizzazione non è in esecuzione, cioè i core locali non sono nemmeno caricati, gli oggetti non sono creati e ChartRedraw() non è chiamato. E in questo stato di tranquillità del computer, le "ghirlande" continuano a lampeggiare!

Gli sviluppatori non hanno nemmeno risposto, questo lampeggiamento è irrecuperabile e sarà eliminato solo nelle future versioni di MT5 o forse gli sviluppatori di indicatori hanno le mani sbagliate e non capiscono qualcosa durante lo sviluppo di indicatori per MT5...

 

Non solo gli indicatori personalizzati sfarfallano, ma anche gli strumenti incorporati, per esempio "Regression Channel".

 

Aleksey Vyazmikin: Мерцают не только пользовательские индикаторы, но и встроенные инструменты, к примеру "Канал регрессии".

Se è così, allora non c'è niente da indovinare, significa che questo problema non può essere ancora risolto in linea di principio e sarà risolto in alcune versioni future di MT5. Gli sviluppatori dovrebbero essere onesti su questo e non fare in modo che i programmatori si scervellino su cosa stanno facendo di sbagliato e su come affrontarlo...

 

Ho lottato con questa cosa per un paio di giorni.

Ho provato tutto ciò che è stato consigliato sopra.

Non ha aiutato.

L'indicatore sfarfalla in MT5 per l'unica ragione:

Quando si applica ChartGetInteger(0,CHART_VISIBLE_BARS ...

Almeno quando ho impostato un numero costante invece di questa funzione, ha smesso di sfarfallare.

Forse ho applicato la funzione in modo maldestro, ma comunque...
Документация по MQL5: Операции с графиками / ChartGetInteger
Документация по MQL5: Операции с графиками / ChartGetInteger
  • www.mql5.com
Возвращает значение соответствующего свойства указанного графика. Свойство графика должно быть типов datetime, int или bool. Существует 2 варианта функции. 2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром...
 

Anche questo non ha aiutato ;)))

 
Renat Akhtyamov:

Neanche questo ha aiutato ;)))

" ... La funzione è sincrona - questo significa che aspetta tutti i comandi che sono stati messi nella coda dell'orario prima di essere chiamata. ... "

Questo viene dalla documentazione. Posso aggiungere che la funzione sincrona rallenta l'intero processo - finché non termina l'esecuzione, nessun altro processo inizierà l'esecuzione, anche se sono disponibili risorse per la sua esecuzione.

 
C'è un'ipotesi che lo sfarfallio dipenda dal ridisegno degli oggetti da parte del motore del terminale, cioè se i punti della trama sono al di fuori dello schermo visibile, hanno una priorità inferiore per il rendering, che si manifesta sotto il carico computazionale del grafico (compreso il tasso di arrivo delle quotazioni - ho notato che è con movimenti forti e intensi che si verifica lo sfarfallio).
 
Aleksey Vyazmikin:
C'è un'ipotesi che lo sfarfallio dipenda dal ridisegno degli oggetti da parte del motore del terminale, cioè se i punti della trama sono al di fuori dello schermo visibile, hanno una priorità inferiore per il rendering, che si manifesta durante il carico computazionale sul grafico (compreso il tasso di arrivo delle quotazioni - ho notato che è con movimenti forti e intensi che si verifica lo sfarfallio).

Vorrei davvero che gli sviluppatori prestassero attenzione a questo argomento.

Lo sfarfallio dell'indicatore non può essere eliminato da solo.

 

Credo di aver capito.

non è un fatto ma

sembra una sorta di test esterno dell'attuale EA che è attualmente in commercio sul reale.

Le mie conclusioni personali sono le seguenti:

Il grafico è costruito esattamente 10 ore in anticipo, vediamo il pronto

il resto è dietro le quinte sulla destra e sta gradualmente arrivando a noi sullo schermo

Ho registrato il video, in modo da non fare la spia, ma lo mostrerò non qui ma là, dove la gente sarebbe molto interessata

---

ora in immagini

Innanzitutto, cambia il numero di barre, che è fissato a 1000, ma poiché il calcolo parte da zero, risulta essere 1001:

al momento dello sfarfallio improvvisamente le barre diventano 600 in meno (e sempre quando lo sfarfallio il numero è lo stesso - 358):

e al momento dell'indicatore di sfarfallio a volte accade (sono riuscito a catturare il frame solo su video):

e il più interessante:a volte nei momenti di sfarfallio mostra graficamente i trade chiusi dal presente al futuro, cioè sono solo aperti per ora, e saranno chiusi da qualche parte là fuori - dietro le quinte

per vedere il tutto con i vostri occhi, ricalcolate tutte le barre, non solo l'ultima, e su ogni tick, pulite i buffer prima di ogni calcolo

Oh, è vero, l'ho dimenticato.

questa cosa succede la sera

il mio amico investigatore ha preso tutto il materiale, dice che è abbastanza figo ;)

;))))

----

e ora il dibattito ...

 
Aleksey Vyazmikin:
C'è un'ipotesi che lo sfarfallio dipenda dal ridisegno degli oggetti da parte del motore del terminale, cioè se i punti della trama sono al di fuori dello schermo visibile hanno una priorità inferiore per il rendering, ciò che appare durante il carico computazionale sul grafico (incluso il tasso di quotazioni - ho notato che lo sfarfallio si verifica durante movimenti forti e intensi).

Era chiaro al cavallo, come disse Alla Yurievna. La compostiera ha indicato la causa, anche se indirettamente. Il flicker si verifica quando il terminale è sovraccarico - questo è un fatto. Il sovraccarico si verifica per una serie di ragioni e non sempre significa superare la potenza di calcolo del terminale.