Erreurs, bugs, questions - page 494

 
marketeer:

En résumé, je répéterai l'idée que j'ai déjà exprimée : la tâche de la plate-forme, qui est MT, est de protéger autant que possible l'utilisateur (le programmeur) d'un éventuel "râteau".

Je m'y oppose fermement et catégoriquement. La plate-forme n'a pas cette tâche. Je réagis toujours très mal aux tentatives gauchistes de me protéger des barres "supplémentaires", de l'historique des tics, de l'écriture des fichiers où je veux, des tests contre mes propres citations et autres préoccupations de ce genre.

Je le tolère uniquement parce que j'espère qu'il a des raisons commerciales, et ce n'est pas à moi de dire à MQ comment faire des affaires.

Bien que je n'aie rien contre cela :

C'est-à-dire qu'une autre #propriété aurait pu être introduite pour indiquer si les tampons doivent être initialisés automatiquement.
Je n'ai rien contre, car une telle solution augmente les possibilités, et non les limite.
 
MetaDriver:

Je m'y oppose fermement et catégoriquement. La plate-forme n'a pas cette tâche. Je réagis toujours très mal aux tentatives gauchistes de me protéger des barres "supplémentaires", de l'historique des tics, de l'écriture des fichiers où je veux, des tests contre mes propres citations et autres préoccupations de ce genre.

Je n'ai pas suggéré de restreindre quoi que ce soit, juste de réduire les sources d'erreur et de laisser la compatibilité comportementale avec MT4, au moins en option.

La plateforme a une telle tâche, sinon blasphémons, par exemple, le collecteur d'ordures en java et d'autres trucs de routine, qu'il est plus facile (et PLUS JUSTE) de faire une fois à l'intérieur de la plateforme, que d'obliger chaque programmeur à le faire à sa façon, avec des bugs.

 
marketeer:

Je ne suggérais pas de limiter quoi que ce soit, juste de réduire les sources d'erreur et de laisser la compatibilité dans le comportement avec MT4, au moins en option.

Sinon, blasphémons, par exemple, le collecteur de déchets java et d'autres fonctionnalités de routine, qui sont plus faciles (et plus justes) à faire une fois à l'intérieur de la plateforme, que de faire faire à chaque programmeur à sa manière, avec des bugs.

Je ne veux pas entrer dans des arguments religieux sur le "bien" et le "mal", sauf pour dire que nous pouvons aller jusqu'aux performances de MT4 dans notre quête de compatibilité. Ce que je n'aimerais pas faire.
 
MetaDriver:
Je ne veux pas entrer dans un débat religieux sur le "bien" et le "mal", mais je tiens à souligner que dans la recherche de la compatibilité, il est possible d'aller jusqu'aux performances de MT4. Ce que je n'aimerais pas faire.
Eh bien, c'est comme toujours - cela dépend de l'exécution. Pour ne pas s'écarter d'un exemple concret, il semble évident que l'initialisation du tampon "manuellement" (ce qui est maintenant fait par de nombreux développeurs, et qui plus est - la non-initialisation est appelée une erreur d'indicateur personnalisé par les représentants de MC), étant déplacée dans le noyau (et activée en option) n'aurait pas d'impact négatif sur les performances.
 
marketeer:

C'est-à-dire qu'une autre #propriété pourrait être saisie pour indiquer si les tampons doivent être initialisés automatiquement.

Je suis d'accord, parfois cela peut être utile. Mais seulement parfois.
 

Renat:

La récursion est généralement facile à attraper - elle dépend directement du volume des variables locales, et il y a exceptionnellement peu de ces endroits dans un programme.

Je ne sais pas, j'ai déterminé (supposé) de manière purement intuitive que c'était le traitement du tick qui tournait en boucle. Et le "méfait" est apparu après environ 10 minutes de recherche approfondie dans le code et de comparaison d'anciennes copies du conseiller expert avec une copie dans laquelle les changements ont été introduits.

Si le prétraitement complique considérablement le compilateur (les arguments de MetaDriver semblaient très convaincants), j'aimerais obtenir des informations plus précises sur l'endroit où le problème est apparu.

 
Interesting:

Je ne sais pas, j'ai déterminé (supposé) de manière purement intuitive que c'était le traitement du tick qui était bouclé. Et ce "méfait" est survenu après environ 10 minutes de recherche approfondie dans le code et de comparaison des anciennes copies d'Expert Advisor avec la copie où les changements ont été effectués.

Fouiller un peu en profondeur éclaire l'esprit. "Que ferions-nous si papa ne buvait pas ? Mais de cette façon, nous donnons les bouteilles et utilisons l'argent pour acheter du pain".
 
stringo:
Une fouille approfondie est très éclairante pour l'esprit. "Que ferions-nous si papa ne buvait pas ? Mais de cette façon, nous rendons les bouteilles et utilisons l'argent pour acheter du pain."
Je vois la logique... :)
 

Camarades, est-il prévu d'améliorer la fonction Bars()? Il me semble qu'elle n'est pas tout à fait adéquate. Elle peut donner 0, auquel cas on ne sait pas s'il n'y a vraiment aucune barre ou une erreur, GetLastError() ne le remarque pas non plus, cela nous fait inventer des astuces inutiles et ralentissantes.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 

Et une autre question, par exemple la situation suivante :

J'ai besoin de 100 barres de la série temporelle High sur le graphique horaire. Qu'est-ce qui sera le plus efficace - copier 100 barres à partir du conseiller expert ou les obtenir à partir du tableau transmis à l'indicateur ? En d'autres termes, si j'attache l'indicateur au graphique, copiera-t-il les barres que je n'utiliserai pas ? (Est-il possible de connaître le temps passé à l'exécution du programme en utilisant les outils MQL ?