Erreurs, bugs, questions - page 200

 
Ashes:

Non. L'habituel test de poursuite de l'un des participants au championnat (multidevises), un long échange d'historique sur les paires concernées et c'est tout.

Au fait, je suis curieux de savoir comment le testeur détermine quelles paires doivent être échangées... En général, il est impossible de le savoir à l'avance sans avoir commencé à tester...

Pour autant que je sache, la première paire à être échangée est celle qui est testée (elle est spécifiée dans les paramètres du testeur et ajoutée automatiquement à son "Market Watch").

D'autres paires sont échangées en fonction de différentes conditions. Personnellement, je pense que la manière la plus correcte est de les sélectionner (en remplissant la "revue de marché" du testeur) dans le bloc d'initialisation, et ensuite de vérifier la synchronisation des données (c'est utile non seulement dans le testeur).

Il convient également de noter que le testeur se synchronise avec le terminal, qui se synchronise à son tour avec le serveur...

PS

Si je comprends bien, le testeur peut toujours charger les données par lui-même, mais en conditions réelles, il devra le faire tout seul.

sergeev:

Confirmé.

L'exp la plus facile par MA. Après l'initialisation, on passe directement à la déconnexion. Mais c'est instable et de temps en temps.

Je dois voir, mais je ne semble pas avoir eu de tels problèmes. Bien qu'il y ait eu un problème avec la minuterie (je pense qu'il sera résolu dans la prochaine version)...
 
Après l'initialisation, la déconnexion est directe. Mais c'est instable et cela se produit à des moments différentsC'est
exactement
ce qui
se produit dans la dernière version (355) si OnTimer au lieu de OnTick est utilisé dans le testeur.
 
Erm955:
C'est exactement ce qui se passe dans la dernière version (355) si OnTimer est utilisé dans le testeur au lieu de OnTick.
J'ai la chance d'avoir ces deux maîtres-chiens. Bien que je souffre vraiment du bug de la minuterie (car EA est une mule)... :(
 
Rosh:
Peut-être la fonction de suppression de l'indicateur du graphique au moyen de MQL5 apparaîtra-t-elle.
Oh, ce serait bien.
 

Tentative d'enregistrement du rapport du testeur au format Open XML. Quelques minutes d'attente (Pentium 4, 3.0GHz), l'application ne répond pas, le gestionnaire de tâches montre que le processus terminal.exe (environ 50% du CPU) consomme la mémoire opérationnelle (environ 250Mb), Résultat - rien. MT5 répond seulement, aucune cotation n'arrive (indicateur d'état de connexion avec un cercle gris tournant). Un deuxième essai, c'est la même chose. La fenêtre "Outils" a 2 entrées de journal "MemoryException 107878464 bytes not available", l'heure correspondant à la tentative de recevoir un rapport en OpenXML.
Le fichier HTML a été généré presque instantanément (environ 12 Mo). L'ouverture est longue, mais ce n'est pas la faute de MT5...

 

Le compilateur donne un avertissement si une variable n'est utilisée nulle part, et c'est très bien ainsi.

Mais il ne voit pas ces déchets (variables inutilisées) dans les classes.

 

version 5 build 355

Calcul de la différence de temps entre les barres :

datetime DefTime ;

chaîne de caractères PrintDate ;

DefTime=Time[0]-Time[i] ; //i peut être remplacé par n'importe quel entier, dans notre cas de 0 et plus ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES) ;

Imprimer (PrintDate) ;

Ici, nous avons :

! !! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
! !! 2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
! !! 2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
! !! 2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
! !! 2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
! !! 2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
! !! 2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
! !! 2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:15
22.11.2010 02:09:09 A-PS (EURUSD,M15) 1970.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

D'où vient le troisième chiffre ? La même situation est observée lors de l'utilisation de MqlDateTime.

 
KffAlex:

D'où vient le troisième chiffre ? On observe le même phénomène lorsqu'on utilise MqlDateTime.

C'est exact - vous affichez le delta de temps entre les barres en secondes comme une date standard.

Le delta entre les barres du lundi et du vendredi est exactement de 3 jours.

 
Franchement, je n'y avais pas pensé. J'oublie toujours le trou dans les bars entre vendredi et lundi. Merci.
 

Je veux faire pendant le conseiller d'optimisation de choisir si de connecter l'indicateur ou non, (par exemple TRIX) si TRIX=0 - alors l'indicateur ne sera pas utilisé, si TRIX = 1 ou plus, l'indicateur sera inclus et le nombre qui est utilisé dans la valeur - c'est un paramètre de l'indicateur.

Mais le problème est que beaucoup d'indicateurs ont plus d'un paramètre - mais si TRIX_1 = 0, TRIX_2 = 4 par exemple fixé au cours de l'optimisation, les paramètres se contredisent, ce problème, je l'ai résolu de cette façon : dans le conseiller expert passe par les valeurs de TRIX_1 et TRIX_2 possible.C'est-à-dire que TRIX=0 est TRIX_1=0 et TRIX_2=0 dans l'EA ; TRIX=1 est TRIX_1=1 et TRIX_2=1 ; TRIX=2 est TRIX_1=1 et TRIX_2=2, etc.

L' algorithme génétique fonctionnera-t-il correctement dans le testeur, si tous les paramètres de l'indicateur ont déjà été énumérés dans l'EA lui-même et que seule une valeur TRIX, qui stocke les variations de paramètres, a été placée dans l'entrée ?

Raison: