Comment apprendre à créer des objets graphiques ? MQL4.

 

Cela fait longtemps que je veux apprendre àcréer des objets graphiques, mais de nombreuses lignes de code sont source de confusion.

Si tout est clair avec l'appel de l'indicateur dans l'Expert Advisor : appel du handle, copie des valeurs dans le buffer, alors quel est l'algorithme de construction des objets en bref ?

Je vais commencer par le plus simple : tracer la ligne de tendance. Voici un exemplehttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_trend

Seulement, comment faire pour que la ligne apparaisse mais ne disparaisse pas ?

Je me demande comment un EA devrait lire la position actuelle de cette ligne, il n'y a pas de tampons dans les objets ?

Je veux le créer dans MQL4, est-ce très différent de MQL5 ?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
PrenezOBJ_TREND comme exemple et copiez-le dans votre EA en tant que fonctions séparées. Que voulez-vous dire par "ne pas le faire disparaître" ? Obtention des valeurs de temps et de prix des objets :ObjectGetTimeByValue etObjectGetValueByTime.
OBJ_TREND - Документация на MQL4
  • docs.mql4.com
OBJ_TREND - Документация на MQL4
 
barabashkakvn:
PrenezOBJ_TREND comme exemple et copiez-le dans votre EA en tant que fonctions séparées. Que voulez-vous dire par "ne pas le faire disparaître" ? Obtention des valeurs de temps et de prix des objets :ObjectGetTimeByValue etObjectGetValueByTime.
Lorsque j'appelle le script, la ligne apparaît visuellement (l'action se déroule comme dans la vidéo) puis disparaît.
 
forexman77:
Lorsque j'appelle le script, la ligne apparaît visuellement (comme dans la vidéo) puis disparaît.
Changez le code du script. Supprime la suppression de l'objet. Utilisez-vous le script complet de l'aide ?
 
barabashkakvn:
Changez le code du script. Supprime la suppression de l'objet. Utilisez-vous le script complet de l'aide ?
Oui. Je vais essayer maintenant.
 
barabashkakvn:
Changez le code du script. Supprime la suppression de l'objet. Utilisez-vous le script complet de l'aide ?
La ligne reste. C'est bon. Je vais m'en occuper maintenant.
 
Si vous avez des questions sur le code, affichez le code et posez-les.
 
barabashkakvn:
Si vous avez des questions sur le code, affichez le code et posez-les.

On ne sait pas très bien ce que ces chiffres signifient et ce qu'ils fixent ? Si avec le temps je peux supposer qu'il s'agit de l'indice de la barre, alors comment comprendre InpPrice, de type int?

input int             InpDate1=35;         // Дата 1-ой точки в %
input int             InpPrice1=60;        // Цена 1-ой точки в %
input int             InpDate2=65;         // Дата 2-ой точки в %
input int             InpPrice2=40;        // Цена 2-ой точки в %
 
forexman77:

On ne sait pas très bien ce que ces chiffres signifient et ce qu'ils demandent ?

Déchiffrage L'explication est donnée un peu plus haut :

#property description "Скрипт строит графический объект \"Трендовая линия\"."
#property description "Координаты точек привязки задаются в процентах от"
#property description "размеров окна графика."

et à partir de là, ces données seront utilisées pour déterminer les points de tirage :

void OnStart()
  {
.
.
.
//--- определим точки для рисования линии
   int d1=InpDate1*(bars-1)/100;
   int d2=InpDate2*(bars-1)/100;
   int p1=InpPrice1*(accuracy-1)/100;
   int p2=InpPrice2*(accuracy-1)/100;
//--- создадим линию тренда
.
.
.
 
barabashkakvn:

Déchiffrage L'explication est donnée un peu plus haut :

et à partir de là, ces données seront utilisées pour définir les points de dessin :

Dans l'exemple"OBJ_TREND", je pense qu'il y a beaucoup de données inutiles. Comme je ne connais pas très bien cette région, j'ai peur d'être perdue pendant un long moment.

D'après ce que je comprends, le code est recherché, mais je connais déjà les deux points, les indices de barre (mon algorithme).

La seule question est de savoir comment relier ces deux points par une ligne et la poursuivre vers la droite jusqu'à un certain événement.

 
forexman77:

Il semble y avoir beaucoup de redondance dans cet exemple. Comme je ne connais pas très bien cette région, j'ai peur d'errer pendant un long moment.

D'après ce que je comprends, le code est en train de chercher, mais je connais déjà les deux points, les barres d'index (mon algorithme).

La seule question est de savoir comment relier ces deux points par une ligne et la poursuivre vers la droite jusqu'à un certain événement.

Si vous connaissez l'heure et les dates de vos points, il vous suffit d'appelerbool TrendCreate()
Raison: