Erreurs, bugs, questions - page 130

 

Quelqu'un peut-il me dire ce qu'est l'avertissement en temps de compilation ?

truncation of constant value    me-mm-cls-v003.mqh      64      45
En général, où puis-je trouver une description des erreurs et des avertissements de compilation ?
 
pronych:

En général, où trouver les descriptions des erreurs de compilation et des avertissements

Voir la référence MQL5 / Constantes, énumérations et structures standard / Codes d'erreur et d'avertissement / Avertissements du compilateur

Et les sections voisines.

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора - Документация по MQL5
 

Aidez à résoudre un étonnant mystère :)

Tout fonctionne bien sur la démo, mais dans le testeur, il se bloque sans commencer à tester. Je veux dire que le testeur affiche 1.1% et rien d'autre ne se passe, j'appuie sur le bouton undo, respectivement le test s'arrête.

J'ai beaucoup de paramètres dans l'EA principal, je n'ai pas encore trouvé la solution...

En général, c'est ce bout de code. Le premier point de la parabole de la série actuelle est défini ici.

if(SLпоПервойТочкеПараболика==true)
   for(i=0;;i=i+1)
      {
      if(iLow(PERIOD_CURRENT,i+1,1)<Параболик(PERIOD_CURRENT,0.02,0.2,i+1))
         break;
      }

Si ce code est utilisé, le testeur se bloque. Si SLfirstParabolic Point=false, tout est normal. En réalité, tout fonctionne correctement et sans erreur dans tous les cas.

Le code d'un conseiller expert prêt à l'emploi est joint au présent document.

Dossiers :
Otladka.mq5  8 kb
 
Dmitriy2:

Le code d'une EA prête à l'emploi est joint

Vous avez oublié de joindre l'EA.
 
alexvd:
Vous avez oublié de joindre l'EA.

Je n'arrive pas à joindre le fichier, j'ai essayé cinq fois...

ps Je l'ai collé comme code.

 
Dmitriy2:

Je n'arrive pas à joindre le fichier, j'ai essayé cinq fois...

ps je l'ai collé comme code

Je viens de vérifier, ça a marché. Quel est votre navigateur, quel est le nom du fichier ?
 

Rosh:
Только что проверил - код вставился. Какой у Вас браузер, какое имя файла?

le code est inséré, le fichier n'est pas joint

IE8, HP home

nom du fichier en russe et en anglais Debugging.mq5 Otladka.mq5

Je fais ce qu'il faut ? Je clique sur "joindre un fichier", aperçu, sélectionne le fichier et appuie sur "mettre à jour".

 
Dmitriy2:

Est-ce que je le fais bien ? Je clique sur "joindre un fichier", je vérifie, je sélectionne le fichier et je clique sur "mettre à jour".

Les étapes sont correctes, la situation a été reproduite.

Nous allons le réparer dès que possible.

 
alexvd:

Les étapes sont correctes, la situation a été reproduite.

Nous allons le réparer dès que possible.

Oui, merci, mais le code, s'il y en a un, j'aimerais savoir pourquoi le testeur raccroche rapidement... :)

 
Dmitriy2:

Oui, merci, mais il y a un code, j'aimerais trouver rapidement pourquoi le testeur raccroche... :)


Ça se bloque à cause de la boucle infinie.

Vous n'avez qu'un seul moyen de sortir de la boucle : la rupture. Mais vous avez une pause quand une certaine condition est remplie. L'un des composants

Параболик(PERIOD_CURRENT,0.02,0.2,i+1)

À l'intérieur de la fonction, vous obtenez chaque fois le manche de l'indicateur et le copiez sans vérifier si les données sont prêtes.

Suggestion.

1. Transférer la variable de la poignée au niveau global.

2. Recevez le handle de l'indicateur à OnInit (vous ne modifiez pas les paramètres du parabolique de toute façon).

3. Avant de copier les données du tampon de l'indicateur, vérifiez si elles sont prêtes (calculées) - la fonction BarsCalculated(Parabolic) vous aidera.

4) Organiser la sortie du cycle, si le point 3 n'est pas rempli. 3 n'est pas rempli.