Erreurs, bugs, questions - page 40

 
Interesting:

> Je ne suis pas intéressé par un moyen de contourner le bogue, mais par la correction du bogue lui-même. J'aimerais qu'il soit complètement éliminé.

Je ne pense pas que ce soit grossier ou insultant, mais ça m'a vraiment tué...

Pour en venir à la question (suggestion) :

Ce n'est pas MQL4, et Period() ne représente pas explicitement le nombre de secondes/minutes dans TF.

Pour obtenir le nombre de secondes d'une période, utilisez la fonction PeriodSeconds.


Et si vous essayez d'exprimer Période comme un nombre, alors comme résultat vous obtiendrez la valeur numérique correspondant à l'identifiant de la période dans l'énumération ENUM_TIMEFRAMES.

Eh bien, ouvre l'aide pour la fonction Period(). B qu'est-ce qu'on voit ?

Elle renvoie la valeur de l'intervalle de temps actuel du graphique.

ENUM_TIMEFRAMESPériode() ;

Valeur retournée

Contenu de la variable _Period, où est stockée la valeur de l'horizon temporel du graphique actuel. La valeur peut être l'une des valeurs de l'énumération ENUM_TIMEFRAMES.

Cliquez sur le lienENUM_TIMEFRAMES - ouvre le tableau qui liste les périodes.

PERIOD_H1 1 Heure

Tout est comme dans MQL4. Quel est le rapport avec le numéro 16386 ?

Methaqvotes est comme d'habitude - ils n'écrivent pas l'aide pour les utilisateurs, mais l'utilisent comme un carnet de notes pour eux-mêmes. Ils savent ce qu'il en est et se moquent de ce qui se passe dans le cerveau de l'utilisateur lorsqu'il lit leur texte. Apparemment, ils n'ont pas d'éditeur professionnel qui posséderait un style de base en russe (au moins au niveau d'un livre ABC). :(

Je suis juste fatigué de l'ignorance du matériel présenté par les méta-citations lors de la maîtrise de MQL4. J'ai l'impression que je vais devoir repasser par là dans MQL5.

 
drknn:

Eh bien, nous ouvrons l'aide Period(). B Que voyons-nous ?

On clique surENUM_TIMEFRAMES - cela ouvre un tableau qui liste les périodes.

PERIOD_H1 1 Heure

Quel est le rapport avec le numéro 16386 ?

Les métacaractères dans leur répertoire, ils n'écrivent pas d'aide pour les utilisateurs, mais l'utilisent comme un carnet de notes pour eux-mêmes. Ils savent ce qu'il faut faire et ne se soucient pas de ce qui apparaîtra dans le cerveau de l'utilisateur lorsqu'il lira leur texte. Apparemment, ils n'ont pas d'éditeur professionnel qui posséderait un style de base en russe (au moins au niveau d'un livre ABC). :(

Mais PERIOD_H1 dansENUM_TIMEFRAMES a la valeur de code 16385, alors qu'auparavant elle était de 60 (en nombre de minutes).

Les étalonnages de ce type sont dus au fait que MQ n'a pas encore publié de codes pour les valeurs individuelles des numérateurs (identificateurs), comme cela a été fait dans l'aide de MQL4.

J'ai personnellement (et peut-être d'autres aussi) demandé de spécifier ces CODES (valeurs) dans l'aide, ce qui n'a pas encore été fait.

PS

Si vous ouvrez l'aide pour Period() dans MQL4 et MQL5, voici ce qui frappe immédiatement votre œil (du moins, cela devrait) :

MQL4 - Renvoie le nombre de minutes d'une période pour le graphique actuel.

MQL5 - Il renvoie la valeur de l'intervalle de temps du graphique actuel.

Cela suffit pour les développeurs ordinaires, mais ceux qui veulent travailler à un niveau inférieur (par exemple, pour transmettre des informations à une DLL ou créer une bibliothèque pour la migration) doivent connaître le code numérique.

Dans MQL4 ce code correspond à un nombre de secondes (car il retourne le nombre de secondes), mais dans MQL5 les règles sont différentes...

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 

Un tableau récapitulatif des valeurs de code pour Period() dans MQL4 et MQL5 ressemblera à ceci


Identité
Code MQL 5
Code MQL 4
Description
PERIOD_CURRENT / NULL
0
0
Période actuelle
PERIOD_M11
1
1 minute
PERIODE_M22
Х
2 minutes
PERIOD_M33
Х3 minutes
PERIOD_M44
Х 4 minutes
PERIOD_M55
5
5 minutes
PERIOD_M66
Х 6 minutes
PERIOD_M1010
Х 10 minutes
PERIOD_M1212
Х 12 minutes
PERIOD_M1515
15
15 minutes
PERIOD_M2020
Х 20 minutes
PERIOD_M3030
30
30 minutes
PERIOD_H116385
60
1 heure
PERIOD_H216386Х2 heures
PERIOD_H316387Х2 heures
PERIOD_H416388240 4 heures
PERIOD_H616390Х 6 heures
PERIOD_H816392Х 8 heures
PERIOD_H1216396Х 12 heures
PERIOD_D1164081440 1 jour
PERIODE_W132769
10080 1 semaine
PERIOD_MN1
49153
43200 1 mois


PS

J'espère que c'est très clair maintenant... :)

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 
Interesting:

Un tableau récapitulatif des valeurs de code pour Period() dans MQL4 et MQL5 ressemblerait à ceci :

>

PS

J'espère que tout est clair maintenant... :)

Regardez les bits de valeur dans MQL5...
 
mql5:
Regardez les bits de valeur dans MQL5...
Tout semble être spécifié avec précision. Ou peut-être que je n'ai pas compris le sens de votre message...
 
Interesting:
Tout semble être énoncé avec précision. Ou bien je ne comprends pas le sens de votre message...
Les chiffres semblent être corrects, mais pourquoi le sont-ils, vous pouvez le découvrir en regardant la valeur binaire.
 
mql5:
Les chiffres semblent corrects, mais vous pouvez découvrir pourquoi en regardant la valeur binaire.

Oh, tu veux dire ça... :)
 
Interesting:

Le tableau récapitulatif des valeurs de code pour Period() dans MQL4 et MQL5 se présente comme suit :

PS

J'espère que tout sera clair maintenant... :)

Je connais la logique formelle et les différences entre les termes m'ont immédiatement interpellé. Le problème est que la lecture de l'aide de MQL5 ne rend pas beaucoup de choses claires. Il est clair que les methaquotes ont mis le terminal à la disposition du public afin d'attirer le groupe de bêta-testeurs - cette étape permettra de gagner du temps et de l'argent. Mais donner aux utilisateurs une référence qui manque de clarté est une grosse erreur de leur part. Par exemple, nous ouvrons la section la plus importante"Conversion MQL4" :

Variables prédéfinies

Dans MQL5, il n'y a pas de variables prédéfinies telles que Ask, Bid, Bars. L'orthographe des variables Digits et Point a légèrement changé, comme le montre le tableau ci-dessous.

Le tableau ne donne aucune information sur les Ask, Bid et Bars. Si l'on tente d'utiliser une recherche pour le même mot Ask, on se retrouve face à une construction totalement incompréhensible d'une requête pour les derniers prix. Le développeur n'aurait-il pas pu prévoir cela à l'époque, au moment de rédiger cette partie de l'aide ? C'est absurde, pourquoi cela pourrait-il arriver ? La seule raison est le manque de systématicité - c'est-à-dire l'absence d'un plan clair de la future rédaction. Le plus probable est que le certificat a été rédigé de manière fragmentaire, puis les différents morceaux ont été collés ensemble et vous avez un "certificat". Ce n'est bon pour rien. Personne n'aime lire les brouillons de quelqu'un d'autre !

D'accord, même si c'est un brouillon, est-ce vraiment si difficile de l'écrire différemment, par exemple comme ça :

Variables prédéfinies

Dans MQL5, il n'y a pas de variables prédéfinies telles que Ask, Bid, Bars. Ces valeurs dans MQL5 sont obtenues par d'autres règles. Pour avoir une idée claire de la façon dont cela se fait, vous devriez lire les sections "111", "2222" и "3333".

Les variables Digits et Point ont légèrement changé dans l'orthographe, comme le montre le tableau.

C'est ça ! !! Un geste si simple et un tel gain de temps et d'efforts.

Lire l'aide du MQL5, c'est un peu comme errer dans une forêt sombre sans carte, sans boussole et sans la possibilité de grimper à un arbre pour s'orienter. Quel serait le désir ? Bien - ne pas entrer du tout dans une telle forêt. Le développeur connaît parfaitement la forêt. Son refus de donner un guide à l'utilisateur suscite au moins la perplexité et au plus - le dégoût.

Lorsque je lis les réponses des développeurs du type : "Nous avons actuellement des tâches plus importantes que celle-ci", j'ai envie de demander - pourquoi diable avez-vous posté un travail aussi sale ? C'est une atteinte à votre réputation. N'aurait-il pas été préférable de tout vérifier d'abord, de le déboguer, de le coder correctement et de ne pas torturer les utilisateurs avec vos brouillons ?

Pas de mots. Metatrader 4 est utilisé depuis combien d'années ? Correct, beaucoup. Et jusqu'à présent, il n'existe pas de manuel de langue MQL4 approprié. Un activiste a essayé de créer un tel manuel et a échoué. C'est un gars qui travaille dur, c'est tout. Son livre ne peut être considéré comme un bon manuel scolaire. Faute de mieux, cette création se trouve sur le site comme un manuel. Pourquoi n'est-ce pas un manuel scolaire ? Oui, c'est simple - lisez ce livre pour les débutants, puis allez sur un forum et demandez des conneries qui peuvent m'étonner. S'il y avait un manuel approprié, cela ne se produirait pas - le lecteur y verrait clair et verrait la validité de l'utilisation d'une ressource particulière dans le futur code.

Pendant longtemps, j'ai été tenté de tout abandonner et de faire deux choses : un véritable éditeur de code pour MQL4 et un véritable tutoriel sur ce langage. Mais comme la quantité de travail est énorme et qu'à l'exception d'un sentiment de satisfaction, je n'obtiendrais rien pour ce genre de travail, j'ai décidé de ne pas mettre en œuvre ces idées.

En bref, je pense que je vais attendre quelques années et laisser les methaqvotes affûter leurs créations MQ5. Je ne veux même pas toucher à une œuvre si terriblement faite. J'ai déjà "toutes les mains dans leurs échardes". Ils feraient mieux de déboguer la famille MQ4 de et avant de riveter brutalement la MQ5 dans la précipitation.

Je suis déçu.

 
drknn:

Je connais la logique formelle et les différences entre les termes m'ont immédiatement interpellé. Le fait est que la lecture de l'aide de MQL5 ne rend pas beaucoup de choses claires. Il est clair que les methaquotes ont mis le terminal à la disposition du public afin d'attirer le groupe de bêta-testeurs - cette étape permettra de gagner du temps et de l'argent. Mais donner aux utilisateurs une référence qui manque de clarté est une grosse erreur de leur part. Par exemple, ouvrez la section principale"Conversion MQL4" ......

Je suis déçu.

C'est tout à fait acceptable, compte tenu de certaines caractéristiques (principalement dues au fait que MQL5 est constamment mis à jour).

Bien sûr, il y a quelques imprécisions, ou comme beaucoup préfèrent le penser "des lacunes et des erreurs", mais on peut les expliquer et les améliorer progressivement.

Le sujet de la migration de MQL4 vers MQL5 est une couche séparée en soi, j'oublierais les changements sérieux dans cette section jusqu'à l'automne (au moins), car les développeurs devraient probablement s'occuper de MQL5 et seulement ensuite penser à faire des changements dans cette partie.

PS

Je veux dire que beaucoup de choses pourraient y être ajoutées. Par exemple, nous pouvons déplacer certaines fonctions de MQL4 vers la section DEAD (comme cela se faisait dans MQL4).

Même si une certaine partie du travail visant à faciliter la migration n'est pas réalisée, ce ne sera pas un gros problème, et encore moins un GRAND LIVRE DE PIERRE...

 
Interesting:

Une référence parfaitement acceptable...

Merci pour cet aperçu :)
Raison: