Erreurs, bugs, questions - page 1523

 
Sergey Gritsay:

Voici une implémentation possible. Cet EA doit ouvrir un ordre après un nombre de barres spécifié. Et apprenez à insérer correctement le code EA, le bouton SRC sur la barre de message.

111

Merci beaucoup. Ça marche.
 
Ilya Malev:

Alors resserrez-le déjà, ou réparez le certificat. Se faire plaisir sans se faire plaisir n'est pas une conversation sérieuse. Ce que les programmeurs attendent de vous, ce n'est pas d'être "dorlotés", mais des logiciels clairs et bien documentés.


Documenter quoi ? "Mes frères, détendez-vous et allez-y doucement, désinitialisez comme vous voulez. Les développeurs l'ont permis."

Mais lorsque vous fermez le terminal, celui-ci déclenche des conditions strictes, qui ont déjà été spécifiquement mentionnées dans la documentation. Et la prochaine fois que vous ouvrirez le terminal, il se peut que vous n'ayez pas ouvert les graphiques, car ils n'ont pas été stockés dans le temps.

Bien sûr, ce code n'a pas d'autre but qu'une démonstration, ce que vous avez demandé. Et c'est tout à fait inoffensif, une évidence si vous supprimez Sleep et remplacez Comment par Print. Il n'y a aucune protection contre le spamming de gigaoctets d'impression dans le journal, que ce soit dans Quartet ou Quartet 5.

Qu'est-ce que ça a à voir avec ça ?

Essayez, pour le bien de votre intérêt, d'inonder le journal dans une boucle sans fin et voyez à quel rythme il grandira et comment, après 64 méga, il coupera les entrées en double et tronquera le début du journal. Vous exagérez avec votre affirmation sur le manque de protection. Tous les disques des sites d'hébergement auraient été bouchés depuis longtemps.

 

Bon après-midi. J'ai été confronté à ce bug dans MT5 :

     if(ObjectFind(0,"twofiFiboUp" + TimeToString(dday_stop))==-1) 
           {
            ObjectCreate(0,"twofiFiboUp" + TimeToString(dday_stop),OBJ_FIBO,0,dday_stop,ddayL,day_stop,ddayH);
            ObjectSetInteger(0,"twofiFiboUp" + TimeToString(dday_stop),OBJPROP_COLOR,fibo_color_up);
            ObjectSetInteger(0,"twofiFiboUp" + TimeToString(dday_stop),OBJPROP_LEVELCOLOR,fibo_color_up);
            ObjectSetInteger(0,"twofiFiboUp" + TimeToString(dday_stop),OBJPROP_STYLE,fibo_style);
            ObjectSetInteger(0,"twofiFiboUp" + TimeToString(dday_stop),OBJPROP_SELECTABLE,false);  
           } 

J'ai défini la couleur des niveaux de Fibonacci, et lorsque je regarde les propriétés de l'objet, la couleur que j'ai définie y figure, mais tous les niveaux sont jaunes sur le graphique...

Comment savoir ce que je dois faire ?

 
Nikita Solodko:

Bon après-midi. J'ai été confronté à ce bug dans MT5 :

J'ai défini la couleur des niveaux de Fibonacci, et lorsque je regarde les propriétés de l'objet, la couleur que j'ai définie y figure, mais tous les niveaux sont jaunes sur le graphique...

Comment savoir ce que je dois faire ?

Voir les exemples de la documentationhttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_fibo
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_FIBO
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_FIBO
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_FIBO - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nikita Solodko:

Bon après-midi. J'ai été confronté à ce bug dans MT5 :

J'ai défini la couleur des niveaux de Fibonacci, et lorsque je regarde les propriétés de l'objet, la couleur que j'ai définie y figure, mais tous les niveaux sont jaunes sur le graphique...

Veuillez me conseiller sur ce que je dois faire.

Changez le code.

Premièrement : l'entrée

if(ObjectFind(0,"twofiFiboUp")==-1) 

il est préférable de le changer en

if(ObjectFind(0,"twofiFiboUp")<0) 

Deuxièmement : regardez exactement ce que vous faites - si l'objet portant ce nom n'est pas trouvé SEULEMENT, vous changez ses couleurs. Cette condition ne fonctionnera qu'une seule fois sur un graphique propre. S'il existe déjà un objet portant le nom que vous souhaitez sur le graphique, vous ne pourrez pas modifier ses propriétés, car vous ne pourrez tout simplement pas entrer dans la condition :

            ObjectCreate(0,"twofiFiboUp",OBJ_FIBO,0,dday_stop,ddayL,day_stop,ddayH);
            ObjectSetInteger(0,"twofiFiboUp",OBJPROP_COLOR,fibo_color_up);
            ObjectSetInteger(0,"twofiFiboUp",OBJPROP_LEVELCOLOR,fibo_color_up);
            ObjectSetInteger(0,"twofiFiboUp",OBJPROP_STYLE,fibo_style);
            ObjectSetInteger(0,"twofiFiboUp",OBJPROP_SELECTABLE,false); 
 
Sergey Gritsay:
Regardez les exemples dans la documentationhttps://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_fibo
Merci. Ça a aidé.
 
Slawa:

Mais lorsque vous fermez le terminal, les conditions qui ont déjà été spécifiquement énoncées dans la documentation seront strictement appliquées. Et la prochaine fois que vous ouvrirez le terminal, vous ne verrez peut-être pas de graphiques ouverts parce qu'ils n'ont pas été mémorisés dans le temps imparti.

L'ont-ils ramené à nouveau ? J'ai déjà souffert de cette méchanceté !
 
-Aleks-:
L'ont-ils ramené à nouveau ? J'ai déjà souffert de cette méchanceté !

Qui a dit que c'était de retour ? Nous ne l'avons pas fait. Et nous n'allons pas encore le faire.

J'ai dit que nous ne changerions rien à la documentation à ce sujet.

A l'origine, il s'agissait d'un indicateur en boucle. Ce qui n'est absolument pas recommandé. Même à titre d'illustration.

 
Slawa:

Qui a dit ça ? Nous ne l'avons pas fait. Et nous n'allons pas encore le faire.

J'ai dit que nous ne changerions rien à la documentation à ce sujet.

Il s'agissait à l'origine d'un indicateur de bouclage. Ce qui n'est absolument pas recommandé. Même à titre d'illustration.

Ugh, donc ce bug n'est pas de retour - vous pouvez fermer le terminal en paix et être sûr que tous les graphiques sont sauvegardés.


Une telle question, je veux ouvrir non pas un emploi par le biais du freelancing, mais donner une prime à un programmeur, n'est-ce pas punissable ?

 
Slawa:

Que faut-il documenter ? "Mes frères, détendez-vous et allez-y doucement, désinitialisez comme vous voulez. Les développeurs l'ont permis.

Mais lorsque vous fermez le terminal, celui-ci déclenche des conditions strictes, qui ont déjà été mentionnées explicitement dans la documentation. Et la prochaine fois que vous ouvrirez le terminal, vous n'aurez peut-être pas ouvert de graphiques, car ils n'auront pas réussi à s'enregistrer dans le temps imparti.

Qu'est-ce que ça a à voir avec ça ?

Essayez d'inonder le journal en boucle sans fin et voyez à quelle vitesse il se développe et comment 64 MB vont couper les enregistrements en double et tronquer le début du journal. Vous exagérez avec votre affirmation sur le manque de protection. Tous les disques des sites d'hébergement auraient été bouchés depuis longtemps.

Documenter tel quel ou faire tel que documenté... OK, c'est votre affaire.

Je l'ai essayé, en prenant un risque sur la santé de l'ordinateur, taux de remplissage ~1.5 GB/min. Mais le terminal ne se bloque pas, en comparant à 4.)

Raison: