Quotazioni massime e minime visibili - pagina 3

 
Perché il valore iniziale di FirstVisibleBar( ) non è corretto?

Le dimensioni geometriche del grafico sono invariate.

FirstVisibleBar( ) = BarsPerWindow( ) - rientro dal bordo destro;

BarsPerWindow( ) = const, non dipendente dal periodo e dai dati.

rientro dal bordo destro = const, non dipendente dal periodo e dai dati.
 
Perché стартовое значение FirstVisibleBar( ) è sbagliato??
FirstVisibleBar( ) = BarsPerWindow( ) - rientro dal bordo destro;

Da dove avete preso questa formula?

La prima barra visibile sul grafico e il numero di barre che entrano nella finestra del grafico non hanno niente a che fare l'uno con l'altro
 
Quando non c'è indentazione FirstVisibleBar( ) = BarsPerWindow( ).

In queste condizioni, FirstVisibleBar( ) ha ancora il valore iniziale sbagliato quando si cambia periodo.
 
<br / translate="no"> Quando non c'è indentazione FirstVisibleBar( ) = BarsPerWindow( ).

E allora? Scorri il grafico a destra e a sinistra, all'inizio (con il tasto home) e guarda il valore prodotto dalla funzione FirsVisibleBar. Ma assicuratevi di disabilitare lo scorrimento automatico del grafico prima di farlo.
 
Belkor ha posto domande molto interessanti.

Quali funzioni e librerie di sistema devono essere collegate a
- ottenendo la dimensione verticale e orizzontale del grafico corrente in pixel;
- Ottieni le quotazioni massime e minime visibili del grafico corrente;
- ottenere il numero totale di grafici espansi nella finestra, e il numero totale di grafici espansi nella finestra, e il numero totale di grafici espansi nella finestra.

Forse ha senso integrare il linguaggio MQL4 con funzioni appropriate?
 
Abbiamo bisogno di una funzione che restituisca il numero di barre nella finestra del grafico corrente, tenendo conto della presenza/assenza di rientro dal bordo destro del grafico.
 
<br / translate="no"> Abbiamo bisogno di una funzione che restituisca il numero di barre nella finestra del grafico corrente, tenendo conto della presenza / assenza di rientro dal bordo destro del grafico.

Perché?
Nonostante la rientranza, la finestra del grafico può essere riempita completamente.
E nonostante la mancanza di rientri, la finestra del grafico può non essere riempita.
 
L'utente sta usando grafici indentati dal bordo destro. Quante barre sono visualizzate su un tale grafico? Pura costante geometrica, indipendente dai periodi, dalla storia, dallo scorrimento e da tutto il resto.

Personalmente trovo inaccettabili salti di 20 volte o più e ritardi in FirstVisibleBar( ).
 
Signori sviluppatori, per favore consigliate

Quali funzioni e librerie di sistema devono essere incluse per

- ottenendo la dimensione verticale e orizzontale del grafico corrente in pixel;
- ottenere le quotazioni massime e minime visibili del grafico corrente;
- ottenere il numero totale di grafici espansi nella finestra, e il numero totale di grafici espansi nella finestra, e il numero totale di grafici espansi nella finestra.

Forse ha senso integrare il linguaggio MQL4 con funzioni appropriate?

Grazie.
 
1. GetClientRect da user32.dll
2. Non c'è nessuna funzione speciale. Potete calcolare da soli, basandovi su FirstVisibleBar() e BarsPerWindow()
3. Cos'è il "numero totale di grafici nella finestra"? Se si tratta di una sottofinestra con indicatori, la funzione integrata WindowsTotal() aiuterà. Se si tratta di grafici aperti nel terminale client, allora non può essere determinato direttamente - solo attraverso le funzioni WinAPI corrispondenti nella vostra dll.

Ora non aggiungeremo nulla alla lingua.