Souhaits pour le MQL5 - page 27

 
SK. писал (а):
L'ère des solutions collectives est révolue et a échoué. Il y a toujours un très petit nombre de personnes à l'avant-garde, inspirées par leurs propres idées. Ce sont eux qui déterminent nos conditions d'existence.

Il y a un visage souriant avec son chapeau enlevé /:-)

Ayant suivi l'histoire de l'humanité, je ne me souviens d'aucune décision collective. Ici, vous avez raison. C'est pourquoi j'ai écrit que si un développeur est VRAIMENT intéressé par...... Ce serait une sorte d'indication de son intérêt et non une autre pilule sucrée pour maintenir l'estime de soi des utilisateurs.

 

Une question sur la version actuelle, et en même temps un souhait pour la version future.
Dans le testeur, lors du test d'un EA utilisant des "indicateurs à partir d'indicateurs",
il n'y a pas assez de temps de modèle pour poser ces indicateurs.
Par exemple :
Les indicateurs #1 et #1.1 reçoivent des données de iMA()
L'indicateur 2 est basé sur les données des indicateurs 1 et 1.1.
L'indicateur 3 effectue des calculs quadratiques à partir des données de l'indicateur 2.
L'indicateur de sondage Expert Advisor 3,
mais
Pendant le test, le conseiller expert ne reçoit aucune donnée (bien qu'il fonctionne parfaitement en mode trading).
Cela ressemble à ceci : pendant le test, le conseiller expert peut donner une ou deux transactions correctes, puis reste silencieux.
à cause de l'indicateur vient machine zéro = 2147483647.
Une pile déborde-t-elle ?
-lorsque GetLastError()==0
-Il ne dépend pas de la vitesse de visualisation et de modélisation des barres.
- Si nous déplaçons les indicateurs vers le conseiller expert, les tests deviennent possibles jusqu'à une certaine limite de temps pour les calculs dans le conseiller expert.

1. Y a-t-il des paramètres disponibles dans le testeur de stratégie pour ajouter du temps pour l'interrogation des indicateurs ?
2. la fonction GetLastError() détectera-t-elle l'erreur "indicator did not get it"/"Expert Advisor did not get it"). ?
C'est-à-dire que maintenant cette erreur ne peut être détectée qu'avec les indicateurs qui tirent DRAW_LINE par retour 2147483647

 
Korey:

Le conseiller sonde l'indicateur 3,
mais
Lors du test, le conseiller expert ne reçoit aucune donnée (bien qu'il fonctionne parfaitement en mode commercial).
Cela ressemble à ceci, en cours d'exécution l'EA peut donner un ou deux trades correctement, après cela il est silencieux.
à cause de l'indicateur vient machine zéro = 2147483647.
Une pile déborde-t-elle ?
-lorsque GetLastError()==0

...


Vous avez un problème évident dans l'indicateur. Lorsque vous obtiendrez la version correcte de l'indicateur, toutes les questions relatives à la synchronisation des calculs disparaîtront. À cause du bogue dans l'indicateur, vous pensez que quelque chose n'est pas calculé à temps, qu'il y a une "liste d'attente pour le calcul de l'indicateur". Ce n'est pas le cas !
 
Rosh:
Korey:

Le conseiller sonde l'indicateur 3,
mais
Lors du test, le conseiller expert ne reçoit aucune donnée (bien qu'il fonctionne parfaitement en mode commercial).
Cela ressemble à ceci, en cours d'exécution l'EA peut donner un ou deux trades correctement, après cela il est silencieux.
à cause de l'indicateur vient machine zéro = 2147483647.
Une pile déborde-t-elle ?
-lorsque GetLastError()==0

...


Vous avez manifestement un problème avec l'indicateur. Lorsque vous obtiendrez la version correcte de l'indicateur, toutes les questions relatives à la synchronisation des calculs disparaîtront. À cause du bogue dans l'indicateur, vous pensez que quelque chose n'est pas calculé à temps, qu'il y a une "liste d'attente pour le calcul de l'indicateur". Ce n'est pas le cas !


J'ai trouvé mon habituelle dislocation en réponse à votre commentaire.
Le nombre de barres calculé dans l'indicateur était limité à max=1000 (j'ai l'habitude d'économiser des ressources)
En augmentant le maximum à 3000, ça a marché.
C'est-à-dire que le bug est que le nombre de barres calculé n'était que de 1000.
Merci, un ÉNORME MERCI, car cela fait plus d'un an que je me passe des tests de qualité ! !!

Cependant, je ne peux pas expliquer logiquement pourquoi on ne peut pas le faire de cette façon. Les tampons d'index fonctionnent-ils différemment dans le testeur ?
Pourquoi, si j'ai besoin de 0,1,2 barres dans mon EA, dois-je compter plus de 1000 barres d'indicateurs ?

 
Dans le testeur, tout fonctionne de la même manière qu'en ligne, ce qui a été délibérément conçu. Le testeur dans MetaTrader 4 : un must à connaître
 

Il est souhaitable de permettre aux programmeurs de tester les programmes sans être connectés à un réseau.

 
Rosh:
Dans le testeur, tout fonctionne de la même manière qu'en ligne, ce qui a été délibérément conçu. Le testeur dans MetaTrader 4 : un must à connaître

Les violations de la logique de l'indicateur ne concernent qu'une seule chose - une profondeur de calcul "mal" définie <1024.
Par conséquent :
1. Vous ne savez pas à l'avance et ce n'est pas clair, qu'au calcul de l'indicateur sur un nombre bien inférieur à BARS
la ligne de l'indicateur peut disparaître, tant dans le trading que dans le Tester,
Il est donc utile de faire des ajouts dans la documentation, par exemple,
"Lorsque le calcul du nombre de barres de l'indicateur est inférieur à .... (1024 ?), un fonctionnement stable n'est pas garanti".
...J'ai ajouté un indicateur dans le forum avec une limite de 1000 barres et soudainement j'ai découvert..,
que lorsqu'il est appelé pour la première fois, il refuse parfois de tracer une ligne. Lorsque je supprime la limitation de profondeur, tout est normal.

2. S'il est possible et évident de renvoyer le zéro machine de l'indicateur au lieu de la valeur de l'index du tampon,
Là encore, il est souhaitable de l'attraper d'une manière ou d'une autre. (sur la programmation isi)))
a) Si elle est en dehors du tableau, pourquoi le traceur ne l'attrape-t-il pas ?
b)Ou bien, vous devriez forcer l'initialisation de la mémoire allouée pour le tampon d'index avec la valeur -(66666666)).
afin de distinguer la nullité du tampon d'indexation de l'absence de calcul.

 
Après un mois de familiarisation avec MQL4, j'ai réalisé que c'est un langage très sérieux), et dans sa spécialisation, c'est probablement le meilleur. Mais il lui manque cruellement un débogueur pas à pas pour un langage de programmation à part entière. Cependant, je n'ai pas lu les 27 pages de ce sujet, donc excusez-moi si cette demande a déjà été postée.
 
Voici une idée. Lors d'un retrait ou d'un recalcul, les indicateurs ne doivent retirer sélectivement que "leurs" objets, c'est-à-dire que pour les retrouver, ils doivent avoir l'attribut indicateur dans leur nom. J'utilise généralement le nom de l'indicateur dans le nom de l'objet. Mais cela ne fonctionne pas lorsqu'il y a plusieurs indicateurs identiques dans un même graphique. Nous pouvons supposer que chaque instance d'indicateur dans le terminal a un ID unique. Il serait bon d'avoir une fonction pour accéder à cet ID, alors le problème serait résolu simplement : Object_Name = ID+"nom de l'objet interne".
 
Messieurs, nous avons tant souhaité pour l'avenir de MQL5, que Dieu nous interdit de faire au moins ceci. Peut-être qu'il est temps de nous dire d'arrêter ? Il est peut-être temps de demander au développeur de nous dire à quoi ressemblera ce langage, peut-être nous donnera-t-il quelque chose à tester ? Par exemple, pour tester le débogueur - je pense que c'est un bon point de départ pour la mise en œuvre de MQL5. D'après ce que je comprends, le débogueur devrait également prendre en charge le code MQL4... Et si c'est prêt, pourquoi ne pas le tester ?
Qu'en pensez-vous, vous les développeurs ?
Raison: