Quotazioni massime e minime visibili - pagina 4

 
L'utente usa графики с отступами от правого края. Сколько баров отображается на таком графике ? Una pura costante geometrica, indipendente da periodi, storia, scorrimento e tutto il resto.
E se ci pensate?
Supponiamo che il grafico sia fatto scorrere il più possibile verso destra, poi il rientro è visibile e ci sono, per esempio, 100 barre sul grafico.
Ma se scorriamo il grafico a sinistra per rientrare, mostrerà 100 + tutte le barre che rientrano nel rientro.
 
Supponiamo che il grafico sia fatto scorrere il più possibile verso destra, poi il rientro è visibile e ci sono, per esempio, 100 barre sul grafico. <br/ translate="no"> Ma se facciamo scorrere il grafico verso sinistra per indentarlo, ci saranno 100 + tante barre quante ne permette l'indentazione.


Non è interessante riavvolgere il grafico a mano.


Quali funzioni e librerie di sistema devono essere collegate a
- ottenere la dimensione verticale e orizzontale del grafico corrente in pixel;

1. GetClientRect da user32.dll


Non ho assolutamente esperienza nell'importazione di *.dll.
Ho trovato una descrizione di GetClientRect

La funzione GetClientRect recupera le coordinate dell'area di lavoro della finestra. Le coordinate di lavoro definiscono gli angoli superiore sinistro e inferiore destro dello spazio di lavoro. Poiché le coordinate di lavoro sono relative all'angolo superiore sinistro dello spazio di lavoro della finestra, le coordinate dell'angolo superiore sinistro sono (0,0).
Sintassi
BOOL GetClientRect
(
HWND hWnd, // descrittore della finestra
LPRECT lpRect // indirizzo della struttura delle coordinate di lavoro
);
Parametri
hWnd
Identifica la finestra le cui coordinate di lavoro devono essere restituite.
lpRect
Indica la struttura RECT che accetta le coordinate di lavoro. Gli elementi sinistro e superiore sono nulli. Gli elementi destro e inferiore contengono la larghezza e l'altezza della finestra.
Valori di ritorno
Se la funzione si completa con successo, il valore di ritorno è diverso da zero. Se la funzione fallisce, il valore di ritorno è zero. Per ottenere dati di errore estesi, chiamate GetLastError.


In altre fonti questa funzione è descritta come nulla. A cosa credere?

È necessario specificare #import "user32.dll" per connettersi?

Secondo alcune fonti, la struttura RECT è descritta in winuser.h, altre in windef.h. Nessuno di questi file esiste sulla mia macchina.

#include <winuser.h> o #include <windef.h> ?

Cosa dovrebbe essere specificato come identificatore della finestra hWnd?

Come ottenere i parametri richiesti dalla struttura lpRect? MQL4 non supporta tipi di dati complessi (strutture).


Quali funzioni e librerie di sistema dovrebbero essere collegate a

- ottenere le quotazioni massime e minime apparenti del grafico corrente;

Forse ha senso integrare il linguaggio MQL4 con funzioni appropriate?




|------------------------------------------------| <- 1.8595
|................................................|
|................................................|
|.............--- Alto ........................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............................--- Basso..........|
|................................................|
|................................................|
|----
 
Cari sviluppatori!

Per favore, rispondete alle mie domande.
 
I problemi di programmazione sono discussi nel forum specializzato MQL4.COMmunity.

Ci sono molti articoli e una raccolta di programmi sul sito. Non esitate a leggerli. In particolare, la questione delle citazioni minime e massime è stata discussa qui: "MQL4: Interception".

Cito da
===
Se conoscete la dimensione della finestra in pixel, potete facilmente usare le funzioni BarsPerWindow e FirstVisibleBar. Non c'è nessun problema a capire il numero della barra.
È più complicato con la coordinata dei prezzi. Se la scala è automatica, possiamo calcolarla aggiungendo il 5% della differenza tra i valori di prezzo massimo e minimo in alto e in basso. Se la scala è fissa, non può essere calcolata perché non ci sono informazioni sul limite superiore e inferiore.
===
 
<br / translate="no"> Citerò
===
Se conoscete la dimensione della finestra in pixel, allora potete facilmente usare le funzioni BarsPerWindow e FirstVisibleBar. Non c'è nessun problema a capire il numero della barra.
È più complicato con la coordinata dei prezzi. Se la scala è automatica, possiamo calcolarla aggiungendo il 5% della differenza tra i valori di prezzo massimo e minimo in alto e in basso. Se la scala è fissa, non può essere calcolata perché non ci sono informazioni sul limite superiore e inferiore.
===


Esempio reale: EURUSD, M1
Alto 1,2613 Valore massimo visibile 1,2620 delta 0,0007
Basso 1,2602 Min 1,2600 delta 0,0002 valore visibile

Dov'è il 5%?

La ricerca GetClientRect nel forum MQL4.COM produce 2 riferimenti. Nessuna risposta o raccomandazione specifica.
 
<br/ translate="no"> Una ricerca per GetClientRect sul forum MQL4.COMmunity dà 2 riferimenti. Nessuna risposta o raccomandazione specifica.

Quindi fai una domanda. Ti ho invitato in un forum specializzato per questo scopo.
Inoltre, ho citato me stesso: "È più complicato con le coordinate dei prezzi". Il che significa che la domanda non ha una risposta univoca.

A proposito, il 5% non è il prezzo, ma il numero di pixel tra il prezzo massimo e quello minimo.
 
Solo i prezzi Alto e Basso sono ancora disponibili per l'utente. Secondo l'esempio precedente, gli oggetti di testo possono essere visualizzati solo sul 50% dell'area del grafico. È normale?
 
<br / translate="no"> Così si fa una domanda. Ti ho invitato in un forum specializzato per questo scopo.
Inoltre, ho citato me stesso: "È più complicato con le coordinate dei prezzi". Il che significa che la domanda non ha una risposta univoca.

A proposito, il 5% non è il prezzo, ma il numero di pixel tra il prezzo massimo e quello minimo.


Ho seguito il tuo consiglio e ho postato la tua domanda nel forum MQL4.COM. Ho avuto zero risposte, nessuna risposta e nessuna speranza. Per favore, aiutatemi.
 
Cari sviluppatori!

Per favore aiutatemi con la funzione GetClientRect da user32.dll per ottenere la dimensione verticale e orizzontale del grafico corrente in pixel.

La descrizione della funzione è data sopra.

Per collegarlo, specificate #import "user32.dll".

Come identificatore della finestra hWnd indichiamo il valore restituito dalla funzione WindowHandle (...) .

Come ottenere i parametri richiesti dalla struttura lpRect, se MQL4 non supporta tipi di dati complessi (strutture)?
 
Cari sviluppatori!

Ho chiesto aiuto per risolvere il mio problema per più di un mese senza successo.

Alcuni post ricevono una risposta dopo un'ora o due, altri vengono palesemente ignorati per molto tempo. Perché?