Discussion de l'article "Les principes fondamentaux de tests dans MetaTrader 5" - page 2

 
Rosh:
Lire "Tous les indicateurs créés par des fonctions d'Indicateurs techniques ou IndicatorCreate()...".

Merci beaucoup, c'est réglé.

 

J'ai lu ce merveilleux article et il semble qu'il y ait une erreur de frappe quelque part.

//+------------------------------------------------------------------+
//| Fonction de désinitialisation de l'expert|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hided) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

Je pense que vous vouliez taper "if(hidden) Print......" au lieu de "if(hided) Print..." pour que le code ressemble à ce qui suit

//+------------------------------------------------------------------+
//| Fonction de désinitialisation de l'expert|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hidden) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

Merci pour cet article.

Sam

[Supprimé]  

Pourquoi dans l'article "Les bases du test" il n'y a pas un mot sur où TOUT commence ?

Je parle de tester des stratégies manuelles comme dans ForexTester - au moins sans définir/exécuter/modifier des ordres, mais avec des ticks (au moins des graphiques en barres) et la possibilité de regarder des indicateurs et de faire des graphiques "en temps réel" avec la possibilité de changer d'échelle de temps.

[Supprimé]  

Lorsque je commence à tester le conseiller expert ExpertMACD ("intégré") avec un modèle tester.tpl précédemment enregistré (2 fenêtres d'indicateurs), la première fenêtre superpose l'indicateur MACD du conseiller expert avec l'indicateur du modèle. Est-ce que c'est ainsi que cela a été conçu ?

Je n'ai pas vérifié d'autres Expert Advisors. J'ai mis à jour la version de MT aujourd'hui.

 
VladMih:

Pourquoi dans l'article "Les bases du test" il n'y a pas un mot sur où TOUT commence ?

Je parle de tester des stratégies manuelles comme dans ForexTester - au moins sans définir/exécuter/modifier des ordres, mais avec des ticks (au moins seulement des graphiques en barres) et la possibilité de regarder des indicateurs et de faire des graphiques en temps réel avec la possibilité de changer d'échelle de temps.

En effet, il s'agit de tester des systèmes de trading automatisés.

La solution avec les indicateurs dans les modèles est temporaire, bientôt les indicateurs seront affichés automatiquement pendant la visualisation.

[Supprimé]  
Renat:

En effet, il s'agit de tester des systèmes de négociation automatisés.

La solution des indicateurs dans les modèles est temporaire, les indicateurs seront bientôt affichés automatiquement lors de la visualisation.

1. J'ai compris, mais ce n'est pas dans le titre de l'article, c'est pourquoi je pose la question.

Et où peut-on lire "talk about testing manual systems" ? Nulle part ? Désolé, mais cela donne quelque chose comme "qui n'est pas programmeur n'est pas commerçant" (pour ne pas dire "pas un être humain"). S'agit-il d'une "politique du parti" ? Est-ce que ce sera comme ça ou est-ce que quelque chose est prévu pour les simples mortels ? Par exemple, pour les non-initiés...

2. Vous ne comprenez pas - ils apparaissent automatiquement, mais l'indicateur EA est superposé à l'indicateur du modèle du testeur.

Cependant, s'il est temporairement superposé, il n'y a rien à discuter, bien sûr.

 

Моделирование времени в тестере

Pendant les tests, l'heure locale TimeLocal() est toujours égale à l'heure du serveur TimeTradeServer(). À son tour, l'heure du serveur est toujours égale à l'heure correspondant à l'heure GMT - TimeGMT(). Ainsi, toutes ces fonctions produisent la même heure pendant les tests.

Ici, il est dit que "server time" == TimeTradeServer() == TimeGMT() pendant les tests. En même temps, sur le forum concernant les comptes de démonstration MQ, il est dit que "MQ server time" == "average European time" == GMT+1.

J'ai lancé le script hors ligne sur mon ordinateur portable (build 674) ; il montre que TimeTradeServer() == TimeGMT(). Est-il correct de conclure que "MQ server time" == TimeGMT() et non GMT+1 ?

 

Les choses vont et viennent et changent. Peut-être qu'avant c'était comme ça

В то же время, на форуме в отношении демо-счетов MQ утверждалось, что "серверное время MQ" == "среднеевропейское время" == GMT+1.

et maintenant c'est comme ça.

TimeTradeServer() == TimeGMT()

 

Merci pour cet éclaircissement ! Donc, pour les comptes démo, "server time MQ" == TimeGMT().

 

Расчет индикаторов при тестировании

En mode temps réel, les valeurs des indicateurs sont calculées à chaque tic-tac. Le testeur adopte un modèle économique de calcul des indicateurs - les indicateurs ne sont recalculés qu'immédiatement avant que le conseiller expert ne soit lancé pour exécution. Cela signifie que le recalcul des valeurs des indicateurs est effectué avant d'appeler les fonctions OnTick (), OnTrade() et OnTimer().

Qu'il y ait ou non un appel d'indicateur dans un gestionnaire d'événement particulier, tous les indicateurs dont les handles ont été créés par la fonction iCustom() ou IndicatorCreate ( ) seront recalculés avant d'appeler la fonction du gestionnaire d'événement.

Par conséquent, lors d'un test en mode "Tous les ticks", le calcul des indicateurs est effectué avant chaque appel de OnTick(). Si une minuterie est activée dans le conseiller expert à l'aide de la fonction EventSetTimer(), les indicateurs seront recalculés avant chaque appel du gestionnaire OnTimer().

L'article indique que les valeurs des indicateurs sont recalculées avant l'appel de trois fonctions - les gestionnaires d'événements. Je n'ai aucune de ces fonctions dans mon Expert Advisor - il ne fonctionne qu'avec des événements personnalisés. Les calculs sont effectués par des indicateurs attachés à des graphiques d'autres symboles. Tout semble être plus ou moins calculé dans le testeur.

Les questions suivantes se posent : à quel moment les indicateurs accrochés à d'autres symboles sont-ils recalculés ? Sont-ils calculés à chaque fois que l'événement NewTickest envoyé , même si l'Expert Advisor n'a pas la fonction OnTick() ? Et si c'est le cas, alors il s'avère que les indicateurs sont recalculés avec la fréquence des ticks d'un autre symbole ?