Erstellung eines Python-Handelssystems für MT. - Seite 10

 
Yuriy Asaulenko:

Ich beschäftige mich nicht mit der Optimierung und allen möglichen Arten von Parameteranpassung und -auswahl. Eine andere Methodik, aber Sie benötigen eine Umgebung wie MatLab, R, SciLab usw. Python ist genau so gut.

Ich brauche auch keine 10^6 Balken. Für alles - etwa 6, maximal 9 Monate auf Minuten ist genug. Jetzt ist der Test 3 Monate -2,5 m, obwohl das System noch nicht so kompliziert ist.

Am längsten dauert es, ML zu lernen, aber es gibt nichts Besseres als Python, und hier nur als Skriptsprache. Nehmen wir an, die Reaktion eines neuronalen Netzes mit 5 Schichten und etwa 60 Neuronen beträgt 3-5 ms.

Bislang sehe ich keine wirkliche Bestätigung für die Panikmache.

Nein, ich versuche in keiner Weise zu erschrecken oder gar die Farben zu verdicken, die Tatsache, dass Sie selbst die ganze analytische Infrastruktur schreiben ist schon - super!

Du tust das Richtige, ich denke nur laut darüber nach, was ich selbst erlebt habe und darüber gestolpert bin, wenn es dir nichts ausmacht, werde ich dir nicht im Weg stehen))

 
pantural:

Nein, ich will keine Angst machen oder gar übertreiben, allein die Tatsache, dass Sie die gesamte analytische Infrastruktur selbst schreiben, ist super!

Sie machen das gut, ich denke nur laut über das nach, was ich selbst erlebt habe und worüber ich gestolpert bin, wenn Sie nichts dagegen haben, dass ich aus dem Weg gehe)).

Ja, es ist in Ordnung, sich mitzuteilen. Unterschiedliche Meinungen sind in Ordnung. Gegner sind immer gut).

 
Yuriy Asaulenko:

Ja, wir kommunizieren ganz normal. Unterschiedliche Meinungen sind in Ordnung. Gegner sind immer gut.)

Ja. Nun denn, was kann man nach der Lektüre von https://c.mql5.com/3/236/Public.zip noch sagen...

Ich würde mir durchaus Struktur und Klarheit wünschen, solange der Python nach dem Prinzip "Teile und herrsche" arbeitet.

Als Minimum brauchen wir eine klare Trennung in so etwas wie "Schnittstellen" von Dateneinspeisungsmodulen, deren (Dateneinspeisungs-)Analyse/Prognose, Ausführung und Analyse von Handelsergebnissen, idealerweise sollten diese Module unabhängig sein.

Abstrahiert man von den Details, so sollte es im Wesentlichen mindestens vier komplexe Objekte geben: Daten, Modelle dieser Daten, Implementierung (Ausführung) von Modellen auf dem Markt und das Objekt der Bewertung dieser Tätigkeit.

Im einfachsten Fall handelt es sich bei dem Feed einfach um eine Reihe von Candlesticks. Die einzige Raffinesse bei der Arbeit mit einem solchen Feed besteht darin, die Modelle/Ausführungs-/Schätzungsmodule zuverlässig vor einem Blick in die Zukunft zu schützen. Es handelt sich um eine Interpretation der Prognosen in ein Handelssignal und dessen Leerlauf/Realausführung, z.B. beim Überschreiten einiger Niveaus des Prognosemoduls, usw. Und Schätzung ist "Testen", eigentlich ist der Tester nur ein Leerlauf durch die gesamte Datafeed-Serie, technisch ist es besser, mit dem aktuellen Stand des Marktes zu arbeiten, Modell/Ausführung/Schätzungsmodule wie in der Realität, aber es ist viel langsamer als die Ausgabe von Signalen für die gesamte Serie und dann laufen sie separat im Tester, aber es gibt eine große Gefahr, die Zukunft auszuspionieren und unrealistische Ergebnisse zu erhalten.


PS: Jetzt werden alle Gurus des Forex auf mich werfen, aber ich muss sagen, dass im Algotrading Stoplots und Trailing Stops - eine schädliche Technologie, sie sind nur für den manuellen, episodischen Handel, in dem Fall, wenn Sie eine Position für eine glückliche Chance zu öffnen und gehen Sie auf ein Picknick, und wenn die KI überwacht kontinuierlich den Markt, dann handeln Sie in Abhängigkeit von Ihrem lokalen Drawdown macht keinen Sinn, keine Abhängigkeit von der zukünftigen Marktbewegung auf diese überhaupt und Entscheidungen der KI sollte nicht auf dieser Grundlage getroffen werden.

 
pantural:

GUT. Nun denn, was kann man nach der Lektüre von https://c.mql5.com/3/236/Public.zip noch sagen?

Sie greifen die Öffentlichkeit vergeblich an. Es ist nur eine einfache Strategievorlage mit einer einfachen Strategie auf 2 MAs, Trailing Stop und Tester. Sie sollte einen einfachen Code haben, den jeder verstehen kann, und nichts Überflüssiges. Außerdem besteht die Möglichkeit, mit Indikatorstrategien zu experimentieren. Und wenn jemand beginnt, Strategien in Python zu modellieren, kann diese Vorlage nach Bedarf bearbeitet und weiterentwickelt werden.

Ursprünglich war es als Prüfstand für die Erprobung verschiedener Module des Systems und für weitere Veröffentlichungen zu diesem Thema gedacht. Auf jeden Fall ist es nicht so, wie Sie es sich vorstellen. Alles in allem ist es nicht das, wonach es aussieht.

 
pantural:

PS Übrigens, wie kommen Sie darauf, dass Ihr Prüfgerät richtig funktioniert? Das Prüfgerät ist eine knifflige Sache....

pantural:

"Testen", im Grunde ist der Tester nur ein Leerlauf durch die ganze Datafeed-Reihe, technisch ist es richtiger, mit dem aktuellen Stand des Marktes zu arbeiten, Modell/Ausführung/Schätzungsmodule wie in der Realität, aber das wird deutlich langsamer sein, als wenn man sofort Signale für die ganze Reihe gibt und sie dann separat im Tester laufen lässt, aber so besteht die große Gefahr, die Zukunft auszuspähen und unrealistische Ergebnisse zu bekommen.

Dies ist eine interessante Frage. Es ist auch deshalb interessant, weil das Forum bereits Legenden über Wunder der Prüfung produziert). Deshalb brauchen wir eigentlich einen eigenen Tester, den wir vollständig kontrollieren können.

Was ist ein Tester - es ist nur eine Schleife, die die Strategie über die Anzahl einer Kerze (oder die Anzahl von etwas anderem, z.B. einem Tick) informieren soll, mit der der Tester arbeiten muss. Darüber hinaus sammelt der Tester Daten über den Zustand der Strategie und systematisiert sie in gewisser Weise im Archiv für die weitere Verarbeitung durch den Benutzer. Das ist alles. Wovor sollte man sich fürchten? Auch wenn der Prüfer sich sehr anstrengt, kann er nichts tun).

Es kann nur einen Grund dafür geben, dass das Testen heimtückisch ist - die Strategie selbst funktioniert im wirklichen Leben mit anderen Datentypen als beim Testen. Zum Beispiel mit Ticks anstelle von Kerzenstäben. Und ein lustiges Leben ist für uns garantiert.

Solange wir in einer Strategie nur Open oder nur Close verwenden und sofern nur dies und nichts anderes im realen Handel verwendet wird, besteht keine Gefahr (natürlich nur, wenn keine offensichtlichen Fehler vorliegen). Aber sobald wir versuchen, OHLCV in Tests einzusetzen, haben wir viele Möglichkeiten, in die Zukunft zu schauen. Erstens hat HL keine Zeitstempel, und zweitens kann sich der Preis innerhalb einer Kerze beliebig verhalten, und jegliche Annahmen über das Preisverhalten können nur zu Verzerrungen im Test führen.

Bei dieser Art von Analyse sind unsere Möglichkeiten sehr begrenzt, und wir können die OHLCV-Informationen nur zu Beginn der nächsten Kerze verwenden. Fast alles, was wir ohne Risiko tun können, ist, den Handel zu schließen, wenn der Kurs in der aktuellen Kerze unter den Stop fällt. Der Stopp sollte sich dabei natürlich nicht auf dem aktuellen Balken ändern.

ZS ich nehme an, dass dies der richtige Zeitpunkt ist, um über Zeckentests zu sprechen). Ich verwende keine Ticks bei Tests und bin der Meinung, dass die Analyse von Ticks mit dem Versuch vergleichbar ist, die Flugbahn und die Bewegungsparameter eines Flugzeugs zu berechnen, indem man seine Rumpfvibrationen und Flugbahnschwankungen misst.

 
Ich hatte meine eigenen Tester zu machen, ist es nicht eine Auswahl von Parametern, obwohl es sich darauf auswirkt, aber die Schaffung von Strategie in Form der Definition von Entry / Exit-Bedingungen, die Berechnung von TP / SL, die resultierende Strategie ist nicht eine "Black Box". Das Thema "Blick in die Zukunft" wird sehr gründlich angegangen, es ist eines der wichtigsten Themen, der Prüfer findet in den Daten Informationen über die Zukunft, wenn sie vorhanden sind.
 
Yuriy Asaulenko:

Eine interessante Frage. Es ist auch deshalb interessant, weil es in diesem Forum bereits Legenden über die Wunder des Testens gibt). Deshalb brauchen wir eigentlich einen eigenen Tester, den wir vollständig kontrollieren können.

Was ist ein Tester - es ist nur eine Schleife, die die Strategie über die Anzahl der Kerzen (oder die Anzahl von etwas anderem, z.B. einem Tick) informieren soll, mit der der Tester arbeiten muss. Darüber hinaus sammelt der Tester Daten über den Zustand der Strategie und systematisiert sie in gewisser Weise im Archiv für die weitere Verarbeitung durch den Benutzer. Das ist alles. Wovor sollte man sich fürchten? Auch wenn der Prüfer sich sehr anstrengt, kann er nichts tun).

Es kann nur einen Grund dafür geben, dass das Testen heimtückisch ist - die Strategie selbst funktioniert im wirklichen Leben mit anderen Datentypen als beim Testen. Zum Beispiel mit Ticks anstelle von Kerzenstäben. Und ein lustiges Leben ist für uns garantiert.

Solange wir in einer Strategie nur Open oder nur Close verwenden und sofern wir im realen Handel nur dies und nichts anderes verwenden, sind wir nicht in Gefahr (natürlich nur, wenn es keine offensichtlichen Fehler gibt). Aber sobald wir versuchen, OHLCV in Tests einzusetzen, haben wir viele Möglichkeiten, in die Zukunft zu schauen. Erstens hat HL keine Zeitstempel, und zweitens kann sich der Preis innerhalb einer Kerze beliebig verhalten, und jegliche Annahmen über das Preisverhalten können nur zu Verzerrungen im Test führen.

Bei dieser Art von Analyse sind unsere Möglichkeiten sehr begrenzt, und wir können die OHLCV-Informationen nur zu Beginn der nächsten Kerze verwenden. Fast alles, was wir ohne Risiko tun können, ist, den Handel zu schließen, wenn der Kurs in der aktuellen Kerze unter den Stop fällt. Der Stopp sollte sich dabei natürlich nicht auf dem aktuellen Balken ändern.

ZS ich nehme an, dass dies der richtige Zeitpunkt ist, um über Zeckentests zu sprechen). Ich verwende keine Ticks bei der Prüfung und bin der Meinung, dass die Tick-Analyse dem Versuch entspricht, die Flugbahn und die Bewegungsparameter eines Flugzeugs durch Messung der Rumpfvibrationen und Flugbahnschwankungen zu berechnen.

Ich stimme mit vielen, der Tester braucht seine eigene, transparent und schnell, der Algorithmus selbst im einfachen Fall (wenn nur Märkte auf der besten (bid, sask)) ist etwa 10 Zeilen Code, aber auch in ihm können Sie schießen sich in den Fuß. Nun, zum Beispiel, wenn Sie die "Instant Execution", das heißt, um das Geschäft zum Zeitpunkt des Signals zu berechnen, so geschieht es, wenn ein Mann nahm eine Kerze, zum Beispiel, ein Klos und nahm dann aus dieser Serie, die nibuya Unterschiede mashah und dann wiederum auf klos (Geld oder Brief) geöffnet / geschlossen ein Geschäft zum Zeitpunkt des Signals, wird dieser Fehler geben ein etwas positiveres Ergebnis als die reale, wird es nicht offensichtlich sein. Andererseits, wenn wir die nächste Kerze nehmen, um auf dem vorherigen Signal zu handeln, wird das Ergebnis deutlich negativer als das reale sein. Klassischerweise wird das Signal auf Optionen betrachtet, und der Handel basiert auf den Verlangsamungen der gleichen Kerze, aber es ist auch nicht sehr gut, die Praxis zeigt, dass die Signale besser auf Optionen sind, und Transaktionen sollten durch den Mittelwert (H+L+C)/3 verarbeitet werden, obwohl einige Leute sie geschickter mischen.

Übrigens ist alles sehr seriös und akzeptabel, wenn sie in "Tick-Candlesticks" verpackt sind, d.h. Candlestick-Strukturen, die Ticks enthalten, die zwischen Open und Close verstrichen sind, der Indikator kann nach Ticks berechnet und nach Ticks innerhalb eines Candlesticks ausgeführt werden, obwohl das IMHO nicht viel Sinn hat, die Ergebnisse werden ziemlich ähnlich sein.

Aber mit dem Glas gibt es mehr Schwierigkeiten und Unklarheiten, zum Glück betrifft es nur diejenigen, die die Summen benutzen, die dieses Glas stark austrocknen können und so ist es ohne das Glas möglich.

 
pantural:

Ich stimme mit vielen Dingen, die Tester braucht seine eigene, transparent und schnell, der Algorithmus selbst in einem einfachen Fall (wenn nur Märkte auf der besten (bid, ask)) ist etwa 10 Zeilen Code, aber auch in ihm können Sie schießen sich in den Fuß. Nun, zum Beispiel, wenn Sie die "Instant Execution", das heißt, um die Transaktion zum Zeitpunkt des Signals zu berechnen, passiert es, wenn ein Mann nahm eine Kerze, zum Beispiel ein Klos und nahm dann aus dieser Serie, die nibuya Unterschiede mashah und dann wiederum auf klos (Geld oder Brief) geöffnet / geschlossen ein Geschäft zum Zeitpunkt des Signals, wird dieser Fehler geben ein etwas positiveres Ergebnis als die reale, wird es nicht offensichtlich sein. Andererseits, wenn wir die nächste Kerze nehmen, um auf dem vorherigen Signal zu handeln, wird das Ergebnis deutlich negativer als das reale sein. Klassischerweise wird das Signal auf Optionen betrachtet, und der Handel basiert auf den Verlangsamungen der gleichen Kerze, aber es ist auch nicht sehr gut, die Praxis zeigt, dass die Signale besser auf Optionen sind, und Transaktionen sollten durch den Mittelwert (H+L+C)/3 verarbeitet werden, obwohl einige Leute sie geschickter mischen.

Übrigens ist alles sehr respektabel und akzeptabel, wenn sie in "Tick-Candlesticks" verpackt sind, d.h. Candlestick-Strukturen, die Ticks enthalten, die zwischen Open und Close vergangen sind, der Indikator kann nach Ticks berechnet und nach Ticks innerhalb eines Candlesticks ausgeführt werden, obwohl es IMHO nicht viel Sinn macht, die Ergebnisse werden ziemlich ähnlich sein.

Aber mit dem Glas gibt es mehr Schwierigkeiten und Unklarheiten, zum Glück betrifft es nur diejenigen, die die Summen benutzen, die dieses Glas stark austrocknen können und so ist es ohne das Glas möglich.

Wissen Sie, ich habe mich irgendwie in Sie verliebt. Wie klar Sie geschrieben haben, was Sie nicht tun müssen. Und viele Leute tun es. Sie verstehen es nicht. Kein Wunder, dass du blockiert wurdest. Oh, das ist so seltsam.
 

) Im Allgemeinen handelt es sich um eine tiefgreifende Modernisierung des klassischen stochastischen Oszillators, aber trotz gemeinsamer Gene hat der Nachkomme nur sehr wenig mit dem klassischen stochastischen Oszillator gemein. Die Mathematik ist völlig anders, aber die äußere Ähnlichkeit ist offensichtlich.

Bislang wurde der Indikator nur in Python implementiert. Er dient dazu, den Zeitpunkt des Geschäftsabschlusses zu bestimmen und ist Teil des Unterstützungsmechanismus. Die Abbildung zeigt bereits, dass sie dies gut und rechtzeitig tut.

Natürlich ist der Indikator nicht zur alleinigen Verwendung gedacht, sondern nur in Symbiose mit anderen Methoden und Indikatoren.

Ich denke, dass ich den Indikator vielleicht in MQL einfügen und in den Markt stellen sollte.

 

Diejenigen, die das Thema Von der Theorie zur Praxis gelesen haben, wissen bereits, dass mein System und das System von A_K2 in etwa auf der gleichen Ideologie aufgebaut sind - Kanalarbeit. Der einzige Unterschied ist, dass meiner vor einem Jahr gebaut wurde. Ich habe schon einmal geschrieben, dass diese Strategie jetzt in Python implementiert und getestet ist, mit einigen kleinen Änderungen, aber es hat keinen Sinn, sie zu starten - es wird nichts Neues erwartet.

Da ich keine besonderen Ideen hatte, habe ich alle möglichen Indikatoren entwickelt - einen davon finden Sie in dem obigen Beitrag. Ich habe etwa zehn davon gemacht. Daher habe ich mich entschlossen, Igel mit Igel zu kreuzen: die Arbeit im Kanal mit der Trendfolge in einem einheitlichen System zu kombinieren. Ich habe es noch nicht als Ganzes ausprobiert, aber ich habe einige Elemente geübt. Alles scheint zu passen, aber ich habe noch einige Fragen. Ich kann nicht sagen, was in der Praxis herauskommen wird, vielleicht gar nichts. Warten wir es ab.