Questions d'un "mannequin - page 84

 
Expert:
...
Andrei, c'est fou, tu vas faire un testeur de trading manuel et tu ne peux pas réparer l'indicateur, aller chercher les données manquantes dans les compteurs.
 
Urain:
Je suis fou de vous, vous allez construire un testeur de trading manuel et vous ne pouvez pas réparer l'indicateur, vous devez chercher les données manquantes dans les compteurs.

Vous m'avez encore confondu avec Andrei=)

Les données ne disparaissent pas, mais plutôt les données ne disparaissent pas.

Il n'est pas facile de creuser et de déboguer car l'indicateur redessine les points quelques barres en arrière.

 
Expert:

Vous m'avez encore confondu avec Andrei=)

Les données ne disparaissent pas, mais plutôt les données ne disparaissent pas.

Et il n'est pas facile de creuser et de déboguer car l'indicateur redessine les points quelques barres en arrière.

Oui, désolé, je me suis trompé.

Notez le sens d 'indexation des tableaux, pour ne pas vous embrouiller avec les impressions.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Urain:

Oui, je suis désolé, j'ai été confus.

Faites attention à la direction de l'indexation des tableaux, afin de ne pas vous tromper, vérifiez-la vous-même à l'aide d'imprimés.

Ok, je le ferai.

Mais la question principale est de savoir pourquoi ces modèles disparaissent lorsque je change de TF.

Parfois, ces motifs coïncident avec les matrices sur lesquelles l'indicateur est construit, et parfois ils sont dispersés de manière chaotique dans le graphique.

La mise à zéro des éléments du tableau aux bons endroits semble se produire...

 
Expert:

OK, je le ferai.

Mais la question principale est de savoir pourquoi ces schémas disparaissent lorsque je change de fournisseur.

Ces motifs coïncident parfois avec les matrices sur lesquelles l'indicateur est construit, parfois ils sont dispersés de manière chaotique sur le graphique.

La mise à zéro des éléments du tableau aux endroits appropriés semble se produire...

Lorsque la TF est commutée, une réinitialisation se produit, c'est pourquoi les motifs disparaissent.

N'êtes-vous pas en train de construire un modèle avec des objets graphiques ? Si c'est le cas, ils doivent être gérés lorsqu'ils doivent être supprimés.

ZS En général, sans code (une image), il est difficile de comprendre ce qui ne va pas, et encore moins d'en trouver la cause.

 
Urain:

Lorsque le TF est commuté, il est réinitialisé, de sorte que les motifs disparaissent.

N'êtes-vous pas en train de construire un modèle avec des objets graphiques ? Si c'est le cas, ils doivent être contrôlés lorsqu'ils doivent être supprimés.

En général, sans code (une image), il est difficile de comprendre ce qui ne va pas, et encore moins d'en trouver la cause.

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Pas des objets graphiques, des tampons.

Mais le code, oui s'il vous plaît)

Dossiers :
WATL.mq4  24 kb
WATL.mq5  41 kb
 
Expert:

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Pas des objets graphiques, des tampons.

Mais le code, oui s'il vous plaît)

Tout d'abord, il s'agit d'un code décompilé, et ensuite, il y a beaucoup de bogues dans le processus de migration.

Prenez cette perle par exemple

iBarShift(NULL,0,ai_4,false);

Et ce, malgré le fait que la fonction CopyTime ne possède pas de concept tel que le caractère nul.

(NULL) passé au paramètre de type de chaîne de caractères passera "".

int iBarShift(string symbol,
              int tf,
              datetime time,
              bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }


contactez votre développeur

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

Tout d'abord, il s'agit d'une décompilation, et ensuite, il y a beaucoup de bogues dans la migration.

Regardez simplement ce perl

Et ce, malgré le fait que la fonction CopyTime n'a pas de caractère nul.

(NULL) passé au paramètre de type de chaîne de caractères passera "".


contact contact du contact du développement

Je ne veux pas $$$parler à un développeur =)

En tout cas, merci pour ces conseils avisés.

 
Expert:

Pas de $wish$ pour contacter le développeur =)

En tout cas, merci pour les bons conseils.

Mais tout n'est pas là, dans l'idée de passer l'objet graphique au lieu du chart id 0, vous pouvez, mais dans la pratique il est préférable de donner le numéro du chart.

En général, il y a beaucoup de choses à comprendre

ce n'est pas clair ce que le programmeur voulait dire avec ce code :

int Double2Int(double ad_0) 
  {
   return(int(StringToInteger(DoubleToString(ad_0,0))));
  }

C'est plus facile et plus rapide pour moi :

(int)NormalizeDouble(ad_0,0)

plutôt que d'arrondir par des strings

 
Urain:

Mais ce n'est pas tout, en théorie il est possible de passer 0 à la place de l'ID du graphique lors de la création d'un objet graphique, mais en pratique il est préférable de donner le numéro du graphique.

En général, il y a beaucoup de choses à régler...

ce n'est pas clair ce que le programmeur voulait dire avec ce code :

Je pense que c'est plus facile et plus rapide :

Que de faire l'arrondi via les chaînes de caractères

les objets ici sont des lignes, je les ai tronquées, donc ce n'est évidemment pas là que se situe l'erreur.

L'arrondi de la chaîne est dû au fait que MQL4 n'a pas de méthode comme (int), alors que dans la réécriture je l'ai laissé tel quel délibérément pour maximiser la coïncidence des codes.

Mais apparemment, vous pouvez toujours remplacer l'ancienne version par la vôtre.

Raison: