Die Zukunft von MQL5 ist MQL5+ oder sogar MQL6 - Seite 7

 
Slawa:

Ich werde Ihnen ein großes Geheimnis verraten. Bei maximaler Testgeschwindigkeit (32) gibt es keine Verzögerung. Die stellvertretende Höchstgeschwindigkeit (31) hat ::Sleep(0). Ein einfaches Vertauschen der Fäden ergibt diesen Unterschied

Aber ich möchte keine leeren Schleifen für die Verzögerung verwenden - andere Benutzer werden sich darüber aufregen: "Warum zum Teufel habe ich eine 100%ige CPU-Last für nichts!"

Wenn Sleep() nicht bei jedem Tick aufgerufen wird?
 
Dmitry Fedoseev:
Wenn Sleep() nicht bei jedem Tick aufgerufen wird?
Es besteht ein offensichtliches Ungleichgewicht in der Visualisierung
 
MT4:
  1. Bei der Auswahl des"Genetischen Algorithmus" während der Optimierung möchte ich die Mindestanzahl der "Gesamtabschlüsse" angeben, um einen Zyklus zu vermeiden, in dem der Optimierer die Variante mit immer weniger "Gesamtabschlüssen" wählt, während er den größten Wert des "Optimierbaren Parameters" auswählt. Und die Möglichkeit, den Wert "Mindestanzahl der "Gesamtabschlüsse"" in Abhängigkeit von der Anzahl der während der Optimierung verwendeten Tage automatisch zu berechnen.
    Zum Beispiel: Die Optimierung erfolgt vom 01.01.2015 bis zum 31.12.2015 = 259 Tage der Optimierung mit dem Koeffizienten "1" gleich 259 (Mindestbetrag der "Total Trades") oder mit dem Koeffizienten "0.5" gleich ~129 (Mindestbetrag der "Total Trades").
  2. Möglichkeit der Prüfung in absteigender Reihenfolge der für die Prüfung verwendeten Tage (Beispiel: vom 01.01.2015 bis 31.12.2015, nächster Schritt vom 02.01.2015 bis 12.12.2015)31 usw.), um die Stellen zu identifizieren, an denen der Expert Advisor den Test besteht, indem er den Testbeginn erfolgreich abgleicht und den Drawdown der "Free Margin" auf Kosten des erhöhten Guthabens aus dem vorangegangenen Handel "aussitzt", wenn der Expert Advisor den Ein- und Ausstieg erfolgreich abgleicht. Oder die Möglichkeit, nur mit der Ersteinlage zu testen, ohne das Guthaben zu verwenden.
 
Es muss ein Gegenstück zuIntelliSense eingeführt werden.
 
lilita bogachkova:
MT4:
  1. Bei der Auswahl des'Genetischen Algorithmus' während der Optimierung möchte ich die Mindestanzahl der 'Gesamtabschlüsse' angeben, um den Zyklus zu vermeiden, in dem der Optimierer immer weniger 'Gesamtabschlüsse' auswählt, während er den größten Wert des 'Optimierbaren Parameters' auswählt. Und die Möglichkeit, den Wert der 'Mindestanzahl der 'Gesamtabschlüsse' in Abhängigkeit von der Anzahl der in der Optimierung verwendeten Tage automatisch zu berechnen.
    Zum Beispiel: Die Optimierung erfolgt vom 01.01.2015 bis zum 31.12.2015 = 259 Tage der Optimierung mit dem Koeffizienten "1" gleich 259 (Mindestbetrag der "Total Trades") oder mit dem Koeffizienten "0.5" gleich ~129 (Mindestbetrag der "Total Trades").
  2. Möglichkeit der Prüfung in absteigender Reihenfolge der für die Prüfung verwendeten Tage (Beispiel: vom 01.01.2015 bis 31.12.2015, nächster Schritt vom 02.01.2015 bis 12.12.2015)31 usw.) im Namen der Identifizierung von Stellen, an denen der Expert Advisor den Test besteht, indem er den Start des Tests erfolgreich abgleicht, den Drawdown der "Free Margin" aufgrund des erhöhten Guthabens aus dem vorangegangenen Handel "aussitzt", wenn der Expert Advisor den Einstieg und Ausstieg erfolgreich abgleicht. Oder die Möglichkeit, den Test nur mit der Ersteinlage durchzuführen, ohne das Guthaben zu verwenden.

+1

Alle derzeitigen Kriterien für den genetischen Optimierer sind "unrobust", d.h. das Ergebnis ist zu überoptimiert und im Fronttest unrentabel. In EAs, die mir zur Verfügung stehen, löse ich solche Probleme mit meinem eigenen Code, indem ich die Mindestanzahl von Geschäften pro Woche prüfe usw. Bei Expert Advisors from the Market führe ich einfach den größtmöglichen Test für alle Parameter durch und verarbeite die Ergebnisse dann in Excel.

Viele Probleme wären gelöst, wenn wir die Möglichkeit hätten, unseren eigenen Code für ontester() eines beliebigen EA zu schreiben. Wahrscheinlich wird es keinen Zugriff auf die globalen Variablen des EA haben, aber alle Daten von TesterStatistics() sollten lesbar sein.


Ich habe es später beendet:
Ich dachte mir, es wäre noch besser, wenn die Skripte die Optimierung aufrufen könnten. Aufrufparameter - Datum, EA-Name und seine eigenen Parameter, usw. Volle Funktionalität des üblichen Strategietesters. Am Ende des Tests könnte das Skript alle Ergebnisse mit vollem Zugriff auf TesterStatistics() von jedem erhalten.

 
agvozdezkiy:

2. Machen Sie normale Versionen für Mac und Lin, damit es keine Vinyls gibt. Ab und zu arbeitet er darin.

Wie viel Prozent werden unter ihnen gehandelt? 1 % oder 1,5 %? Es ist nicht nötig, es zu verbreiten.

3. Ermöglicht nicht nur die "Reparatur" von EAs mit Indikatoren, sondern auch die Aktualisierung der Schnittstelle.

Ich denke, die Umsetzung des letzten Punktes wird die Entwicklung von MT beschleunigen)).

Welche Schnittstelle sollte ich für meinen Händler aktualisieren? Bitte deutlicher schreiben.

 
Slawa:

Ich werde Ihnen ein großes Geheimnis verraten. Bei maximaler Testgeschwindigkeit (32) gibt es keine Verzögerung. Die stellvertretende Höchstgeschwindigkeit (31) hat ::Sleep(0). Ein einfaches Vertauschen der Fäden ergibt diesen Unterschied

Aber ich möchte keine leeren Schleifen für die Verzögerung verwenden - andere Benutzer werden sich darüber aufregen: "Warum zum Teufel habe ich eine 100%ige CPU-Last für nichts!"

Super! Ich hätte nie gedacht, dass es einen solchen Unterschied geben könnte.
 
Alexey Volchanskiy:
Nun, Occams Rasiermesser, wir waschen uns einfach)
 
Dmitry Fedoseev:
Wenn Sleep() nicht bei jedem Tick aufgerufen wird?
Oder spielen Sie mit den Fadenprioritäten. Die Prioritätswerte sind nicht sehr hoch, aber eine Möglichkeit zum Experimentieren. Zumal es in 5 Minuten überprüft werden kann. Hey, mir ist jetzt eine Idee gekommen, die Priorität des Terminals selbst für die Dauer eines visuellen Tests zu verringern ))))).