Nouveau MetaTrader 4 Client Terminal 387 et MetaTrader 4 Data Center build 387 - page 8

 
Ce n'est pas un rapport de bogue, il n'y a donc pas de réaction.
 

Donc tu penses que c'est bon ?

Si oui, qui en a besoin, la construction 387-388 ?

Beaucoup de gens travaillent encore sur la 225. Les gens ont besoin de stabilité.

 

Lors du lancement de l'optimisation de cet EA, MT4 affiche un message indiquant qu'il n'y a pas assez de RAM sur cet ordinateur (6GB oo) et lance l'optimisation. Le bouton "Start" reste actif au lieu de "Stop". Dans l'ensemble, il s'agit clairement d'un problème. La construction précédente ne souffrait pas d'une telle absurdité.

 
Renat:
Ce n'est pas un rapport de bogue, il n'y a donc pas de réaction.

:)))

(c) "Voyez-vous un spermophile ? Non ! Moi non plus. Mais toi, si !"

Dossiers :
 

Dans les versions 387-388, la réinitialisation des tampons d'indicateurs personnalisés se produit à des moments imprévisibles. Ce n'est pas bon.

Si la réinitialisation est si nécessaire, la solution peut être la suivante.

Nous introduisons une fonction supplémentaire dans mql4 qui peut interdire ou autoriser cette réinitialisation.

Nous introduisons une fonction booléenne, qui retourne VRAI si le terminal le réinitialise, sinon elle retourne FAUX. La deuxième fonction est valable si la première fonction permet la réinitialisation.

De cette façon, tous les problèmes sont résolus. Celui qui en a besoin permet une réinitialisation automatique par la première fonction. En même temps, il peut contrôler les temps de réinitialisation au moyen de la deuxième fonction.

Il est possible de combiner tout cela en une seule fonction. C'est à la discrétion des développeurs.

Et tout le monde est satisfait. Les erreurs sont éliminées. Et les programmeurs tiers - les programmeurs personnalisés - sont assurés contre les surprises.

C'est une belle solution.

 
Akkarin:

Lors du lancement de l'optimisation de cet EA, MT4 donne un message indiquant qu'il n'y a pas assez de RAM sur cet ordinateur (6GB oo) et lance l'optimisation. Le bouton "Start" reste actif au lieu de "Stop". Dans l'ensemble, il s'agit clairement d'un problème. La version précédente ne souffrait pas d'un tel bug.

Malheureusement, vous n'avez pas spécifié de données initiales, de paramètres de test ou de journaux.

En outre, vous faites référence aux bibliothèques (DLL), qui non seulement nécessitent beaucoup d'installations, mais ne fonctionnent pas parce qu'il manque des bibliothèques supplémentaires (c'est l'auteur des bibliothèques, qui a oublié les fichiers DLL supplémentaires).

Contactez l'auteur de ces bibliothèques pour obtenir des informations.

 
nen:

Dans les versions 387-388, la réinitialisation des tampons d'indicateurs personnalisés se produit à des moments imprévisibles. Ce n'est pas bon.

Apparemment, vous ne voulez pas vérifier votre code gonflé, mais vous essayez de rejeter le problème sur nous. Votre rhétorique est absolument transparente - "ce n'est pas mon problème".

Je m'en fiche. Je n'ai pas de problème. Je peux le redessiner pour qu'il fonctionne correctement. Mais je ne peux pas refaire tous les indicateurs que les autres utilisent.

Vous remplacez également le sens de "de forts changements dans l'histoire entraînent la nécessité d'un recalcul complet" par "des moments imprévisibles". Ils sont prévisibles - l'historique a changé, ce qui a nécessité une réinitialisation complète. Si votre code ne veut pas être conscient de cette situation et ne veut pas se recalculer, alors vous vous faites des illusions.

Démontrez le problème par une décomposition complète. Pas avec des mots, mais avec des paramètres clairs, du code, des journaux, des captures d'écran claires, etc.

En tant que programmeur, il est judicieux d'avoir des discussions étape par étape soutenues techniquement et clairement décrites. Des liens fragmentaires et des messages épars et non assemblés ne constituent pas un rapport de bogue.

La qualité d'un rapport est déterminée par la reproductibilité de son problème par des utilisateurs extérieurs. D'après ce que j'ai compris, jusqu'à présent, personne (y compris les développeurs) dans ce fil de discussion n'a été en mesure de reproduire votre problème.

 

Renat.

Je me demandais si vous pouviez espérer obtenir le retour du rendu des indicateurs personnalisés après un test dans le testeur. J'ai désactivé LiveUpdate sur certains terminaux pour le moment. Vous voyez, pour nous - les créateurs de "films" de trading Forex - il ne suffit pas de lire ou d'écrire des scripts et de regarder le film sans images, mais seulement avec du son. Nous devons voir ce que nous avons fait là-bas, et à quel point.

Certains pensent même que les développeurs ont désactivé le rendu dans MT4 par dépit du fait que MT5 ne progresse pas bien. Si tel est le cas, il se peut que les traders et les courtiers aient besoin d'une chose et que vous essayiez d'en imposer une autre. Peut-être qu'alors vous feriez mieux de changer votre position dans ce sens.

Et si elle est causée par des décisions techniques hâtives, qui ont causé un tel préjudice à des développeurs d'experts, alors vous, en tant que programmeurs, devriez avoir le drapeau entre les mains pour tout arranger.

Pouvons-nous donc espérer une solution rapide à ce problème ?

 

Bien.

Le soumettre à un test visuel. Conseiller expert en moyenne mobile.

Réglage du ZUP.

Euro. Heures d'ouverture.

Veuillez noter que mon code suit l'échange d'historique. Donc, il se réinitialise lorsque l'histoire est échangée.

Plus tôt dans ce fil, j'ai posté un morceau de code. Toute l'optimisation est là.

Je colle des photos ici. Mon code "gonflé" est destiné à dessiner des images, c'est tout. Il ne traite pas de l'auto-trading. Si une image est dessinée de manière incorrecte, il s'agit d'un bogue.

Première photo. Une petite histoire. Un rayon est dessiné. Tout est normal.

Presque immédiatement après le début des tests, plusieurs rayons en zigzag ont été dessinés, un papillon a été dessiné. Voler normalement.

Voler plus loin. VOTRE réinitialisation a eu lieu. Les logiciels ne peuvent pas suivre cela. IL N'EXISTE PAS DE MÉTHODE DE ROUTINE POUR SUIVRE LA RÉINITIALISATION.

Comme l'optimisation du calcul est activée, et qu'il n'y a pas de signal pour un re-calcul complet, nous voyons le résultat :

Un peu d'histoire nouvelle s'est accumulée. Un rayon en zigzag a été dessiné :

Si nous réinitialisons maintenant l'indicateur, il y aura une initialisation initiale et tout ressemblera à ceci :

Et ainsi de suite. Il n'existe pas de capacité interne permettant de suivre la réinitialisation du tampon de YOUR indicator.

Et vous ne pouvez pas recalculer l'indicateur à chaque tick. Fais un tel gâchis toi-même. Vous avez fait beaucoup de choses dans cet esprit depuis longtemps. Et nous avons eu beau vous parler de nombreux bugs, vous ne les avez pas compris. Et maintenant, alors que de nombreux programmeurs sont simplement fatigués de se battre avec vous et ont créé leurs propres solutions de contournement de vos bugs, vous commencez à organiser des choses sournoises.

Votre code est devenu aussi gros. Et vous avez peu d'idée des conséquences de vos innovations.

Testons-le davantage.


Encore une fois, votre réinitialisation a été effectuée plusieurs fois. Cela devrait ressembler à ceci :

Est-il difficile à reproduire ? Ou peut-être que vous n'en avez pas envie ?

Et plus loin dans les tests, tout est dans la même veine.

Ne rejette pas la faute sur les autres. Le code a grandi.

-------

En conclusion, je le répète. Ce n'est pas pour moi que je m'inquiète. Je peux contourner par programme n'importe lequel de vos bugs pour moi-même. Mais je ne pourrai pas le faire avec un grand nombre d'utilisateurs.

Je vais ajouter. Je n'ai jamais vendu aucun de mes indicateurs et je n'ai développé aucun de mes indicateurs contre rémunération. Je pense que lorsque les méta-citations pourront tout changer fondamentalement comme dans les constructions 387-388, personne de l'extérieur ne sera capable de bâtir une bonne affaire sur le développement en utilisant les langages MQL(*). Vous ne pouvez pas encore offrir aux développeurs tiers un cadre de développement stable.

Et tous les développements payants qui utilisent vos langues en ce moment, je les considère comme une sorte d'escroquerie.

 
nen:

Bien.

Le soumettre à un test visuel. Conseiller expert en moyenne mobile.

Réglage du ZUP.

Euro. Heures d'ouverture.

Veuillez noter que mon code suit l'échange d'historique. Donc, il se réinitialise lorsque l'histoire est échangée.

Plus tôt dans ce fil, j'ai posté un morceau de code. Toute l'optimisation est là.

Je colle des photos ici. Mon code "gonflé" est destiné à dessiner des images, c'est tout. Il ne traite pas de l'auto-trading. Si une image est dessinée de manière incorrecte, il s'agit d'un bogue.

Première photo. Une petite histoire. Un rayon est dessiné. Tout est normal.

Presque immédiatement après le début des tests, plusieurs rayons en zigzag ont été dessinés, un papillon a été dessiné. Voler normalement.

Voler plus loin. VOTRE réinitialisation a eu lieu. Les logiciels ne peuvent pas suivre cela. IL N'EXISTE PAS DE MÉTHODE DE ROUTINE POUR SUIVRE LA RÉINITIALISATION.

Comme l'optimisation du calcul est activée, et qu'il n'y a pas de signal pour un re-calcul complet, nous voyons le résultat :

Un peu d'histoire nouvelle s'est accumulée. Un rayon en zigzag a été dessiné :

Si nous réinitialisons maintenant l'indicateur, il y aura une initialisation initiale et tout ressemblera à ceci :

Et ainsi de suite. Il n'existe pas de capacité interne permettant de suivre la réinitialisation du tampon de YOUR indicator.

Et vous ne pouvez pas recalculer l'indicateur à chaque tick. Fais un tel gâchis toi-même. Vous avez fait beaucoup de choses dans cet esprit depuis longtemps. Et nous avons eu beau vous parler de nombreux bugs, vous ne les avez pas compris. Et maintenant, alors que de nombreux programmeurs sont simplement fatigués de se battre avec vous et ont créé leurs propres solutions de contournement de vos bugs, vous commencez à organiser des choses sournoises.

Votre code est devenu aussi gros. Et vous avez peu d'idée des conséquences de vos innovations.

Testons-le davantage.


Encore une fois, votre réinitialisation a été effectuée plusieurs fois. Cela devrait ressembler à ceci :

Est-il difficile à reproduire ? Ou peut-être que vous n'en avez pas envie ?

Et plus loin dans les tests, tout est dans la même veine.

Ne rejette pas la faute sur les autres. Le code a grandi.

-------

En conclusion, je le répète. Ce n'est pas pour moi que je m'inquiète. Je peux contourner par programme n'importe lequel de vos bugs pour moi-même. Mais je ne pourrai pas le faire avec un grand nombre d'utilisateurs.

J'ajouterai. Je n'ai jamais vendu aucun de mes indicateurs et je n'ai développé aucun de mes indicateurs contre rémunération. Je pense que lorsque les méta-citations pourront tout changer fondamentalement comme dans les constructions 387-388, personne de l'extérieur ne sera capable de bâtir une bonne affaire sur le développement en utilisant les langages MQL(*). Vous ne pouvez pas encore offrir aux développeurs tiers un cadre de développement stable.

Et tous les développements payants utilisant vos langues en ce moment, je pense que c'est une sorte d'escroquerie.

OK. Ok, une fois de plus, mettons toutes les émotions de côté et gérons calmement la situation.

Ce qui est donné - test visuel. Effectuons un test visuel et appliquons le même indicateur pour la journalisation. Après tous ces essais, nous obtenons un triste tableau.

Name;Time;GetTickCount;Bars;LastBarsCount;IndicatorCounted
IndicatorCounted() == 0;2011.02.28 09:39:12;156609840;107;107;0
Новый бар;2011.02.28 09:39:12;156610324;108;107;106
Новый бар;2011.02.28 09:39:13;156610838;109;108;107
... (вырезал)
Новый бар;2011.02.28 09:39:23;156621602;128;127;126
Новый бар;2011.02.28 09:39:24;156621758;129;128;127
IndicatorCounted() == 0;2011.02.28 09:39:24;156622180;2648;2648;0
Новый бар;2011.02.28 09:39:24;156622289;130;129;128
Новый бар;2011.02.28 09:39:25;156622819;131;130;129
Новый бар;2011.02.28 09:39:25;156623147;132;131;130
... (вырезал)
Новый бар;2011.02.28 09:39:31;156629699;144;143;142
Новый бар;2011.02.28 09:39:32;156630027;145;144;143
Новый бар;2011.02.28 09:39:32;156630385;2649;2648;2647
Новый бар;2011.02.28 09:39:33;156631009;146;145;144
Новый бар;2011.02.28 09:39:33;156631399;147;146;145
... (вырезал)
Новый бар;2011.02.28 09:40:15;156673364;275;274;273
Новый бар;2011.02.28 09:40:16;156673785;276;275;274
Новый бар;2011.02.28 09:40:16;156673878;277;276;275
IndicatorCounted() == 0;2011.02.28 09:40:16;156673956;2649;2649;0
IndicatorCounted() == 0;2011.02.28 09:40:16;156674081;2649;2649;0
Новый бар;2011.02.28 09:40:16;156674159;278;277;276
Новый бар;2011.02.28 09:40:16;156674612;279;278;277
... (вырезал)

Новый бар;2011.02.28 09:40:27;156684986;314;313;312

Quelque chose ne va pas exactement dans le mode de test visuel - il y a des enregistrements avec des barres égales à 2648 au lieu des 130 prévues, mais 130 à nouveau au prochain tick/bars.

C'est la raison, et la réinitialisation complète n'a absolument rien à voir avec cela, surtout à chaque tic.

La peur des yeux et les mains font le travail. Exactement 10 minutes pour trouver et décrire le bug.