Erreurs, bugs, questions - page 2422

 
Andrey Dik:

bild 2009

Les données reçues des TF supérieures dans le graphique en ligne diffèrent des données reçues dans le testeur. Ce bogue rend impossible le test correct des conseillers experts utilisant des données provenant de TF supérieures.

Reproduit des exemples minimaux dans la pièce jointe, le script pour le graphique et le Conseiller Expert pour le testeur écrit les données dans un fichier pour une comparaison ultérieure.

La capture d'écran des deux fichiers correspondants montre des différences significatives :

Et, oui, ce bogue peut être évité en construisant indépendamment des TF supérieurs à partir de l'historique des ticks, mais cela ne signifie pas que vous pouvez ignorer le fonctionnement incorrect des fonctions i(o,h,l,c), iOpen, etc. dans le testeur.

 
Andrey Dik:

Vous avez vérifié mes codes ? Si vous n'aimez pas mes tests, écrivez vos propres tests, "correctement". Lorsque vous avez effectué un test pour le bogue que vous avez signalé, signalez-le ici. Vous ne voulez pas vous donner la peine de vérifier ? - Mon rapport de bogue n'est pas pour vous, il est pour les développeurs.
J'utilise MT5 depuis le test bêta de la plateforme, et ce n'est pas à vous de me faire la leçon.

Il n'est pas nécessaire d'exécuter vos codes. Vous ne comprenez vraiment pas le problème ?

Le script lit les états des barres pour aujourd'hui. Le conseiller expert lit les états des barres à partir de l'heure actuelle du test.

 
Slava:

Il n'est pas nécessaire d'exécuter vos codes. Ne comprenez-vous vraiment pas le problème ?

Le script lit les états de la barre à ce jour. Le conseiller expert lit les états des barres à partir de l'heure actuelle du test.

Slava, sous la pression de votre autorité j'ai hésité sur mes actions... Mais seulement pour un moment, car je me suis souvenu que je vérifiais le moment dont vous m'avez parlé, montrant le temps des TF les plus élevés ainsi que leurs prix.

Cependant, spécialement pour vous, je l'ai fait - maintenant il sort en une seule ligne tout ce dont vous avez besoin pour voir le problème..... Vous ne voulez pas dire que iTime renvoie l'heure correctement, mais les prix iOpen, iHigh, iLow, iClose - incorrects et c'est normal ?

Veuillez également prêter une attention particulière à la ligne :

int bar = iBarShift (NULL, tf, time, false);

dans la fonction concernée, bar est un indice dans le tableau, qui est obtenu sur la base de l'heure; qu'il soit demandé pour aujourd'hui, hier ou avant-hier, l'indice bar est renvoyé à partir de l'heure demandée dans les paramètres de la fonction.

Les exemples ci-joints montrent le temps des TF, je vous recommande fortement de les exécuter et de vous assurer que vous avez le problème vous-même, plutôt que d'écouter des passants au hasard, qui ne prennent pas la peine de se pencher sur la problématique, de regarder le code et de l'exécuter.

Je ne comprends pas la position de l'administration... Je voulais montrer le problème, je voulais le meilleur, mais il s'avère que comme toujours...

Dossiers :
 
Pavel Nikiforov:

J'ai rencontré un tel problème avec le testeur : la première fois que nous appuyons sur démarrer tout le processus se passe bien, appuyez immédiatement après cela - rien, pas d'erreurs ou de test. Le plus drôle, c'est qu'après avoir attendu quelques minutes, le testeur fonctionne à nouveau, mais une seule fois.

Si vous faites de l'optimisation sur un certain nombre de parcours, elle s'arrête :

EO 2 15:51:28.514 Core 1 passe génétique (0, 0) testée avec l'erreur "some error after pass finished" à 0:00:00.052

PS 2 15:51:28.615 Core 1 passe génétique (0, 1) testée avec l'erreur "tâche rejetée par l'agent testeur" en 0:00:00.000

Une telle magie seulement avec un EA, probablement le problème avec elle et de nouvelles mises à jour, mais où chercher n'est pas clair, avant tout fonctionnait (deux mois sans y toucher).

En général, j'ai compris. Si cela intéresse quelqu'un, c'était Sleep(5000) ; peu importe le nombre de millisecondes que l'on peut utiliser. En d'autres termes, Sleep() ne doit pas affecter les tests et, en même temps, il "joue" les ticks générés pendant le temps spécifié. Jusqu'à présent, je n'ai pas trouvé de lien entre Sleep() et un code spécifique de l'Expert Advisor. Ce problème n'existe pas dans d'autres hiboux mais il n'est jamais arrivé auparavant et si vous rencontrez des problèmes similaires, vous devriez y prêter attention.

 
Andrey Dik:

Slava, sous la pression de ton autorité, j'hésitais sur mes actions... Mais seulement pendant un moment, car je me suis souvenu que je vérifiais le point que vous avez mentionné en affichant également l'heure des anciens TF ainsi que leurs prix.

Cependant, spécialement pour vous, je l'ai fait - maintenant il sort en une seule ligne tout ce dont vous avez besoin pour voir le problème..... Vous ne voulez pas dire que iTime renvoie l'heure correctement, mais les prix iOpen, iHigh, iLow, iClose - incorrects et c'est normal ?

Veuillez également prêter une attention particulière à la ligne :

dans la fonction concernée, bar est un indice dans le tableau, qui est obtenu sur la base de l'heure; qu'il soit demandé pour aujourd'hui, hier ou avant-hier, l'indice bar est renvoyé à partir de l'heure demandée dans les paramètres de la fonction.

Les exemples ci-joints montrent le temps des TF, je vous recommande fortement de les exécuter et de vous assurer que vous avez le problème vous-même, plutôt que d'écouter des passants au hasard, qui ne prennent pas la peine de se pencher sur la problématique, de regarder le code et de l'exécuter.

Je ne comprends pas la position de l'administration... Je voulais te montrer qu'il y avait un problème, je voulais le meilleur mais ça s'est passé comme ça se passe toujours...

J'ai essayé d'utiliser CopyRates () dans Expert Advisor, le résultat est le même que dans le cas de i(), le temps correspond mais pas les prix.

 

Dans l'exemple suivant, une erreur se produit lorsqu'on essaie de copier un objet avec un champ constant, malgré la présence de l'opérateur surchargé =. Et le texte du message d'erreur ne correspond même pas à la cause de l'erreur, car la protection n'a rien à voir avec elle.

class A
{
};

class B
{
  A _data;
 public:
  const A*const Data;
  
  B() : Data(&_data) { }
  
  void operator=(const B &other) { _data= other._data; }
};

struct  C
{
  B b;
};

void OnInit()
{
  B b;
  b=b; // Так работает
  C c;
  c=c; // '=' - not allowed for objects with protected members or inheritance
}
 
Comment télécharger le code de la ME russe à partir de la KB en anglais ?
 
Andrey Dik:

Slava, sous la pression de ton autorité, j'hésitais sur mes actions... Mais seulement pendant un moment, car je me suis souvenu que je vérifiais le point que vous avez mentionné en affichant également l'heure des anciens TF ainsi que leurs prix.

Cependant, spécialement pour vous, je l'ai fait - maintenant il sort en une seule ligne tout ce dont vous avez besoin pour voir le problème..... Vous ne voulez pas dire que iTime renvoie l'heure correctement, mais les prix iOpen, iHigh, iLow, iClose - incorrects et c'est normal ?

Veuillez également prêter une attention particulière à la ligne :

dans la fonction concernée, bar est un indice dans le tableau, qui est obtenu sur la base de l'heure; qu'il soit demandé pour aujourd'hui, pour hier ou pour avant-hier, l'indice bar est renvoyé à partir de l'heure demandée dans les paramètres de la fonction.

Les exemples ci-joints montrent le temps des TF, je vous recommande fortement de les exécuter et de vous assurer que vous avez le problème vous-même, plutôt que d'écouter des passants au hasard, qui ne prennent pas la peine de se pencher sur la problématique, de regarder le code et de l'exécuter.

Je ne comprends pas la position de l'administration... Je voulais montrer le problème, je voulais le meilleur, mais il s'avère que comme toujours...

Cela n'intéresse personne. L'essentiel est que le marché et les signaux fonctionnent.
 

Bon après-midi.

Construire 2007. Le problème est le suivant. Je fais tourner dans le testeur de stratégie un EA sur un futures (non collé) avec visualisation. J'obtiens le résultat suivant

Maintenant, je retire la case à cocher "Visualisation" et j'obtiens des résultats différents

Je prends d'autres périodes, y compris des instruments. Les paramètres de profit et le nombre de transactions sont tous deux différents. De plus, j'ai découvert, après une comparaison détaillée des transactions, que certaines d'entre elles sont impossibles sans une visualisation au niveau de la logique du conseiller. Ainsi, les données correctes ne peuvent être obtenues qu'en utilisant la visualisation.

Camarades membres du Forum et développeurs, qu'est-ce que c'est et comment y faire face ? Il est coûteux de tester tout le temps avec la visualisation sur de grandes périodes, car le processus prend plus de temps que sans la visualisation.

 
Илья Ребенок:

Bon après-midi.

Construire 2007. Le problème est le suivant. Je fais tourner dans le testeur de stratégie un EA sur un futures (non collé) avec visualisation. J'obtiens le résultat suivant

Maintenant, je retire la case à cocher "Visualisation" et j'obtiens des résultats différents

Je prends d'autres périodes, y compris des instruments. Les paramètres de profit et le nombre de transactions sont tous deux différents. De plus, j'ai découvert, après une comparaison détaillée des transactions, que certaines d'entre elles sont impossibles sans une visualisation au niveau de la logique du conseiller. Ainsi, les données correctes ne peuvent être obtenues qu'en utilisant la visualisation.

Camarades membres du Forum et développeurs, qu'est-ce que c'est et comment y faire face ? Il est coûteux de tester tout le temps avec la visualisation sur de grandes périodes, car le processus prend plus de temps que sans la visualisation.

Quel est le mode de test ?

Je suppose que c'est à propos des indicateurs...