Fehler, Irrtümer, Fragen - Seite 200

 
Ashes:

Nein. Die übliche Verfolgungsjagd eines der Teilnehmer an der Meisterschaft (mit mehreren Währungen), ein langer Swap über die beteiligten Paare und das war's.

Übrigens bin ich neugierig, wie der Prüfer feststellt, welche Paare getauscht werden sollen. Im Allgemeinen ist es unmöglich, dies im Voraus zu wissen, ohne mit den Prüfungen begonnen zu haben...

Soweit ich weiß, ist das erste Paar, das ausgetauscht wird, dasjenige, das getestet wird (es wird in den Parametern des Testers angegeben und automatisch zu dessen "Market Watch" hinzugefügt).

Andere Paare werden je nach den unterschiedlichen Bedingungen getauscht. Persönlich denke ich, dass der korrekteste Weg ist, sie (durch Ausfüllen der "Marktübersicht" des Testers) im Initialisierungsblock auszuwählen und dann die Synchronisation der Daten zu überprüfen (es ist nicht nur im Tester nützlich).

Es ist auch erwähnenswert, dass das Prüfgerät mit dem Terminal synchronisiert wird, das wiederum mit dem Server synchronisiert wird...

PS

Wenn ich das richtig verstanden habe, kann das Prüfgerät die Daten immer noch selbst laden, aber unter realen Bedingungen muss es das ganz allein tun.

sergeev:

Bestätigt.

Einfachste Prüfung durch MA. Nach der Initialisierung wird die Verbindung direkt unterbrochen. Aber es ist unbeständig und kommt hin und wieder vor.

Das muss ich abwarten, aber ich scheine solche Probleme nicht gehabt zu haben. Allerdings gab es ein Problem mit dem Timer (ich denke, das wird im nächsten Build behoben)...
 
Nach der Initialisierung direkt zum Trennen der Verbindung. Aber es ist instabil und passiert in verschiedenen ZeitenDas ist
genau
das, was
in der neuesten Build (355) passiert, wenn OnTimer anstelle von OnTick im Tester verwendet wird.
 
Erm955:
Dies ist genau das, was in der neuesten Version (355) passiert, wenn OnTimer statt OnTick im Tester verwendet wird.
Ich habe glücklicherweise beide Handler. Obwohl ich wirklich unter dem Timer-Bug leide (da EA ein Maultier ist)... :(
 
Rosh:
Vielleicht wird die Funktion zum Entfernen des Indikators aus dem Diagramm mit Hilfe von MQL5 erscheinen.
Oh, das wäre gut.
 

Es wurde versucht, den Testerbericht im Open XML-Format zu speichern. Minutenlanges Warten (Pentium 4, 3,0 GHz), die Anwendung reagierte nicht, der Prozess terminal.exe lief im Task-Manager auf Hochtouren (ca. 50 % der CPU) und verbrauchte RAM (ca. 250 MB), Ergebnis - nichts. MT5 antwortet nur, es kommen keine Kurse rein (Verbindungsstatusanzeige mit grauem Kreis). Bei einem zweiten Versuch ist es dasselbe. Das Fenster "Tools" hat 2 Journaleinträge "MemoryException 107878464 bytes not available", wobei der Zeitpunkt dem Versuch entspricht, einen Bericht in OpenXML zu empfangen.
Die HTML-Datei wurde fast sofort erstellt (etwa 12 MB). Das Öffnen dauert sehr lange, aber das ist nicht die Schuld von MT5...

 

Der Compiler gibt eine Warnung aus, wenn eine Variable nirgendwo verwendet wird, und das ist in Ordnung.

Aber es sieht solchen Unsinn (unbenutzte Variablen) in Klassen nicht.

 

Version 5 Build 355

Berechnung der Zeitdifferenz zwischen den Balken:

datetime DefTime;

string PrintDate;

DefTime=Time[0]-Time[i]; //i kann durch eine beliebige ganze Zahl ersetzt werden, in unserem Fall von 0 aufwärts ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

Drucken (PrintDate);

Hier haben wir:

!!! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
!!! 2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
!!! 2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
!!! 2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
!!! 2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
!!! 2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
!!! 2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
!!! 2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

Woher kommt die 3. Zahl? Die gleiche Situation wird bei der Verwendung von MqlDateTime beobachtet.

 
KffAlex:

Woher kommt die 3. Zahl? Das gleiche Bild ergibt sich bei der Verwendung von MqlDateTime.

Das ist richtig - Sie zeigen das Zeitdelta zwischen den Balken in Sekunden als Standarddatum an.

Die Differenz zwischen dem Montag- und dem Freitagsbalken beträgt genau 3 Tage.

 
Daran hatte ich, ehrlich gesagt, nicht gedacht. Ich vergesse immer wieder, dass es zwischen Freitag und Montag keine Bars mehr gibt. Ich danke Ihnen.
 

Ich möchte während der Optimierung Berater zu machen, um zu wählen, ob Indikator zu verbinden oder nicht, (zB TRIX), wenn TRIX = 0 - dann wird der Indikator nicht verwendet werden, wenn TRIX = 1 oder mehr, wird der Indikator einbezogen werden und die Zahl, die in den Wert verwendet wird - das ist ein Parameter des Indikators.

Aber das Problem ist, dass viele Indikatoren mehr als einen Parameter haben - aber wenn TRIX_1 = 0, TRIX_2 = 4 z.B. bei der Optimierung gesetzt wird, werden sich die Parameter widersprechen, dieses Problem habe ich so gelöst: im Expert Advisor gehen die Werte von TRIX_1 und TRIX_2 möglich durch.d. h. TRIX=0 ist TRIX_1=0 und TRIX_2=0 in der EA; TRIX=1 ist TRIX_1=1 und TRIX_2=1; TRIX=2 ist TRIX_1=1 und TRIX_2=2 usw. Es stellt sich jedoch die Frage

Wird der genetische Algorithmus im Testerkorrekt funktionieren, wenn alle Indikatorparameter bereits im EA selbst aufgezählt wurden und nur ein Wert TRIX, der Parametervariationen speichert, in die Eingabe eingegeben wurde?