Testeur de stratégie MetaTrader 5 : bugs, anomalies, suggestions d'amélioration - page 39

 
Si vous déboguez un script ou un EA et que vous vous promenez dans la pile de collage, une flèche verte apparaît sur le côté gauche du code source, indiquant sur quelle ligne vous vous trouvez. Si vous parcourez le collstack dans différents fichiers, par exemple plusieurs inludes différents, en fait chaque onglet ouvert avec son propre fichier aura une flèche verte différente. Mais lorsque j'arrête le débogage, ils ne disparaissent pas, mais restent là. Bug ou bug ?
 
Je ne sais pas si cela a déjà été mentionné dans ce fil ou non. Peut-être vont-ils enfin donner accès à toutes les barres disponibles depuis le testeur ? Je suis vraiment malade et fatigué de travailler sur 5 minutes pour charger des TF plus élevés pendant plusieurs années avec des béquilles !
 
traveller00:

Une construction de 2280 est utilisée. Il prend un symbole et une période où il n'y avait pas de citations. Dans ce cas, il s'agit de la bourse, du courtier Otkritie, du symbole UCAD-12.19, de la période 01.09.2019-03.09.2019. Un simple Expert Advisor est en cours d'exécution (ci-dessous). Si vous effectuez une passe à la fois, tout va bien, mais il est indiqué qu'il n'y a pas d'historique, 0 barre et 0 ticks. Si je lance l'optimisation, peu importe qu'elle soit génétique ou pleine, le journal contiendra beaucoup d'erreurs

Il semble que ce soit une réponse pour accéder au tableauOldTicks, mais je ne sais pas pourquoi. Remplacer le résultat du retour de la fonction par la taille du tableau n'aide pas. On ne sait pas ce qu'il faut en faire.

Pour reproduire et réparer cette erreur, nous avons besoin d'un expert sous forme d'ex5 et de conditions d'optimisation.

Si ce n'est pas un problème pour vous, veuillez me l'envoyer dans un message privé. L'expert sera irrémédiablement effacé après la recherche.

 
Slava:

Pour reproduire et corriger cette erreur, nous avons besoin d'un expert sous la forme d'ex5 et des conditions d'optimisation.

Si cela ne vous dérange pas trop, donnez-le moi dans un message privé. Après la recherche, l'expert sera irrévocablement effacé.

Le code source de l'Expert Advisor est donné dans le même post. Juste au cas où, je l'ai réaffiché ci-dessous.

Le symbole et la période, alors qu'il n'y avait aucune citation. Dans mon cas, il s'agit de la bourse, du courtier Otkritie, du symbole UCAD-12.19, de la période 01.09.2019-03.09.2019.

Optimisation génétique ou dépassement total, peu importe. Par un test à variable unique, plus de passes, mis de 0 à 1000000.

input int test=1;

double OnTester()
{
  return 0;
}

void Test(const MqlTick &Tick)
{
}

void OnInit()
{
  MqlTick OldTicks[];
  int OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL);
  while(OldTicksCount>=1000)
    OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL,OldTicks[OldTicksCount-500].time_msc);
  for(int i=0;i!=ArraySize(OldTicks);++i)
    Test(OldTicks[i]);
}
 
traveller00:

Une construction de 2280 est utilisée. Il prend un symbole et une période où il n'y avait pas de citations. Dans ce cas, il s'agit de la bourse, du courtier Otkritie, du symbole UCAD-12.19, de la période 01.09.2019-03.09.2019. Un simple Expert Advisor est en cours d'exécution (ci-dessous). Si vous effectuez une passe à la fois, tout va bien, mais il est indiqué qu'il n'y a pas d'historique, 0 barre et 0 ticks. Si je lance l'optimisation, peu importe qu'elle soit génétique ou pleine, le journal contiendra beaucoup d'erreurs

Il semble que ce soit une réponse pour accéder au tableauOldTicks, mais je ne sais pas pourquoi. Remplacer le résultat du retour de la fonction par la taille du tableau n'aide pas. On ne sait pas ce qu'il faut faire à ce sujet.

Merci pour le message !

Le problème a été trouvé et corrigé.

 
Anton:

Merci pour votre message !

Le problème a été trouvé et corrigé.

Merci.

 
Il n'y avait pas d'historique téléchargé. Commencé sur tous les personnages.
2019.12.16 16:41:50.787 Tester  Experts\fxsaber\Research\Research03.ex5 on EURGBP,H1 from 2015.01.01 00:00 to 2019.12.16 00:00
2019.12.16 16:41:50.787 Tester  optimization on all MarketWatch symbols started
2019.12.16 16:41:50.790 Core 1  agent process started on 127.0.0.1:3000
2019.12.16 16:41:50.791 Core 2  agent process started on 127.0.0.1:3001
2019.12.16 16:41:50.792 Core 3  agent process started on 127.0.0.1:3002
2019.12.16 16:41:50.793 Core 4  agent process started on 127.0.0.1:3003
2019.12.16 16:41:50.794 Core 5  agent process started on 127.0.0.1:3004
2019.12.16 16:41:50.795 Core 6  agent process started on 127.0.0.1:3005
2019.12.16 16:41:51.145 Core 4  connecting to 127.0.0.1:3003
2019.12.16 16:41:51.145 Core 4  connected
2019.12.16 16:41:51.155 Core 2  connecting to 127.0.0.1:3001
2019.12.16 16:41:51.155 Core 2  connected
2019.12.16 16:41:51.162 Core 4  authorized (agent build 2280)
2019.12.16 16:41:51.162 Core 1  connecting to 127.0.0.1:3000
2019.12.16 16:41:51.162 Core 1  connected
2019.12.16 16:41:51.162 Core 3  connecting to 127.0.0.1:3002
2019.12.16 16:41:51.163 Core 3  connected
2019.12.16 16:41:51.163 Tester  EURGBP: history data begins from 2003.02.06 00:00
2019.12.16 16:41:51.163 Core 4  pass 0 started on EURGBP
2019.12.16 16:41:51.167 Core 4  common synchronization completed
2019.12.16 16:41:51.171 Core 2  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 3  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 1  authorized (agent build 2280)
2019.12.16 16:41:51.276 Tester  EURUSD: history data begins from 1971.01.04 00:00
2019.12.16 16:41:51.276 Core 2  pass 1 started on EURUSD
2019.12.16 16:41:51.280 Core 2  common synchronization completed
2019.12.16 16:41:51.476 Core 3  GBPUSD: preliminary downloading of M1 history started
2019.12.16 16:41:51.694 Core 2  EURUSD: history for 2014 year synchronized
2019.12.16 16:41:52.009 Core 2  EURUSD: history for 2015 year synchronized
2019.12.16 16:41:52.351 Core 2  EURUSD: history for 2016 year synchronized
2019.12.16 16:41:52.663 Core 2  EURUSD: history for 2017 year synchronized
2019.12.16 16:41:52.958 Core 2  EURUSD: history for 2018 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history for 2019 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history synchronization completed [13567 Kb]
2019.12.16 16:41:53.080 Core 2  EURUSD: 13.25 Mb of history processed in 0:01.778
2019.12.16 16:41:56.077 Core 4  pass 0 on EURGBP returned result 100000.00 in 0:00:04.862
2019.12.16 16:41:57.077 Core 2  pass 1 on EURUSD returned result 100000.00 in 0:00:03.961
2019.12.16 16:42:05.052 Core 3  pass 2 started on GBPUSD
2019.12.16 16:42:05.059 Core 3  common synchronization completed
2019.12.16 16:42:05.276 Core 3  GBPUSD: history synchronization started
2019.12.16 16:42:06.143 Core 4  pass 3 started on AUDCAD
2019.12.16 16:42:06.143 Core 5  connecting to 127.0.0.1:3004
2019.12.16 16:42:06.144 Core 6  connecting to 127.0.0.1:3005
2019.12.16 16:42:06.144 Core 5  connected
2019.12.16 16:42:06.144 Tester  testing on MarketWatch symbols finished, total passes 2
2019.12.16 16:42:06.144 Statistics      optimization done in 0 minutes 16 seconds
2019.12.16 16:42:06.144 Statistics      local 2 tasks (100%), remote 0 tasks (0%)
2019.12.16 16:42:06.144 Core 6  connected
2019.12.16 16:42:06.167 Tester  2 new records saved to cache file 'tester\cache\Research03.all_symbols.H1.20150101.20191216.22.FBC21040E327AF5F62DDA1A545DE091D.opt'
2019.12.16 16:42:06.168 Core 1  connection closed
2019.12.16 16:42:06.168 Core 2  connection closed
2019.12.16 16:42:06.168 Core 3  connection closed
2019.12.16 16:42:06.172 Core 6  authorized (agent build 2280)
2019.12.16 16:42:06.177 Core 5  authorized (agent build 2280)
2019.12.16 16:42:06.349 Core 4  AUDCAD: history synchronization started
2019.12.16 16:42:11.777 Core 3  GBPUSD: history downloading completed
2019.12.16 16:42:11.777 Core 3  GBPUSD: history synchronization interrupted
2019.12.16 16:42:11.777 Core 4  connection closed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history downloading completed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history synchronization interrupted
2019.12.16 16:42:24.794 Core 5  connection closed
2019.12.16 16:42:24.794 Core 6  connection closed
2019.12.16 16:42:24.794 Tester  stopped by user
Après la ligne en surbrillance, appuyez sur Stop. Le terminal est entré en mode "Ne répond pas". Il a raccroché après 27 secondes (à en juger par le journal).
 
Comment calculer le nombre de toutes les erreurs d'un seul cycle EX5 ? Par exemple, un mauvais lot ou un manque de marge.
 
Bild 2280. Il prend un symbole et une période où il n'y avait pas de citations. Dans ce cas, il s'agit d'une bourse, du courtier Otkritie, symbole 1MFR-1.20, période 01.09.2019-01.12.2019. Exécute n'importe quel conseiller expert, par exemple à partir de Exemples-Moyenne mobile-Moyenne mobile.ex5. L'optimisation génétique est paramétrée (bien que je soupçonne d'autres personnes d'avoir ce bug également), le critère ne fait aucune différence (pas de ticks de toute façon), chaque tick est basé sur des ticks réels, le profit en pips. Nous l'optimisons et obtenons essentiellement un ensemble de passes zéro. Pourquoi Profit_factor et margin_level sont remplis de déchets à chaque passage ? Les variables ne sont-elles pas initialisées à zéro quelque part ? Dans l'onglet backtest, cela ressemble juste à un espace vide, il n'y a pas de sortie. Si nous analysons le fichier opt à la main, les valeurs sont : facteur de profit = 1.797693134862316e+308 et niveau de marge = 1.797693134862316e+308.
 
traveller00:
facteur_profit = 1,797693134862316e+308 et niveau_marge = 1,797693134862316e+308.

DBL_MAX