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

 

Dans ces deux modes d'affichage des résultats de l'Optimisation

ne font rien d'utile car il n'y a pas d'infobulles avec le résultat lorsque l'on passe la souris sur la cellule/le point concerné.


Veuillez finaliser ces deux modes tels qu'ils sont implémentés dans le mode supérieur/par défaut "Graphique avec résultats".

 
Une situation s'est présentée où l'agent local sélectionné (marqué en gras dans la liste des agents) est désactivé. Cependant, la passe unique fonctionnait sur un autre agent. Pendant l'exécution de la passe unique, l'agent désactivé ne pouvait pas être activé - j'ai cliqué sur Activer, mais rien ne s'est produit.
 
Il n'est probablement pas judicieux pour le testeur de créer des fichiers opt qui ont Header.passes_passed == 0.
 
Bogue HistorySelect dans Tester.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Ask SymbolInfoDouble( _Symbol, SYMBOL_ASK )

void OnTick()
{
  if (!OrderSelect(0, SELECT_BY_POS))                                            // Если нет текущих ордеров,
          OrderSend( _Symbol, OP_BUYSTOP, 0.1, Ask * 2, 0, 0, 0);                // выставляем.
  else if ((TimeCurrent() - OrderOpenTime() > 60) && OrderDelete(OrderTicket())) // Если текущий ордер живет дольше минуты - удаляем.
  {
//    if (HistorySelect(OrderOpenTime() + 1, INT_MAX))
    if (HistorySelect(TimeCurrent() - 10, INT_MAX))  // После удаления отступаем 10 секунд от текущего времени и берем историю.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленного ордера нет - 0.
            
    if (HistorySelect(OrderOpenTime(), INT_MAX))     // Теперь берем историю от времени постановки удаленного ордера.
      Print(HistoryOrdersTotal());                   // Видим, что в истории удаленный ордер есть - 1.

    ExpertRemove();                                  // Вышли.
  }
}

HistorySelect ne sélectionne pas les commandes à partir de la date à laquelle elles ont été supprimées ou remplies, mais à partir de la date à laquelle elles ont été passées. Ce qui, bien sûr, est incorrect. Il fonctionne correctement dans le terminal. Bug désagréable.

La chaîne de recherche: Oshibka 008.

 
Ce Conseiller Expert ne peut pas être optimisé par tous les symboles de Market Watch.
double OnTester() { return(0); }

Nécessite des paramètres d'entrée. Mais les paramètres d'entrée ne sont pas nécessaires pour ce type d'optimisation. Veuillez noter.

 
si dans le testeur l'historique des tics n'est pas synchronisé dans le mode tic-tac réel, le testeur commence à fonctionner dans le mode tic-tac généré !

plusieurs fois, j'ai été sévèrement déçu par la suite, après des résultats de graal

Plusieurs fois déjà, mon moniteur a miraculeusement survécu à ma juste colère. build 2340.
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • www.mql5.com
В составе клиентского терминала MetaTrader 5 есть встроенная среда программирования для разработки полностью автоматических стратегий (торговых роботов), которые могут торговать без вмешательства человека.  Другое название торговых роботов - эксперты.  Эксперты и технические индикаторы для терминала MetaTrader 5 пишутся на языке MQL5, в котором...
 
Andrey Dik:
si dans le testeur, l'historique des tics n'est pas synchronisé dans le mode tic-tac réel, le testeur commence à travailler dans le mode tic-tac généré !

j'ai déjà eu de nombreuses fois l'occasion d'être sévèrement frustré par la suite, après les résultats du graal

Plusieurs fois déjà, mon moniteur a miraculeusement survécu à ma juste colère. build 2340.

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

MetaTrader 5 build 2430 : Service d'abonnement, améliorations de l'interface et fonctionnalités de MetaEditor

fxsaber, 2020.05.17 00:38

lorsque l'historique des barres sur le serveur ne correspond pas à l'historique des tics. Dans ce cas, vous ne pouvez pas du tout utiliser le symbole original dans Tester. Cette limitation n'est contournée que par des symboles personnalisés.

N'utilisez toujours que des modèles personnalisés. Il n'y aura pas de problème du tout. En d'autres termes.

 
2470, ces messages apparaissent pendant l'optimisation.
2020.05.30 11:49:55.216 Core 2  genetic pass (15, 313) returned result 0 in 0:00:04.146
2020.05.30 11:49:55.575 Core 1  genetic pass (15, 283) returned result 0 in 0:00:04.907
2020.05.30 11:49:56.241 Core 3  genetic pass (15, 375) returned result 0 in 0:00:04.537
2020.05.30 11:49:56.269 Core 6  genetic pass (15, 495) returned result 0 in 0:00:04.413
2020.05.30 11:49:57.497 Core 4  genetic pass (15, 419) returned result 1908.000000 in 0:00:04.873
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 497) returned result 0 in 0:00:00.135
2020.05.30 11:49:58.528 Core 6  genetic pass (15, 502) returned result 0 in 0:00:02.122
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 428) returned result 0 in 0:00:00.291
2020.05.30 11:49:58.824 Core 4  genetic pass (15, 429) returned result 0 in 0:00:01.035
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 433) returned result 0 in 0:00:00.352
2020.05.30 11:49:59.178 Core 2  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 3  2 rejected passes returned to queue
2020.05.30 11:49:59.178 Core 4  genetic pass (15, 345, 1) started
2020.05.30 11:49:59.660 Core 2  genetic pass (15, 327) returned result 0 in 0:00:04.443
Qu'est-ce que cela signifie ? Il y a beaucoup de mémoire libre.
 

S'il existe un symbole sur le serveur de commerce qui n'a pas d'historique, l'exécution du testeur sur ce symbole provoque une attente interminable.

Cela rend notamment impossible l'optimisation pour tous les symboles de la Market Watch.

 

Veuillez ajouter le nom du serveur à cette ligne.