Automatisierung der Suche nach Strategien. - Seite 2

 
ein Miner benötigt wird, aber die Suche dennoch innerhalb der gegebenen Bedingungen erfolgt. Optimierung ist auch Strategiesuche, im engeren Sinne. Die Frage ist nicht richtig gestellt.
 
Yuriy Asaulenko:

IMHO ist die Frage absolut richtig. Bevor man eine Strategie entwirft, wäre es gut zu wissen, ob sie funktionieren wird.

Es gibt 2 Möglichkeiten, dies zu tun.

1.Excel - wir schreiben die Strategie dort und überprüfen sie. beliebige Charts + gute Mathematik zu Ihren Diensten. Ja, und + VBA.

2.MatLab - wir laden die Kurse in die Datenbank, verbinden sie mit MatLab und modellieren die Strategie dort. Einfacher als in Excel.

Ist es nicht einfacher, alles direkt in MT4/5 zu machen? Warum sollte man Programme von Drittanbietern verwenden, wenn es darum geht, ein Portfolio von Strategien zu optimieren? Ich bin mir allerdings nicht sicher, ob das die Frage war?
 
Stanislav Korotky:
Ist es nicht einfacher, alles direkt im MT4/5 zu erledigen? Warum Programme von Drittanbietern, wenn es um die Optimierung eines Portfolios von Strategien geht? Ich bin mir allerdings nicht sicher, ob das die Frage war?
Wenn Sie nach einer Strategie suchen, ist es nicht einfacher. Über den Rest weiß ich nichts, ich habe nicht darüber nachgedacht. Obwohl jede Modellierung in speziellen Umgebungen einfacher ist, nicht in MT. MT ist ein Endprodukt, es ist nicht für die Forschung konzipiert und eignet sich nicht besonders dafür.
 
Youri Tarshecki:

Jedes Mal, wenn ich Varianten in den Autotester lade, denke ich darüber nach. Ich denke über Folgendes nach

1. Der Strategiegenerator sollte nach dem Prinzip des Evolutionsbaums von einfach bis komplex arbeiten.

2. Die Varianten sollten sofort im Volking-Forward geprüft und eliminiert werden.

3) Funktionen sollten manuell vorbereitet werden, und der Generator sollte nur die Varianten ihrer Interaktion ausarbeiten, d.h. Abhängigkeiten schaffen.

Übrigens bin ich im englischen Thread auf eine Erwähnung einer bulgarischen Software gestoßen, die Elemente von etwas Ähnlichem enthält. Aber da es auf MT4 lief, war ich nicht daran interessiert.

Und hier ist eine andere deutsche, ebenfalls auf MT4 http://darwins-fx-tools.com/.

In dieser Variante geht die Entwicklung weiter... Es wird ein Graph der Interaktion von Funktionen erstellt, der Suchraum ist unendlich...

Verbindungen zwischen Funktionen werden "sinnvoller", zum Beispiel macht der Ausdruck Open>Low Sinn, aber Open>Volume nicht, und andere Nuancen....

 
Hier ein weiteres Beispiel für einen nichtssagenden Ausdruck: =Hoch>(Öffnen-Schließen), kommt auch nicht durch.
 
Aliaksandr Hryshyn:
Hier ein weiteres Beispiel für einen nichtssagenden Ausdruck: =Hoch>(Öffnen-Schließen), wird auch nicht durchgehen.

Sie werden in solchen Lappalien ertrinken. Unter Funktionen verstehe ich ein bestimmtes, im Voraus vorbereitetes, in sich konsistentes Stück Code, das mit Hilfe von Indikatoren oder unabhängig davon für eine Eigenschaft des EA verantwortlich ist. D.h. für eine bestimmte Idee.

Zum Beispiel ein Stück, das Fraktale in der Geschichte definiert. Oder ein Stück, das alles zählt, was man ihm nicht gibt. Oder das Veränderungsraten definiert. Oder die Bestimmung von Niveaus.

Die Aufgabe des Generators besteht darin, diese verschiedenen Teile zu einer einzigen technischen Lösung zu kombinieren. Zum Beispiel zählen wir die Anzahl der Fraktale auf dem Level und je nach Ergebnis priorisieren wir den Kauf oder Verkauf. Oder wir bestimmen die Summe der Beschleunigungen auf der Ebene, vergleichen sie mit der gleichen auf der Geschichte und machen einen Korrekturfaktor in einer anderen Funktion. Und so weiter.

Wenn wir also eine Analogie zur Evolution der lebenden Materie ziehen, gibt es zwei Arten von Mutationen, die Material für die Selektion liefern. Die erste Art sind Punktmutationen, die in der Tat die überwältigende Zahl der Veränderungen im Genom ausmachen. Das Problem ist, dass sie in der Regel zu nichts führen. Aber da dieser Prozess seit Milliarden von Jahren und in riesigen Statistiken abläuft, gibt es immer wieder Glücksfälle. Ich persönlich habe weder eine Million Jahre noch hundert oder auch nur ein Dutzend, um eine dumme Suche durchzuführen.

Die zweite Art von Mutationen ist seltener, aber interessanter, - ist, wenn Rekombination auftritt, auch spontan, aber schon ganz fertige Lösungen. Zum Beispiel bei der Bildung eines neuen sexuellen Organismus kommt es zu einer Vermischung verschiedener Gene von Vater und Mutter. Oder es kommt zum Einbau eines Virus in das Genom. Oder es wird das gesamte Genom eines unabhängigen fremden Organismus übernommen. Oder es kommt zu einer Verschmelzung ganzer Chromosomen zu einer neuen Art (übrigens Hominiden).

Die Aufgabe eines solchen Generators ist es also, solche Funktionen nach einem bestimmten Algorithmus neu zu kombinieren. Nur dann besteht die Chance, dass etwas Neues entsteht.

Indem er den Händler von der Routine befreit, würde ein solcher Generator ihm den kreativen Teil überlassen - die Möglichkeit, sich auf neue Ideen zu konzentrieren. Außerdem verringert die Mechanisierung immer das Risiko der Subjektivität und hilft, sich von Stempeln zu befreien.

 
Youri Tarshecki:

Sie werden in den Details ertrinken. Unter Funktionen verstehe ich ein bestimmtes, im Voraus vorbereitetes, in sich konsistentes Stück Code, das mit Hilfe von Indikatoren oder eigenständig für eine bestimmte Eigenschaft des Expert Advisors verantwortlich ist. D.h. für eine bestimmte Idee.

Zum Beispiel ein Stück, das Fraktale in der Geschichte definiert. Oder ein Teil, das alles zählt, was Sie ihm nicht geben. Oder der Veränderungsraten definiert. Oder Niveaus bestimmen.

Die Aufgabe des Generators besteht darin, diese verschiedenen Teile zu einer einzigen technischen Lösung zu kombinieren. Z.B. zählen wir die Anzahl der Fraktale auf dem Level und je nach Ergebnis priorisieren wir den Kauf oder Verkauf. Oder wir bestimmen die Summe der Beschleunigungen auf der Ebene, vergleichen sie mit der gleichen auf der Geschichte und machen einen Korrekturfaktor in einer anderen Funktion. Und so weiter.

Die Aufgabe eines solchen Generators ist es also, solche Funktionen nach einem bestimmten Algorithmus zu rekombinieren. Nur dann besteht die Chance, dass etwas Neues entsteht

Was ist, wenn ein Teil des Codes (eine Funktion) anbietet zu kaufen und ein anderer zu verkaufen. Wie kann der Generator diese Teile zu einer konsolidierten Lösung zusammenfügen?

Oder nehmen wir an, eine Funktion A glaubt, dass der Preis mit der Wahrscheinlichkeit P(A) fallen wird, und eine andere Funktion B glaubt, dass der Preis mit der Wahrscheinlichkeit P(B) steigen wird, was dann? Sollen wir die Formeln der Wahrscheinlichkeitsrechnung anwenden?

 
Yuriy Asaulenko:
Wenn Sie nach einer Strategie suchen, ist das nicht einfacher. Über den Rest weiß ich nichts, ich habe nicht darüber nachgedacht. Allerdings ist jede Modellierung in speziellen Umgebungen einfacher, nicht in MT. MT ist ein Endprodukt, es ist nicht für die Forschung konzipiert und eignet sich nicht besonders dafür.
Das kommt darauf an. Für mich ist es einfacher, Strategien in MT zu modellieren, und es ist kein Problem, irgendwelche Schätzungsalgorithmen hinzuzufügen.
 
Yuri Evseenkov:

Was ist, wenn ein Teil des Codes (Funktion) den Kauf und ein anderer den Verkauf anbietet. Wie kann der Generator diese Teile zu einer konsolidierten Lösung zusammenfassen?

Oder nehmen wir an, eine Funktion A glaubt, dass der Preis mit der Wahrscheinlichkeit P(A) fallen wird, und eine andere Funktion B glaubt, dass der Preis mit der Wahrscheinlichkeit P(B) steigen wird, was dann? Sollten wir die Formeln der Wahrscheinlichkeitstheorie anwenden?

Soweit ich verstanden habe, benötigen diese Codestücke (Funktionen) analoge Werte am Ausgang, und binäre Werte - Kauf/Verkauf - werden bereits in den Handelsstrategien enthalten sein, die mit Hilfe der genetischen Selektion aus diesen Funktionen kombiniert werden.
 
Youri Tarshecki:

Sie werden in den Details ertrinken. Unter Funktionen verstehe ich ein bestimmtes, im Voraus vorbereitetes, in sich konsistentes Stück Code, das mit Hilfe von Indikatoren oder eigenständig für eine bestimmte Eigenschaft des Expert Advisors verantwortlich ist. D.h. für eine bestimmte Idee.

Zum Beispiel ein Stück, das Fraktale in der Geschichte definiert. Oder ein Teil, das alles zählt, was Sie ihm nicht geben. Oder der Veränderungsraten definiert. Oder Niveaus bestimmen.

Die Aufgabe des Generators besteht darin, diese verschiedenen Teile zu einer einzigen technischen Lösung zu kombinieren. Zum Beispiel zählen wir die Anzahl der Fraktale auf dem Level und je nach Ergebnis priorisieren wir den Kauf oder Verkauf. Oder wir bestimmen die Summe der Beschleunigungen auf der Ebene, vergleichen sie mit der gleichen auf der Geschichte und machen einen Korrekturfaktor in einer anderen Funktion. Und so weiter.

Wenn wir also eine Analogie zur Evolution der lebenden Materie ziehen, gibt es zwei Arten von Mutationen, die Material für die Selektion liefern. Die erste Art sind Punktmutationen, die in der Tat die überwältigende Zahl der Veränderungen im Genom ausmachen. Das Problem ist, dass sie in der Regel zu nichts führen. Aber da dieser Prozess seit Milliarden von Jahren und in riesigen Statistiken abläuft, gibt es immer wieder Glücksfälle. Ich persönlich habe weder eine Million Jahre noch hundert oder auch nur ein Dutzend, um eine dumme Suche durchzuführen.

Die zweite Art von Mutationen ist seltener, aber interessanter, - ist, wenn Rekombination auftritt, auch spontan, aber schon ganz fertige Lösungen. Zum Beispiel bei der Bildung eines neuen sexuellen Organismus kommt es zu einer Vermischung verschiedener Gene von Vater und Mutter. Oder es kommt zum Einbau eines Virus in das Genom. Oder es wird das gesamte Genom eines unabhängigen fremden Organismus übernommen. Oder es kommt zu einer Verschmelzung ganzer Chromosomen zu einer neuen Art (übrigens Hominiden).

Die Aufgabe eines solchen Generators ist es also, solche Funktionen nach einem bestimmten Algorithmus neu zu kombinieren. Nur dann besteht die Chance, dass etwas Neues entsteht.

Indem er den Händler von der Routine befreit, würde ein solcher Generator ihm den kreativen Teil überlassen - die Möglichkeit, sich auf neue Ideen zu konzentrieren. Außerdem verringert die Mechanisierung immer das Risiko der Subjektivität, hilft, sich von Stempeln zu befreien.

Es gibt in der Tat eine Menge Kleinigkeiten.

Ich versuche, ein universelles System zu schaffen, so dass ich mit minimalem Aufwand verschiedene Möglichkeiten der Analyse von Indikatoren, Candlesticks usw. hinzufügen kann. Jede Funktion hat Informationen darüber, mit welchen Daten sie arbeiten kann und welche Daten ausgegeben werden. Auch die Indikatoren werden beschrieben, welche Art von Daten sie liefern. Die Daten werden in einfache und komplexe Typen eingeteilt, z.B. {double} und {int,double}. Sie werden in Kategorien eingeteilt, z.B. "Preis" und "Positionen auf dem Chart", ein anderes Beispiel: "Gerade" (kann zur Definition von Kanälen verwendet werden), usw. Sie werden nach "Skalentyp" eingeteilt. Unterteilt nach "Skalentyp", z.B. "Konstant" (Strategieparameter), "Index" (es gibt ein Minimum und ein Maximum), "Verhältnis" (es gibt nur einen Bezugspunkt, z.B. Preis, Volumen), usw. Es ist notwendig, die Strategie auf konsistente Weise zu modifizieren, es gibt eine solche Nuance, die Modifikation an einer Stelle kann die Bedingungen der Modifikation an einer anderen Stelle beeinflussen.

Das ist richtig... Um die Anzahl der Kombinationen der Suche zu reduzieren und die oben genannten Einschränkungen (Typ, Skala, Kategorie), für jetzt wird es genug und Punktänderungen (Hinzufügen / Entfernen von einem / wenige Funktionen) sein.

"Rekombination ist auch spontan, aber von ganz fertigen Lösungen" - dieser Gedanke kam mir in den Sinn), ist es schwer vorstellbar, wie sie realisiert werden kann. Eine Gruppe von kombinierten Funktionen wird wahrscheinlich mehr Verbindungen zur "Außenwelt" haben als eine einzelne Funktion, so dass es weniger Möglichkeiten gibt, alles einzuklemmen. Der Algorithmus wird sehr kompliziert, verschieben wir ihn auf bessere Zeiten)).