Questions des débutants MQL5 MT5 MetaTrader 5 - page 1493

 

En plus du commentaire précédent - si je spécifie :

EventSetTimer(3600) ; // 3600 secondes = 60 minutes

cela signifie que la prochaine vérification de la valeur de la variable terminale aura lieu dans 60 minutes.
Mais dans le Testeur avec visualisation, 60 minutes s'écouleront en quelques secondes, et l'Indicateur vérifiera les valeurs après 60 minutes.
Ou est-ce que le Conseiller Expert dans le Testeur et l'Indicateur dans une fenêtre séparée devraient être d'une certaine manière "synchronisés" dans le temps ? - Par exemple, si l'Expert Advisor envoie une valeur à la variable terminale dans quelques secondes, l'Indicateur demandera de vérifier la valeur de la variable terminale également dans quelques secondes ?
Quelqu'un a-t-il rencontré quelque chose comme cela, comment est-ce résolu ?

 
grezky EventSetTimer(3600) ; // 3600 secondes = 60 minutes

cela signifie que la prochaine vérification de la valeur de la variable terminale aura lieu dans 60 minutes.
Mais dans le Testeur avec visualisation, 60 minutes s'écouleront en quelques secondes, et l'Indicateur vérifiera les valeurs après 60 minutes.
Ou est-ce que le Conseiller Expert dans le Testeur et l'Indicateur dans une fenêtre séparée devraient être d'une certaine manière "synchronisés" dans le temps ? - Par exemple, si l'Expert Advisor envoie une valeur à la variable terminale dans quelques secondes, l'Indicateur demandera de vérifier la valeur de la variable terminale également dans quelques secondes ?
Quelqu'un a-t-il rencontré quelque chose comme cela, comment est-ce résolu ?

La minute du testeur est modélisée dans le testeur. Qu'est-ce qui vous empêche de la vérifier ? C'est simple.

 
Artyom Trishkin #:

La minute du testeur est modélisée dans le testeur. Qu'est-ce qui vous empêche de tester ? C'est simple.

L'indicateur sera exécuté dans une fenêtre séparée, comment saura-t-il qu'il faut vérifier la valeur de la variable terminale non pas après 3600 secondes, mais après quelques secondes, selon le travail du testeur ?
 
grezky #:
L'indicateur sera exécuté dans une fenêtre séparée, comment saura-t-il vérifier la valeur de la variable terminale non pas après 3600 secondes, mais après quelques secondes, selon le travail du testeur ?

Question peu claire.

 
Artyom Trishkin #:

La question n'est pas claire.

Je l'ai décrite il y a 1-2 pages.
Dans le testeur, en mode Visualisation, le simulateur de trading Expert Advisor (déjà créé) sera exécuté sur l'action des prix sur M5, en négociant manuellement.
Pour l'analyse, nous avons également besoin du graphique H1 - il sera ouvert dans une fenêtre séparée, et afin de ne pas pouvoir regarder dans le futur à droite de la barre M5 actuelle du testeur dans la fenêtre avec H1, l'indicateur tracera un rectangle noir. L'heure d'ouverture de la dernière (c'est-à-dire zéro dans le testeur) barre de M5 sera transmise à l'indicateur à travers la variable terminale (les barres seront cachées par un rectangle à droite de cette heure).

Si j'envoie une nouvelle valeur de l'heure d'ouverture de la barre H1 du testeur une fois par heure, cela prendra en fait 1-2-3 secondes dans le testeur, mais l'indicateur vérifiera la valeur de la variable terminale toutes les 3600 secondes.
Je pense que je vais probablement faire une vérification dans l'indicateur non pas après 3600 secondes, mais après 2-3 secondes.

PS Metatrader est déconnecté de l'Internet, les ticks n'arrivent pas à l'indicateur.

- - - -

J'ai écrit un indicateur pour le tester, mais j'obtiens une erreur (j'ai utilisé init, deinit, start, et je n'ai pas rencontré OnCalculate(), etc.), quelle est l'erreur ?
.

OnCalculate function declared with wrong type or/and parameters CHECK___TESTER_TermVariable.mq4 33      5
OnCalculate function not found in custom indicator              1       1
1 errors, 1 warnings            2       2


#property indicator_chart_window

datetime   MTF_Time_0            = 0;




void OnInit() {
//   EventSetTimer(3600);   // 3600 секунд = 60 минут
   EventSetTimer(3);        // 3 секунды - периодичность запуска функции OnTimer()
   return;
}



void OnDeinit(const int reason) {
   EventKillTimer();
}




void OnTimer() {
   if(GlobalVariableGet("_AA__MTF_Time_0")>MTF_Time_0 ) {
      MTF_Time_0                 = GlobalVariableGet("_AA__MTF_Time_0");
      GlobalVariableSet("_AA__MTF_Time_0", 0);
   } // if(GlobalVariableGet("_AA___Time_Control_Check")>=Time[0] ) {
} // void OnTimer() {




int OnCalculate(int Time_tmp) {
   if(MTF_Time_0>0) {
      ObjectDelete(       "VLINE_Name_1");
      FUNCTION_DRAW_VLINE("VLINE_Name_1", clrPink, 1, MTF_Time_0, true, TimeToStr(MTF_Time_0, TIME_DATE|TIME_MINUTES), 0);
   }
   Time_tmp                      = MTF_Time_0;

   return(Time_tmp);
} // void OnCalculate() {


 
grezky #:
Je l'ai décrit il y a 1-2 pages.
Dans le testeur, en mode Visualisation, le simulateur de trading Expert Advisor (déjà fait) sera exécuté sur l'action des prix sur M5, en négociant manuellement.
Pour l'analyse, nous avons également besoin du graphique H1 - il sera ouvert dans une fenêtre séparée, et afin de ne pas pouvoir regarder dans le futur à droite de la barre M5 actuelle du testeur dans la fenêtre avec H1, l'indicateur dessinera un rectangle noir. L'heure d'ouverture de la dernière (c'est-à-dire zéro dans le testeur) barre de M5 sera transmise à l'indicateur à travers la variable terminale (les barres seront cachées par un rectangle à droite de cette heure).

Si j'envoie une nouvelle valeur de l'heure d'ouverture de la barre H1 depuis le testeur une fois par heure, cela prendra en fait 1-2-3 secondes dans le testeur, mais l'indicateur vérifiera la valeur de la variable terminale toutes les 3600 secondes.
Je pense que je vais probablement faire une vérification dans l'indicateur non pas après 3600 secondes, mais après 2-3 secondes.

PS Metatrader est déconnecté de l'Internet, les ticks n'arrivent pas à l'indicateur.

- - - -

J'ai écrit un indicateur pour le tester, mais j'obtiens une erreur (j'ai utilisé init, deinit, start, et je n'ai pas rencontré OnCalculate(), etc.), quelle est l'erreur ?
.





Encore une fois, je ne comprends pas pourquoi tout cela avec des carrés noirs et différents graphiques est si compliqué, mais je vais répéter : le temps dans le testeur est émulé. Une heure de test n'est pas égale à une heure de temps réel. Elle est égale à une heure de temps émulé dans le testeur.

Qui empêche l'Expert Advisor de couvrir (pour une raison quelconque) le graphique avec un rideau noir lors de l'ouverture d'une nouvelle barre horaire n'est pas clair....

 
Artyom Trishkin #:
Qui empêche l'EA de couvrir (pour une raison quelconque) le graphique avec un rideau noir lors de l'ouverture d'une nouvelle barre horaire n'est pas clair....

Le graphique M5 est ouvert dans le testeur, mais j'ai besoin de H1 (au moins) pour analyser la situation du marché.
(les trades sont ouverts sur M5 dans le testeur, mais manuellement, l'analyse sur H1 est aussi faite 'manuellement').
H1 sera ouvert dans une autre fenêtre, pas dans le testeur, l'indicateur qui ferme le côté droit y sera exécuté.
L'indicateur obtiendra l'heure du testeur, mais il vérifiera l'heure réelle, c'est-à-dire l'heure réelle, et non celle du testeur.

Veuillez vérifier où se trouve l'erreur dans le code donné dans le message précédent.
Je me contenterai peut-être d'une vérification après 3 secondes et le problème sera alors résolu.
Code PS pour MT4.

 
grezky #:

Le graphique M5 est ouvert dans le testeur, mais j'ai besoin de H1 (au moins) pour analyser la situation du marché.
(les transactions sont ouvertes sur M5 dans le testeur, mais manuellement, l'analyse sur H1 est également effectuée 'manuellement').
H1 sera ouvert dans une autre fenêtre, pas dans le testeur, où sera exécuté un indicateur qui ferme la partie droite.
L'indicateur obtiendra l'heure du testeur, mais il vérifiera l'heure réelle, c'est-à-dire l'heure réelle, et non celle du testeur.

Veuillez vérifier où se trouve l'erreur dans le code donné dans le message précédent.
Je me contenterai peut-être d'une vérification après 3 secondes et le problème sera alors résolu.
Code PS pour MT4.

Pour les questions sur MT4, veuillez écrire dans le fil de discussion approprié. Ici - questions sur MQL5 et le terminal MetaTrader 5.

 
Artyom Trishkin #:

Une fois encore, on ne sait pas très bien à quoi servent tous ces carrés noirs et ces différents graphiques, mais je le répète : le temps passé dans le testeur est émulé. Une heure de temps dans le testeur n'est pas égale à une heure de temps réel. Elle est égale à une heure de temps émulé dans le testeur.

Qui empêche l'Expert Advisor de couvrir (pour une raison quelconque) le graphique avec un rideau noir lors de l'ouverture d'une nouvelle barre horaire n'est pas clair....

L'émulation du temps n'est généralement pas claire pour tout le monde.)))))

Il est toujours préférable d'être plus détaillé, cela signifie simplement que le testeur passera en revue tous les événements d'une heure en une seconde ou plus rapidement.)))))

 

Bonjour.

Je vous demande de bien vouloir m'indiquer comment procéder à une nouvelle exécution des paramètres d'optimisation reçus, mais pour une période de temps différente.

J'ai optimisé pendant les six derniers mois les paramètres d'une paire de devises, enregistrés dans Excel. J'ai pris la période de l'année dernière et je veux exécuter les paramètres. Comment les remettre dans le testeur ou l'optimiseur ?
Vérifier ce qui passera, ce qui ne passera pas, l'écrire dans Excel. Je pourrai alors peut-être faire des calculs pour les deux dernières années, par exemple.

Raison: