Diskussion zum Artikel "Optimierung. Einige simple Ideen"

 

Neuer Artikel Optimierung. Einige simple Ideen :

Der Optimierungsprozess kann erhebliche Ressourcen Ihres Computers oder sogar die Testagenten des MQL5 Cloud Network erfordern. Dieser Beitrag liefert einige simple Ideen, die ich zur Erleichterung der Arbeit und zur Verbesserung des Strategietesters von MetaTrader 5 nutze. Auf diese Ideen brachten mich die Dokumentation, das Forum und diverse Beiträge.

Wenn paramCorrect in der inkorrekten Position false ist, führt der EA keine Aktion in OnInit() aus und gibt den Code INIT_PARAMETERS_INCORRECT an den Strategietester zurück, was einen inkorrekten Satz von Eingabedaten bedeutet. Wenn der Strategietester den Wert INIT_PARAMETERS_INCORRECT von OnInit() erhält, wir dieser Satz von Parametern nicht zur Umsetzung an andere Testagenten übergeben und die Tabellenzeile mit den Optimierungsergebnissen wird mit Nullen befüllt und rot markiert (siehe nachfolgende Abbildung).

Ergebnis der Verwendung von inkorrekten Parametern

Autor: Jose Miguel Soriano

 

Mein Gott, was für eine alptraumhafte Übersetzung!

Ich frage mich, ob die Rückübersetzungen ins Spanische die gleichen sind?

Dagegen muss etwas unternommen werden.

 
Die Übersetzung wurde angepasst. Danke für den Kommentar!
 
Eine Freude, einen Artikel in einem spanischen Entwickler zu lesen.
Sein Vorschlag würde auch für eine Optimierung der Eintrittszeiten gelten ? Wenn ich den Artikel gut verstanden habe. Ist , dass ich ein relativer Neuling in der elektronischen Programmierung bin.
Ein Gruß und Dank
 
decolimper:
Eine Freude, einen Artikel in einem spanischen Entwickler zu lesen.
Sein Vorschlag würde auch für eine Optimierung der Eintrittszeiten gelten ? Wenn ich den Artikel gut verstanden habe. Ist , dass ich ein relativer Neuling in der elektronischen Programmierung bin.
Ein Gruß und Dank

Wenn Sie Spanier sind... wir sprechen Spanisch.

Ich verstehe, dass Sie fragen, ob ich die Eingabezeiträume optimiere.

Das Problem ist, dass alle Funktionen im Code einen Parameter haben müssen, der Sie über den Zeitrahmen informiert, in dem der EA arbeitet. Es reicht nicht aus, PERIOD_CURRENT als Standard zu belassen, sondern Sie müssen allen Funktionen, die den Zeitraum verwenden, eine globale Variable (z. B. marcoTF) übergeben, die den Zeitrahmen speichert, in dem der EA arbeitet.

Für meinen Code spielt es keine Rolle, in welchem Diagramm Sie den EA laden. Er arbeitet immer in dem Frame, den ich in dem Eingabeparameter angebe, der später an "marcoTF" gemeldet wird.

Wenn Sie Spanier sind ... sprechen Sie auf Spanisch.

Ich verstehe diese Fragen, wenn ich die Eingabezeiträume optimiere.

So ist es und warum die Angelegenheit ist; das Problem ist, dass alle Funktionen des Codes muss einen Parameter, um den Zeitrahmen, in dem die EA arbeitet Bericht haben. Sie können nicht PERIOD_CURRENT Standard, übergeben alle Funktionen mit der Zeit eine globale Variable (marcoTF, zum Beispiel), die den Zeitrahmen, in dem der EA arbeitet speichert.

Für meinen Code ist es gleichgültig, unter welcher Grafik der EA hochgeladen wird. Es wird immer innerhalb des Rahmens gearbeitet, der auf den Eingabeparameter "marcoTF" hinweist, der anschließend informiert.

 

Eigentlich interessant... Aber es unterscheidet sich nicht allzu sehr von der üblichen Optimierung nach den Parametern, die der Trader auf seiner Erfahrung.... gewählt hat.

Mich interessiert viel mehr die Frage, ob es möglich ist, die optimierten Parameter automatisch in die EA-Einstellungen zu übertragen...

D.h. ist es möglich, den Expert Advisor nach einer vom Trader definierten Zeitspanne automatisch zu optimieren und erneut zu optimieren?

 
josemiguel1812:

Wenn Sie Spanier sind... wir sprechen Spanisch.

Ich verstehe, dass Sie fragen, ob ich die Eingabezeiträume optimiere.

Das Problem ist, dass alle Funktionen im Code einen Parameter haben müssen, der Sie über den Zeitrahmen informiert, in dem der EA arbeitet. Es reicht nicht aus, PERIOD_CURRENT als Standard zu belassen, sondern Sie müssen allen Funktionen, die den Zeitraum verwenden, eine globale Variable (z. B. marcoTF) übergeben, die den Zeitrahmen speichert, in dem der EA arbeitet.

Für meinen Code spielt es keine Rolle, in welchem Diagramm Sie den EA laden. Er arbeitet immer in dem Frame, den ich in dem Eingabeparameter angebe, der später an "marcoTF" gemeldet wird.

Wenn Sie Spanier sind ... sprechen Sie auf Spanisch.

Ich verstehe diese Fragen, wenn ich die Eingabezeiträume optimiere.

So ist es und warum die Angelegenheit ist; das Problem ist, dass alle Funktionen des Codes muss einen Parameter, um den Zeitrahmen, in dem die EA arbeitet Bericht haben. Sie können nicht PERIOD_CURRENT Standard, übergeben alle Funktionen mit der Zeit eine globale Variable (marcoTF, zum Beispiel), die den Zeitrahmen, in dem der EA arbeitet speichert.

Für meinen Code ist es gleichgültig, unter welcher Grafik der EA hochgeladen wird. Es wird immer innerhalb des Rahmens gearbeitet, der auf den Eingangsparameter "marcoTF" hinweist, der anschließend informiert.

 
Hallo, Jose Miguel, ich würde gerne per Post mit Ihnen in Kontakt treten, ist das möglich, mit freundlichen Grüßen
 
Sehr guter Artikel, José! Ich habe nach einer Möglichkeit gesucht, nicht nur nach Zeitrahmen, sondern auch nach Vermögenswerten zu optimieren. Glückwunsch zu Ihrer Initiative!!!

Wenn Sie daran interessiert sind, habe ich einen Vorschlag, der für Sie nützlich sein könnte. Wäre es interessant, auf diese Weise zu optimieren?

Externe Parameter zur Optimierung:

Anzahl der Vermögenswerte: 1
Vermögenswerte: EURUSD

oder

Anzahl der Vermögenswerte: 2
Vermögenswerte: EURUSD; USDJPY
oder
Vermögenswerte1: EURUSD
Vermögenswerte2: USDJPY

usw.

So optimieren Sie die Anzahl der Anzahl der Vermögenswerte und Vermögenswerte. Wird in Ihrem Fall die Optimierung für jedes Asset einzeln durchgeführt oder ein Setup für alle Assets gleichzeitig?

Eine andere Möglichkeit wäre, die Optimierung zu automatisieren, sobald Sie den EA auf einem Chart laufen lassen. Wäre es möglich, bei EAs, die nur mit Kerzenschlüssen arbeiten (wie in meinem Fall), eine Optimierung anhand der Kerzen im Chart vorzunehmen, ohne den Strategy Tester zu verwenden?
 

Ein guter Artikel. Ich finde es merkwürdig, dass ich auch schon mit diesem Problem konfrontiert war und ähnliche Lösungen wie Sie gefunden habe. Ein weiterer interessanter Ansatz ist die "virtuelle" Optimierung, die in diesem Artikel vorgestellt wird:

https://www.mql5.com/en/articles/143

Auf jeden Fall danke für den Kampf gegen die Einsamkeit der Programmierer :)

Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
  • 2010.09.14
  • MetaQuotes Software Corp.
  • www.mql5.com
This article suggests a variant of an adaptive system that consists of many strategies, each of which performs its own "virtual" trade operations. Real trading is performed in accordance with the signals of a most profitable strategy at the moment. Thanks to using of the object-oriented approach, classes for working with data and trade classes of the Standard library, the architecture of the system appeared to be simple and scalable; now you can easily create and analyze the adaptive systems that include hundreds of trade strategies.
 
Jose:

Ein guter Artikel. Ich finde es merkwürdig, dass ich auch schon mit diesem Problem konfrontiert war und ähnliche Lösungen wie Sie gefunden habe. Ein weiterer interessanter Ansatz ist die "virtuelle" Optimierung, die in diesem Artikel vorgestellt wird:

https://www.mql5.com/en/articles/143

Auf jeden Fall danke für den Kampf gegen die Einsamkeit der Programmierer :)

Ich mache strukturierte Programmierung und kann objektorientierte Programmierung nicht gut "lesen".

Ich verstehe die Strategie selbst nicht, weil ich nicht sehe, wie sie das virtuelle Ergebnis aller Strategien auf Kerze 1 erhält, um zu entscheiden, was ich bei der Eröffnung von Kerze 0 tue. Auf Kerze 100 (Nummerierung von der Gegenwart zur Vergangenheit), zum Beispiel, wenn ich das Ergebnis auf Kerze 98 "bewegen" in die Zukunft mit der bekannten Geschichte und dem PreisBID, dass das MT5-Tester-System mir geben wird, schätzen kann.... aber auf Kerze 1, wie schätze ich das virtuelle Ergebnis?