Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1065

 

Alexey Viktorov:

Lisez attentivement le manuel. OBJ_CHANNEL n'a rien à voir avec l'angle.

Je l'ai eu !

Alors revenons à la question précédente :

Il existe des coordonnées X et Y, comment définir une condition pour que le ChartXYToTimePrice compte à partir du coin droit ?

 
MakarFX:

Je l'ai eu !

Alors revenons à la question précédente :

Il y a des coordonnées X et Y, comment puis-je définir la condition pour que ChartXYToTimePrice compte à partir du coin droit ?

ChartXYToTimePrice compte les coordonnées à partir du coin supérieur gauche. Et quelle que soit la façon dont vous calculez à partir du coin droit, vous devrez toujours le convertir en coin supérieur gauche. A quoi sert ce tambourin ? Quel objet voulez-vous placer par rapport au coin droit ? Pourquoi ne lisez-vous pas le manuel ? Il y a tous les exemples et les explications.

 
Alexey Viktorov:
Quel est le but d'une telle danse du tambourin ?

Le coin gauche est occupé(

Alexey Viktorov:

Pourquoi ne lisez-vous pas le manuel ? Après tout, tous les exemples et explications sont là.

J'ai lu et trouvé des exemples, et le code est basé sur ceux-ci,

mais pas d'exemples sur la façon de changer l'angle(

 
MakarFX:

Le coin gauche est occupé(

J'ai lu et trouvé des exemples, et le code est basé sur ceux-ci,

mais il n'y a pas d'exemples sur la façon de changer l'angle(

Je suppose que je n'ai pas regardé assez fort. Voici des exemples et toutes les explications.
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 
MakarFX:

Le coin gauche est occupé(

J'ai lu et trouvé des exemples, et le code est basé sur ceux-ci,

mais il n'y a pas d'exemples sur la façon de changer l'angle(

L'angle sous lequel la coordonnée de départ de l'objet est comptée ne fait aucune différence. Cet angle est l'origine des coordonnées. C'est à vous de calculer les coordonnées des objets à partir de l'origine.

 
Alexey Viktorov:
Je dois avoir regardé trop fort. Voici des exemples et toutes les explications.

OBJ_CHANNEL requiert le temps et le prix et XU ne peut être obtenu qu'avec ChartXYToTimePrice

Artyom Trishkin:

Le coin à partir duquel la coordonnée initiale de l'objet est comptée ne fait aucune différence. Ce coin est l'origine des coordonnées. Et c'est à vous de calculer les coordonnées des objets à partir de l'origine.

Vous pouvez procéder de cette manière, mais si la taille de la fenêtre change ou si la résolution est différente sur un autre ordinateur, l'objet est décalé.

 
MakarFX:

OBJ_CHANNEL requiert le temps et le prix et XU ne peut être obtenu qu'avec ChartXYToTimePrice

C'est possible, mais si la taille de la fenêtre change ou si la résolution est différente sur un autre ordinateur, l'objet est décalé.

Vous parlez en termes abstraits. Faites une capture d'écran de l'écran - ce que vous y placez et pourquoi vous y voyez un problème. Qu'est-ce qui se déplace où ?

 
MakarFX:

OBJ_CHANNEL requiert le temps et le prix et XU ne peut être obtenu qu'avec ChartXYToTimePrice

C'est possible, mais si la taille de la fenêtre change ou si la résolution est différente sur un autre ordinateur, l'objet est décalé.

Consultez ensuite la documentation pour savoir comment déterminer le DPI et utilisez-le pour déterminer la largeur de la fenêtre du graphique.

 
Alexey Viktorov:

Consultez ensuite la documentation pour savoir comment déterminer le DPI et utilisez-le pour déterminer la largeur de la fenêtre du graphique.

Tu as raison, je vais essayer de chercher. Merci.
 
MakarFX:
Tu as raison, je vais essayer de chercher. Merci.

Voici un exemple tiré de la documentation.

//--- создаём кнопку шириной 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;