Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1493

 

Ergänzend zum vorigen Kommentar - wenn ich festlege:

EventSetTimer(3600); // 3600 Sekunden = 60 Minuten

bedeutet das, dass die nächste Überprüfung des Wertes der Terminalvariable in 60 Minuten stattfindet.
Aber im Tester mit Visualisierung laufen 60 Minuten in ein paar Sekunden ab, und der Indikator überprüft die Werte nach 60 Minuten.
Oder sollten der Expert Advisor im Tester und der Indikator in einem separaten Fenster irgendwie zeitlich "synchronisiert" sein? - D.h. wenn der Expert Advisor in ein paar Sekunden einen Wert an die Terminal-Variable sendet, dann wird der Indikator auch in ein paar Sekunden zur Überprüfung des Wertes der Terminal-Variable aufrufen?
Ist jemand auf so etwas gestoßen, wie ist es gelöst?

 
grezky EventSetTimer(3600); // 3600 Sekunden = 60 Minuten

bedeutet das, dass die nächste Überprüfung des Wertes der Terminalvariable in 60 Minuten stattfindet.
Aber im Tester mit Visualisierung laufen 60 Minuten in ein paar Sekunden ab, und der Indikator überprüft die Werte nach 60 Minuten.
Oder sollten der Expert Advisor im Tester und der Indikator in einem separaten Fenster irgendwie zeitlich "synchronisiert" sein? - D.h. wenn der Expert Advisor in ein paar Sekunden einen Wert an die Terminal-Variable sendet, dann wird der Indikator auch in ein paar Sekunden zur Überprüfung des Wertes der Terminal-Variable aufrufen?
Ist jemand auf so etwas gestoßen, wie ist es gelöst?

Die Prüfminute ist im Prüfgerät modelliert. Was hindert Sie daran, sie zu überprüfen? Das ist ganz einfach.

 
Artyom Trishkin #:

Das Prüfprotokoll wird im Prüfgerät modelliert. Was hält Sie vom Testen ab? Das ist ganz einfach.

Der Indikator wird in einem separaten Fenster ausgeführt. Woher soll er wissen, dass der Wert der Terminalvariable nicht nach 3600 Sekunden, sondern nach einigen Sekunden überprüft werden muss, je nach Arbeit des Testers?
 
grezky #:
Der Indikator wird in einem separaten Fenster ausgeführt. Woher weiß er, dass er den Wert der Terminalvariable nicht nach 3600 Sekunden, sondern nach einigen Sekunden überprüfen soll, je nach Arbeit des Testers?

Unklare Frage.

 
Artyom Trishkin #:

Keine klare Frage.

Ich habe es vor 1-2 Seiten beschrieben.
Im Tester im Visualisierungsmodus wird der Expert Advisor Handelssimulator (bereits erstellt) auf Preisaktionen auf M5 laufen, wobei manuell gehandelt wird.
Für die Analyse benötigen wir auch den H1-Chart - er wird in einem separaten Fenster geöffnet, und um nicht in die Zukunft schauen zu können, wird rechts vom aktuellen M5-Balken des Testers im Fenster mit H1 der Indikator ein schwarzes Rechteck zeichnen. Die Eröffnungszeit des letzten (d.h. Null im Tester) Balkens von M5 wird dem Indikator über die Terminalvariable übermittelt (die Balken werden durch ein Rechteck rechts von dieser Zeit verdeckt).

Wenn ich einmal pro Stunde einen neuen Wert der H1-Balkeneröffnungszeit vom Tester sende, dauert es im Tester tatsächlich 1-2-3 Sekunden, aber der Indikator überprüft den Wert der Terminalvariable alle 3600 Sekunden.
Ich denke - ich werde wahrscheinlich eine Überprüfung im Indikator nicht nach 3600 Sekunden, sondern nach 2-3 Sekunden machen.

PS Metatrader ist vom Internet getrennt, Ticks kommen nicht zum Indikator.

- - -

Ich habe einen Indikator zum Testen geschrieben, aber ich bekomme einen Fehler (ich habe init, deinit, start verwendet, und ich bin nicht auf OnCalculate(), etc. gestoßen), was ist der Fehler?
.

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 #:
Ich habe es vor 1-2 Seiten beschrieben.
Im Tester im Visualisierungsmodus wird der Expert Advisor Handelssimulator (bereits erstellt) auf der Preisaktion auf M5 laufen, wobei manuell gehandelt wird.
Für die Analyse benötigen wir auch den H1-Chart - er wird in einem separaten Fenster geöffnet, und um nicht in die Zukunft schauen zu können, wird rechts vom aktuellen M5-Balken des Testers im Fenster mit H1 der Indikator ein schwarzes Rechteck zeichnen. Die Eröffnungszeit des letzten (d.h. Null im Tester) Balkens von M5 wird dem Indikator über die Terminalvariable übermittelt (die Balken werden durch ein Rechteck rechts von dieser Zeit verdeckt).

Wenn ich einmal pro Stunde einen neuen Wert der H1-Balkeneröffnungszeit vom Tester sende, dauert es im Tester tatsächlich 1-2-3 Sekunden, aber der Indikator überprüft den Wert der Terminalvariable alle 3600 Sekunden.
Ich denke - ich werde wahrscheinlich eine Überprüfung im Indikator nicht nach 3600 Sekunden, sondern nach 2-3 Sekunden machen.

PS Metatrader ist vom Internet getrennt, Ticks kommen nicht zum Indikator.

- - -

Ich habe einen Indikator zum Testen geschrieben, aber ich bekomme einen Fehler (ich habe init, deinit, start verwendet, und ich bin nicht auf OnCalculate(), etc. gestoßen), was ist der Fehler?
.





Nochmals, ich verstehe nicht, warum das mit den schwarzen Quadraten und den verschiedenen Graphen so kompliziert ist, aber ich wiederhole: die Zeit im Tester wird emuliert. Eine Stunde Testerzeit entspricht nicht einer Stunde echter Zeit. Sie ist gleich einer Stunde emulierter Testerzeit.

Wer den Expert Advisor daran hindert, den Chart (aus irgendeinem Grund) mit einem schwarzen Vorhang abzudecken, wenn ein neuer Stundenbalken geöffnet wird, ist nicht klar....

 
Artyom Trishkin #:
Wer den EA daran hindert, den Chart mit einem schwarzen Vorhang abzudecken (aus irgendeinem Grund), wenn ein neuer Stundenbalken geöffnet wird, ist nicht klar....

M5 Chart ist im Tester geöffnet, aber ich brauche H1 (zumindest) um die Marktsituation zu analysieren.
(Trades werden auf M5 im Tester geöffnet, aber manuell, die Analyse auf H1 wird auch 'manuell' gemacht).
H1 wird in einem anderen Fenster geöffnet, nicht im Tester, der Indikator, der die rechte Seite schließt, wird dort laufen.
Der Indikator erhält die Zeit aus dem Tester, aber er prüft die reale Zeit, d.h. die reale Stunde, nicht die des Testers.

Bitte prüfen Sie, wo der Fehler in dem in der vorherigen Nachricht angegebenen Code liegt.
Vielleicht bin ich mit der Prüfung nach 3 Sekunden zufrieden und dann ist das Problem gelöst.
PS Code für MT4.

 
grezky #:

M5 Chart ist im Tester geöffnet, aber ich brauche H1 (zumindest), um die Marktsituation zu analysieren.
(Trades werden auf M5 im Tester geöffnet, aber manuell, die Analyse auf H1 wird auch "manuell" durchgeführt).
H1 wird in einem anderen Fenster geöffnet, nicht im Tester, dort wird ein Indikator laufen, der den rechten Teil schließt.
Der Indikator erhält die Zeit aus dem Tester, aber er prüft die reale Zeit, d.h. die reale Stunde, nicht die des Testers.

Bitte prüfen Sie, wo der Fehler in dem in der vorherigen Nachricht angegebenen Code liegt.
Vielleicht bin ich mit der Prüfung nach 3 Sekunden zufrieden und dann ist das Problem gelöst.
PS Code für MT4.

Für Fragen zu MT4, schreiben Sie bitte an den entsprechenden Thread. Hier - Fragen zu MQL5 und MetaTrader 5 Terminal.

 
Artyom Trishkin #:

Auch hier ist nicht klar, was der Zweck dieses ganzen Zeugs mit den schwarzen Quadraten und den verschiedenen Diagrammen ist, aber ich wiederhole noch einmal: die Zeit im Tester wird emuliert. Eine Stunde Testerzeit ist nicht gleich einer Stunde echter Zeit. Sie ist gleich einer Stunde emulierter Testerzeit.

Wer den Expert Advisor daran hindert, den Chart (aus irgendeinem Grund) mit einem schwarzen Vorhang abzudecken, wenn ein neuer Stundenbalken geöffnet wird, ist nicht klar....

Die Zeitemulation ist in der Regel nicht für jedermann verständlich.)))))

Es ist immer besser, detaillierter zu sein, es bedeutet nur, dass der Tester alle Ereignisse einer Stunde in einer Sekunde oder schneller durchgehen wird.)))))

 

Guten Tag.

Können Sie mir sagen, wie ich eine Wiederholung der erhaltenen Optimierungsparameter veranlassen kann, allerdings für einen anderen Zeitraum.

Ich habe für das letzte halbe Jahr die Parameter für ein Währungspaar optimiert und in Excel aufgezeichnet. Ich habe den Zeitraum für das letzte Jahr genommen und möchte die Parameter ausführen. Wie gebe ich sie wieder in den Tester oder Optimierer ein?
Prüfen Sie, was geht, was geht nicht, schreiben Sie es in Excel auf. Vielleicht kann ich dann auch z.B. für die letzten 2 Jahre laufen.

Grund der Beschwerde: