Una domanda per i conoscitori di MQL - pagina 5

 
Rita:

ObjectCreate(name, OBJ_TRIANGLE, WindowFind(WindowExpertName(), Time[-1],vertex1_price,

Tempo[-5],vertex2_price,

Time[-7],vertex3_price, );

//--------------------------------------------------------------------------------------------------------------------------

Ho impostato le coordinate dei nodi del triangolo in base al tempo (per esempio - in base al tempo di apertura delle barre future). Il resto non mi è molto chiaro. Non è il prezzo che viene visualizzato sulla scala della finestra dell'indicatore. È la gradazione dei valori degli indicatori.

Ho bisogno di "mettere" un triangolo con top rigidamente fissato, indipendentemente dal prezzo.

E preferibilmente, dovrebbe essere fissato rigidamente nell'angolo destro (o inferiore).

E non capisco come impostare le coordinate dei suoi vertici - lungo l'asse verticale della scala dell'indicatore:


.... ... Nessuna risposta dagli esperti...

A quanto pare, devo tener conto del fatto che è impossibile disegnare il triangolo nella finestra dell'indicatore con MQL.
 
Rita:
Apparentemente, dobbiamo tener conto che è impossibile disegnare un triangolo nella finestra dell'indicatore utilizzando MQL.
Qual era il compito iniziale?
 

Il compito iniziale è così.

Mi è stato detto di fare questo. Se le linee di prezzo degli strumenti dell'indicatore sulla barra zero sono convergenti,

cioè abs. su(Symbol1[0]-Symbol2[0]) < ( Symbol1[1] - Symbol2[1])

allora il triangolo dovrebbe essere disegnato con l'angolo retto - vedi Fig.

Se le linee divergono, allora il punto è a sinistra.

Ho scritto le condizioni. Ma non riesco a disegnare il triangolo...

 

Il prezzo deve essere impostato in unità di misura e il tempo come al solito.

Ma sarà ancora attaccato al grafico, non allo schermo.

Se è difficile capire quali coordinate di prezzo devono essere impostate, l'algoritmo è il seguente:

Se l'indicatore è autoscalato, definiamo il numero di barre nella finestra, calcoliamo il minimo e il massimo dei valori dell'indicatore in questo intervallo e li usiamo come punti base.

Se l'indicatore è a scala fissa, le coordinate sono impostate da costanti.

 
Rita:

Il tempo è una matrice, non ha elementi negativi.

Il tempo futuro può essere impostato così: Time[0]+X*Period()*60.

Verticalmente, i valori della scala dell'indicatore sono impostati.

 

Capisco. Grazie a tutti.

È più facile scrivere a parole - "convergenza o divergenza" che preoccuparsi di un triangolo ... -

 
Rita:

.... ... Nessuna risposta dagli esperti...

A quanto pare, devo tener conto del fatto che è impossibile disegnare un triangolo nella finestra dell'indicatore con MQL.


Forse le frecce sono migliori

ObjectCreate("DevIM0", OBJ_ARROW, window, Time[0]+5500, 0);
ObjectSet("DevIM0", OBJPROP_ARROWCODE, 232);
ObjectSet("DevIM0", OBJPROP_WIDTH, 4);

 

mettere un'etichetta nell'angolo in carattere Wingdings 2 e non preoccuparsi...

 
Grazie. Potresti provare anche le frecce.
 
Rita:
Grazie. Potremmo provare anche le frecce.


ObjectCreate("DevIM0", OBJ_TRIANGLE, window, Time[0]+5500, 0,Time[0]+8500, 30,Time[0]+8500, -1*30);

Anche il triangolo non è male.