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

 

Le testeur des symboles personnalisés a cessé de fonctionner correctement. Lecture.

Créer un symbole.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

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

fxsaber, 2020.02.11 01:58

sinput datetime inDateFrom = D'2020.01.01';

void OnStart()
{
  const string Name = "USDJPY_CUSTOM";                                                       // Имя кастомного символа
  const string SymbOrig = "USDJPY";                                                          // Имя оригинального символа

  MqlTick Ticks[];
  
  const int Size = CopyTicksRange(SymbOrig, Ticks, COPY_TICKS_ALL, (long)inDateFrom * 1000); // Считали USDJPY-тики.
    
  if ((Size > 0) && CustomSymbolCreate(Name, NULL, SymbOrig) && SymbolSelect(Name, true))    // Создали символ на основе USDJPY.
    CustomTicksReplace(Name, 0, LONG_MAX, Ticks);                                            // Поместили в него историю USDJPY.        
}


Dans le testeur de stratégie (mode standard, pas par pips), lancez ce conseiller expert.

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{
  static long Ticket = -1;
  
  if (Ticket == -1)
    Ticket = OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0);
}

ayant mis les devises égales à la devise du compte.


Après cela, nous verrons le bénéfice de l'accord.


Le bénéfice est 100 fois supérieur à ce qu'il devrait être. Cela ne se produisait pas sur les versions précédentes.

Nom de recherche: Oshibka 003.
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

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

fxsaber, 2020.01.28 14:07

C'est la première fois que je rencontre une situation avec mon EA où le résultat de l'AG ne coïncide pas avec un seul passage. Tous les cols sont différents.

Le résultat de la force brute complète est le même. Construire 2305.


J'ai l'impression que dans opt at genetics les paramètres d'entrée de chaque passe ne sont pas écrits tout à fait correctement.

La situation s'est répétée. Il est difficile de voir comment en comprendre les raisons.

 
fxsaber:

La situation s'est répétée. Il est difficile de voir comment en déterminer les causes.

Il y a des valeurs de paramètres dans la ligne de résultat de l'optimisation.

Dans un seul test, les valeurs des paramètres sont nécessairement affichées dans le journal du testeur.

Les valeurs de la ligne de résultat de l'optimisation et du journal du testeur correspondent-elles ?

 
Slava:

Les valeurs des paramètres sont présentes dans la barre de résultats de l'optimisation.

Si un seul test est effectué, les valeurs des paramètres sont nécessairement éditées dans le journal du testeur.

Les valeurs de la ligne de résultat de l'optimisation et du journal du testeur coïncident-elles ?

Ils correspondent. C'est la première chose que j'ai vérifiée. J'essaierai de tirer les passages de l'AG à travers les cadres. Et ensuite comparer avec ce que montre le single.

Je soupçonne que la chaîne des paramètres d'entrée est mal formée. C'est-à-dire que j'ai fait une passe pour une série, mais j'ai prescrit par erreur une autre série en opt.


ZZZ n'a pas réussi à reproduire l'histoire sur un petit intervalle.

 

Le testeur de stratégie vérifie l'exactitude des symboles originaux et des symboles personnalisés (correspondance des barres et des ticks) de manière différente lors de la préparation des données avant le passage.


Nous créons un symbole personnalisé, il n'y a pas une seule erreur. Ensuite, nous rendons ces mêmes données côté serveur. Et Tester dit que les données sont une grosse erreur.

Une raison de plus pour n'exécuter le testeur que sur des symboles personnalisés.

 
fxsaber:

Puis nous faisons de ces mêmes données les données du serveur. Et Tester dit que les données sont une grosse erreur.

Peut-être y a-t-il un problème avec le format après tout ?

 
Andrey Khatimlianskii:

Peut-être y a-t-il un problème de format ?

J'ai vérifié ce point. Correspondance complète, y compris le volume des ticks, le spread, etc.

 
fxsaber:

J'ai vérifié ce point. Correspondance complète, y compris le volume des ticks, le spread, etc.

Ça doit être une protection. Donc ils ne rentrent rien.

 
Andrey Khatimlianskii:

Probablement une protection. Donc ils n'altèrent rien.

C'est juste que les données du symbole original correspondent parfaitement à celles du symbole personnalisé. Mais la version personnalisée passe sans erreur, alors que la version originale ne passe pas.

Sur un serveur réel, j'ai rencontré une situation où le volume du symbole d'origine est quelque peu différent de ce qui figure dans l'historique des ticks.

Et là, il vaut mieux ne pas utiliser du tout Tester sur les symboles originaux. Sinon, vous risquez de rencontrer des tics générés au lieu de tics réels.

 
fxsaber:

La situation s'est répétée. Difficile d'imaginer comment en démêler les causes.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

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

fxsaber, 2020.01.28 14:07

C'est la première fois que je rencontre une situation avec mon EA où le résultat de l'AG ne coïncide pas avec un seul passage. Tous les cols sont différents.

Le résultat de la force brute complète est le même. Construire 2305.


J'ai l'impression que dans opt during genetics les paramètres d'entrée de chaque passe ne sont pas écrits tout à fait correctement.

Slava:

Il y a des valeurs de paramètres dans la ligne de résultat de l'optimisation.

Dans un test unique, les valeurs des paramètres sont nécessairement écrites dans le journal du testeur.

Les valeurs de la ligne des résultats d'optimisation et du journal du testeur coïncident-elles ?

J'ai eu une situation similaire aussi, j'ai essayé de l'analyser et ça s'est passé comme ça,

Les paramètres de la ligne de résultat de l'optimisation sont corrects et coïncident avec ceux du journal du testeur, mais le conseiller expert commence à tester avec des paramètres différents.

J'ai redémarré le terminal et supprimé tous les caches mais les paramètres d'optimisation n'ont de toute façon pas été appliqués à l'Expert Advisor. Peut-être que l'antivirus ou le pare-feu ont bloqué quelque chose.

Puis il s'est résolu d'une manière ou d'une autre et a commencé à fonctionner normalement. Vérifiez également si votre pare-feu ne bloque pas quelque chose.

Raison: