Questions des débutants MQL5 MT5 MetaTrader 5 - page 843

 
Sergey Likho:

Merci.

Pouvez-vous me direpourquoi OBJ_EDIT ne s'affiche pas sur le graphique réel ?

Il est probable que la liaison des objets est mal définie et qu'ils ont dépassé le bord de la fenêtre.

Vous devriez spécifier la liaison non pas 0,1,2 comme dans mt4, maisENUM_BASE_CORNER.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 

S'il vous plaît, aidez-moi à résoudre le problème, le code fonctionne sur chaque tick, donc j'ai besoin de la solution la plus simple.

Le problème : Il y a une pile de positions fermées dans l'historique, et de cette pile nous devons extraire la taille du profit, qui était au moment de la dernière fermeture, les positions peuvent être de 1 à 100 (grille).

En règle générale, ils ne sont pas fermés en même temps, mais la différence de temps entre l'ouverture et la fermeture ne dépasse pas 2 minutes (mt4).

Si vous développez une boucle ou un tableau, tout fonctionne, mais vous ne pouvez pas développer quoi que ce soit, vous devez chercher de moins en plus.

//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  datetime tm=0;
  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
  
   for(int i=0; i<5; i++) {
    datetime date=pos[i];
    // ... ld = date;
    // Здесь много кода, и цикл/массив разворачивать нельзя
    // ...
    // 120 секунд разницы между закрытием первой и последней в сетке
    if((tm <= date && date <= tm+120) || tm==0) {
      tm = date;
      Print(i,"=",date); // Ожидаемый результат: 2018.04.04 12:08:59, 2018.04.04 12:08:43, 2018.04.04 12:08:43
    }

   }
    Print("");
    Sleep(10000);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

Aidez-moi à résoudre le problème, le code s'exécute à chaque tic, j'ai donc besoin de la solution la plus simple.

Pourquoi la date est en texte ? C'est très improductif.

 
Vitaly Muzichenko:

S'il vous plaît, aidez-moi à résoudre le problème, le code s'exécute à chaque tic, donc la solution la plus simple est nécessaire.

  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
 
Vladimir Karputov:

Pourquoi la date est-elle sous forme de texte ? C'est très improductif.

Ceci est juste un exemple, dans le code tout est normalement assemblé dans un tableau

P.S. Mise à jour de l'article précédent

P.S. La question est résolue, je vais étendre le tableau et refaire le travail du code principal.

 

Chers utilisateurs du forum, pourriez-vous me dire comment dessiner un segment vertical entre des barres sans utiliser une étiquette rectangulaire(OBJ_RECTANGLE_LABEL) ? Malheureusement, je n'ai pas trouvé de réponse à cette question. S'il y a quelque chose que je n'ai pas lu dans la documentation ou le forum, veuillez m'indiquer où. Merci.

 
MrVIS:

Chers utilisateurs du forum, pourriez-vous me dire comment dessiner un segment vertical entre des barres sans utiliser une étiquette rectangulaire(OBJ_RECTANGLE_LABEL) ? Malheureusement, je n'ai pas trouvé de réponse à cette question. S'il y a quelque chose que je n'ai pas lu dans la documentation ou le forum, veuillez m'indiquer où. Merci.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
//| Создает линию тренда по заданным координатам                     |               time1=0,                            price1=0,                         time2=0,                            price2=0,                        width=1,            //| Перемещает точку привязки линии тренда                           | //
 
FelixFX:
Je comprends que l'on puisse apprendre n'importe quoi avec des articles et des gestes ainsi que des expressions faciales, mais avec un manuel, par exemple, on passe un mois à apprendre (sans pratique), et d'autres manières à passer six mois + pratique. Tout le monde ne peut pas passer tout son temps libre à apprendre un langage de programmation.

Pas vraiment ? ! Et au contraire. Par exemple, je juge d'après le passé : j'avais un professeur de mathématiques, qui expliquait tout en classe de telle manière que je n'ai pas appris un seul théorème, mais les épreuves ministérielles étaient écrites en 15 minutes et pour 5 ; en huitième année, j'ai été transféré à un autre professeur et tout - toute la classe s'est immédiatement abrutie. C'est la même chose avec les manuels scolaires, si c'est moi, ou quelqu'un comme moi, qui les écrit, alors votre temps d'apprentissage sera très long. Et on vous a dit, en fonction de votre désir, que tout lui reviendra et à quelle vitesse vous serez capable d'absorber la matière. Ensuite, vous apprendrez en vous promenant parmi les auteurs et vous aurez une certaine expérience et vous serez en mesure de voir qui et quoi fait de la rétention. S'ils vous apprennent à manier une fourchette et ne vous montrent jamais de cuillère, vous mangerez de la soupe pendant longtemps. Et vous préférez mourir de faim plutôt que de le manger. Alors allez-y pour les mines, et pas de sapeurs.

 
MrVIS:

Chers utilisateurs du forum, pourriez-vous me dire comment dessiner un segment vertical entre des barres sans utiliser une étiquette rectangulaire(OBJ_RECTANGLE_LABEL) ? Malheureusement, je n'ai pas trouvé de réponse à cette question. S'il y a quelque chose que je n'ai pas lu dans la documentation ou le forum, veuillez m'indiquer où. Merci.

C'est très simple.

Option 1 : Vous tracez une ligne horizontale et faites pivoter le moniteur de 90° dans le sens horaire ou antihoraire.

Option 2. Faites pivoter la position du MT pour que le graphique soit tracé de bas en haut.

Option 3.

L'imagination est brisée.

 
Alexey Viktorov:

C'est aussi simple que cela.

Option 1 : Tracez une ligne horizontale et faites pivoter le moniteur de 90° dans le sens des aiguilles d'une montre ou dans le sens inverse.

Option 2. Faites pivoter la position du MT pour que le graphique soit tracé de bas en haut.

Option 3. ...

L'imagination est brisée.

Voici un indice : Canvas