Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1065

 

Alexey Viktorov:

Leggete attentamente il manuale. OBJ_CHANNEL non ha niente a che fare con l'angolo.

Capito!

Allora torniamo alla domanda precedente:

Ci sono coordinate X e Y, come impostare una condizione per ChartXYToTimePrice per contare dall'angolo destro?

 
MakarFX:

Capito!

Allora torniamo alla domanda precedente:

Ci sono coordinate X e Y, come posso impostare la condizione per ChartXYToTimePrice per contare dall'angolo destro?

ChartXYToTimePrice conta le coordinate dall'angolo superiore sinistro. E non importa come calcolate dall'angolo destro, dovrete sempre convertirlo nell'angolo superiore sinistro. Qual è lo scopo di questo tamburello? Quale oggetto vuoi posizionare rispetto all'angolo destro? Perché non leggi il manuale? Ci sono tutti gli esempi e le spiegazioni.

 
Alexey Viktorov:
Qual è lo scopo di una tale danza del tamburello?

L'angolo sinistro è occupato (

Alexey Viktorov:

Perché non leggi il manuale? Dopo tutto, tutti gli esempi e le spiegazioni sono lì.

Ho letto e trovato degli esempi, e il codice è basato su di essi,

ma nessun esempio di come cambiare l'angolo (

 
MakarFX:

L'angolo sinistro è occupato (

Ho letto e trovato degli esempi, e il codice è basato su di essi,

ma non ci sono esempi di come cambiare l'angolo (

Credo di non aver cercato abbastanza. Ecco gli esempi e tutte le spiegazioni.
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 
MakarFX:

L'angolo sinistro è occupato (

Ho letto e trovato degli esempi, e il codice è basato su di essi,

ma non ci sono esempi di come cambiare l'angolo (

Non fa differenza da quale angolo si conta la coordinata iniziale dell'oggetto. Questo angolo è l'origine delle coordinate. Dove si trovano gli oggetti sta a voi calcolare le loro coordinate dall'origine.

 
Alexey Viktorov:
Devo aver cercato troppo. Ecco gli esempi e tutte le spiegazioni.

OBJ_CHANNEL richiede tempo e prezzo e XU può essere ottenuto solo con ChartXYToTimePrice

Artyom Trishkin:

Non fa differenza da quale angolo viene contata la coordinata iniziale dell'oggetto. Questo angolo è l'origine delle coordinate. E dove saranno gli oggetti sta a voi calcolare le loro coordinate dall'origine.

Puoi farlo in questo modo, ma se la dimensione della finestra cambia o la risoluzione è diversa su un altro computer, l'oggetto viene spostato.

 
MakarFX:

OBJ_CHANNEL richiede tempo e prezzo e XU può essere ottenuto solo con ChartXYToTimePrice

Questo è possibile, ma se la dimensione della finestra cambia o la risoluzione è diversa su un altro computer, l'oggetto viene spostato.

State parlando in termini astratti. Fai uno screenshot dello schermo - cosa ci metti e perché vedi un problema. Cosa si sta spostando dove?

 
MakarFX:

OBJ_CHANNEL richiede tempo e prezzo e XU può essere ottenuto solo con ChartXYToTimePrice

Questo è possibile, ma se la dimensione della finestra cambia o la risoluzione è diversa su un altro computer, l'oggetto viene spostato.

Poi cerca nella documentazione come determinare i DPI e usali per determinare la larghezza della finestra del grafico.

 
Alexey Viktorov:

Poi cerca nella documentazione come determinare i DPI e usali per determinare la larghezza della finestra del grafico.

Mi hai capito bene, proverò a cercarlo. Grazie.
 
MakarFX:
Mi hai capito bene, proverò a cercarlo. Grazie.

Ecco un esempio dalla documentazione.

//--- создаём кнопку шириной 1.5 дюйма на экране 
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // получим DPI монитора пользователя 
int base_width = 144;                                      // базовая ширина в экранных точках для стандартных мониторов c DPI=96 
int width      = (button_width * screen_dpi) / 96;         // вычислим ширину кнопки для монитора пользователя (с учётом его DPI) 
... 
  
//--- вычисление коэффициента масштабирования в процентах 
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96; 
//--- использование коэффициента масштабирования 
width=(base_width * scale_factor) / 100;