![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
La même fonction renvoie zéro. J'ai aussi essayéSERIES_TERMINAL_FIRSTDATE . La conclusion est que la fonction SeriesInfoInteger ne fonctionne pas dans le testeur. Il ne fonctionne que pour l'instrument sur lequel le test est en cours. Peut-être avez-vous des idées sur la façon d'exécuter le test pour des instruments dont les dates de début d'historique sont différentes lorsque vous sélectionnez l'intervalle "Tout l'historique".
J'ai décidé de vérifier vos conclusions. J'ai exécuté le test Expert Advisor sur Alpari-Demo et le même dans le testeur en mode visualisation depuis 2000. Les résultats de l'exécution init sont dans la pièce jointe.
Si l'historique de la période testée se trouve sur le serveur, SeriesInfoInteger() renvoie dans le testeur les mêmes données que sur la démo. S'il n'y a pas d'historique (comme sur EURAUD, depuis 2004.06.16) à la date du test, le testeur renvoie l'erreur suivante : 2011.09.05 09:40:53 EURAUD : contient 0 enregistrements M1.
Ainsi, SeriesInfoInteger() fonctionne toujours dans le testeur, si le serveur possède l'historique correspondant et que le testeur peut le charger. S'il atteint l'historique "vide", le test se bloque simplement, bien que la barre de progression se déplace.
J'ai décidé de vérifier vos conclusions. J'ai exécuté le test Expert Advisor sur Alpari-Demo et le même dans le testeur en mode visualisation depuis 2000. Les résultats de l'exécution init sont dans la pièce jointe.
Si l'historique de la période testée se trouve sur le serveur, SeriesInfoInteger() renvoie dans le testeur les mêmes données que sur la démo. S'il n'y a pas d'historique (comme sur EURAUD, depuis 2004.06.16) au moment de la date de début du test, le testeur renvoie l'erreur suivante : 2011.09.05 09:40:53 EURAUD : contient 0 enregistrements M1.
Ainsi, SeriesInfoInteger() fonctionne toujours dans le testeur, si le serveur a un historique approprié et que le testeur peut le charger. Si l'historique est "vide", le test se bloque tout simplement, bien que la barre de progression soit en mouvement.
étrangement j'ai retourné des zéros dans le testeur, qu'est-ce que je fais mal ?
Et vous définissez l'intervalle de test non pas sur "Tout l'historique" mais de manière à ce que l'historique soit garanti pour tous les caractères, par exemple "L'année dernière". Ensuite, il ne devrait pas y avoir de zéros, mais le début de l'historique téléchargé par le testeur. Je le reçois depuis le 4.01.2010.
P.S. Mais effectivement étrange, si le testeur a téléchargé l'historique existant avec 2004g. Si la date de début du test est antérieure à celle de l'historique existant, elle doit indiquer la date de début de l'historique 2004 pour ce symbole, et non des zéros, même si la date de début du test est antérieure à celle de l'historique existant. Je pense que c'est un bug.
Outre le fait que l'heure dans le terminal MT5 est soudainement passée de GMT+1 à GMT+0, j'ai également trouvé une erreur - après la fin de la bougie d'une heure qui vient de passer, les valeurs de volume des bougies précédentes ont changé, et de manière significative. Je peux seulement dire avec certitude à propos des bougies d'aujourd'hui - je les ai toutes sauvegardées successivement depuis le début de la session : 0:00 1841 - 2269, 1:00 2556 - 3235, 2:00 2436 - 2975, 3:00 1700 - 3096, 4:00 1391 - 1690, l'heure du terminal est "fausse". C'est une erreur avec MT5.
Et vous définissez l'intervalle de test non pas sur "Tout l'historique" mais de manière à ce que l'historique soit garanti pour tous les caractères, par exemple "L'année dernière". Ensuite, il ne devrait pas y avoir de zéros, mais le début de l'historique téléchargé par le testeur. Je l'ai reçu le 4.01.2010.
P.S. Mais effectivement étrange, si le testeur a téléchargé l'historique existant depuis 2004. Dans ce cas, il doit indiquer la date de début et l'historique 2004 pour ce symbole, et non des zéros, même si la date de début est antérieure à l'historique existant. Je pense que c'est un bug.
Découvert lors de la normalisation du lot. Vérifiez le vôtre :
Imprimer(NormalizeDouble(0.07,2) ;
Contre toute attente, les empreintes : 0,070000000000000000001
Découvert lors de la normalisation du lot. Vérifiez le vôtre :
Imprimer(NormalizeDouble(0.07,2) ;
Contre toute attente, il imprime : 0.07000000000000001
https://www.mql5.com/ru/forum/4033
Je vais essayer de poser la question une troisième fois). MetaDriver en a montré un exemple ici. C'est là que j'ai donné mon exemple.
Le graphique se rétrécit lorsque le nombre de transactions commence à dépasser 3000. Ce problème est-il pris en compte par les développeurs ?
Ce problème ne nous permet pas d'analyser les résultats des transactions dans le terminal en une seule fois lorsque nous testons le système sur une grande bande de données historiques, lorsque la quantité de transactions peut être d'environ 10000 et plus.
Je me souviens avoir eu quelque chose de similaire dans Excel. Mais le programme était surchargé de formules complexes et se bloquait simplement si le nombre de lignes dépassait 5000. Quel pourrait être le problème ici ?