
Von Python zu MQL5: Eine Reise in quanteninspirierte Handelssysteme
Einführung
In dieser gründlichen Untersuchung von quanteninspirierten Handelssystemen werden wir uns auf eine Reise begeben, die theoretische Ideen des Quantencomputings mit realen Handelsanwendungen verbindet. Dieses Tutorial beginnt mit grundlegenden Ideen zum Quantencomputing und endet mit einer realen MQL5-Implementierung. Es soll Sie durch den gesamten Entwicklungsprozess führen. Wir werden erörtern, wie der Handel von der Verwendung von Quantenkonzepten profitieren kann, unseren Entwicklungsansatz vom Python-Prototyp bis zur Integration von MQL5 beschreiben und reale Leistungsdaten und Code-Implementierungen vorstellen.
Dieser Artikel untersucht die Anwendung von durch Quanten inspirierten Konzepten in Handelssystemen und schlägt eine Brücke zwischen theoretischem Quantencomputing und der praktischen Umsetzung in MQL5. Wir führen Sie in die wesentlichen Quantum-Prinzipien ein und leiten Sie vom Python-Prototyping bis zur MQL5-Integration an, mit realen Leistungsdaten.
Im Gegensatz zum traditionellen Handel, der sich auf binäre Entscheidungen stützt, machen sich quanteninspirierte Handelsmodelle das Marktverhalten zunutze, das Quantenphänomenen ähnelt - mehrere gleichzeitige Zustände, Verbindungen und abrupte Zustandswechsel. Durch den Einsatz von Quantensimulatoren wie Qiskit können wir von Quanten inspirierte Algorithmen auf klassischen Computern anwenden, um mit Marktunsicherheiten umzugehen und vorausschauende Erkenntnisse zu gewinnen.
Für Händler und Entwickler, die quanteninspirierte Systeme einsetzen wollen, ist es wichtig, diese Unterschiede zu verstehen.
In unserer Python-Implementierung simuliert Qiskit Quantenschaltungen. Die Marktdaten werden mit Hilfe von RY-Gattern (Rotationsgattern) in Quantenzustände kodiert, die Marktmerkmale als Quantenüberlagerungen darstellen. CNOT-Gates ermöglichen die Verschränkung, die Erfassung komplexer Marktkorrelationen, und Messungen liefern Prognosen, die eine Genauigkeit von 54 % erreichen.
Die MQL5-Version nähert sich aufgrund ihrer klassischen Architektur dem Quantenverhalten an. Wir verwenden Merkmalsextraktion und klassische Mathematik, um Quantenzustände und Verschränkung zu simulieren. Die MQL5-Implementierung ist zwar weniger genau (52 %), unterstützt aber den Echtzeithandel und die direkte Anbindung an den Markt.
Jeder Ansatz verarbeitet Daten anders: Python kodiert Daten direkt in Quantenzustände, während MQL5 ein Feature Engineering erfordert. Qiskit von Python bietet echte Quantengatter, während MQL5 auf klassischen Näherungen beruht, was die Komplexität, aber auch die Flexibilität erhöht. Bei der Simulation der Verschränkung erzeugen die CNOT-Gatter von Python echte Quantenverbindungen, während MQL5 klassische Korrelationen verwendet.
Diese Unterscheidungen zeigen die Stärken und Grenzen der einzelnen Ansätze auf. Python stellt einen starken Prototyp dar, während MQL5 eine praktische, handelbare Lösung bietet, die quanteninspirierte Berechnungen an klassische Handelsbeschränkungen anpasst.
Der Python-Prototyp: Eine Grundlage für Innovation
Wir begannen mit Python aufgrund seiner robusten wissenschaftlichen Bibliotheken - NumPy, Pandas und vor allem Qiskit - die sich ideal für die Erstellung von Prototypen für unser von Quanten inspiriertes Handelssystem eigneten. Die einfache Syntax und die Ressourcen von Python ermöglichten effiziente Experimente und die Entwicklung erster Algorithmen.
Der Python-Prototyp erzielte unter verschiedenen Marktbedingungen eine konstante Erfolgsquote von 54 % - ein bescheidener, aber bedeutender Vorteil bei einem soliden Risikomanagement.
Mit Qiskit haben wir eine Drei-Qubit-Architektur entwickelt und getestet, die die gleichzeitige Analyse von acht Marktzuständen ermöglicht. Die Flexibilität von Python ermöglichte schnelle Schaltkreisanpassungen, Parameterabstimmung und schnelle Ergebnisse, was unseren Entwicklungsprozess erleichterte.
Hier ist ein vereinfachtes Beispiel für die Implementierung unserer Quantenschaltung in Python:
class HourlyQuantumForex: def __init__(self): self.n_qubits = 3 self.simulator = BasicAer.get_backend('qasm_simulator') self.min_confidence = 0.15 def create_circuit(self, input_data): qc = QuantumCircuit(self.n_qubits, self.n_qubits) # Input encoding for i in range(self.n_qubits): feature_idx = i % len(input_data) angle = np.clip(np.pi * input_data[feature_idx], -2*np.pi, 2*np.pi) qc.ry(angle, i) # Entanglement operations for i in range(self.n_qubits - 1): qc.cx(i, i + 1) return qc
Umstellung auf MQL5: Praktische Umsetzung
Praktische Faktoren haben uns dazu bewogen, unser quanteninspiriertes System auf MQL5 zu übertragen. MQL5 bietet direkte Interaktion mit Handelsplattformen, Echtzeit-Zugriff auf Marktdaten und schnelle Ausführungsmöglichkeiten, obwohl Python beim Prototyping und Testen überlegen war. Die Schwierigkeit bestand darin, die Prinzipien des Quantencomputings in den konventionellen Rechenrahmen von MQL5 zu integrieren und gleichzeitig die Vorhersagekraft des Systems zu erhalten.
Die Schwierigkeiten bei der Analyse von Echtzeit-Marktdaten und die Unterschiede in der Implementierung zwischen dem Quantensimulator von Python und der konventionellen Rechenumgebung von MQL5 sind die Gründe für diesen geringen Rückgang der Genauigkeit (54 gegenüber 51-52 %).
Hier ist ein Blick auf unsere von Quanten inspirierte MQL5-Implementierung:
class CQuantumForex { private: int m_lookback_bars; double m_features[]; public: double PredictNextMove(string symbol) { GetFeatures(symbol, m_features); return SimulateQuantumCircuit(m_features); } double SimulateQuantumCircuit(double &features[]) { // Quantum-inspired calculations double state_probs[]; ArrayResize(state_probs, (int)MathPow(2.0, (double)NUM_QUBITS)); // Circuit simulation logic for(int shot = 0; shot < SHOTS; shot++) { // Quantum state manipulation } return GetWeightedVote(state_probs); } };
Praktische Anwendung und Ergebnisse
Die praktische Anwendung unseres quanteninspirierten Systems zeigte eine Reihe faszinierender Trends bei der Marktprognose. In Zeiten erheblicher Marktvolatilität, in denen die konventionelle technische Analyse häufig versagt, hat dieser Ansatz seine außergewöhnliche Stärke bewiesen. Dieser Vorteil ergibt sich aus der Fähigkeit der quanteninspirierten Methode, mehrere Marktzustände gleichzeitig zu verarbeiten. Die folgenden Ergebnisse stammen aus unseren Tests unter verschiedenen Marktbedingungen:
- Beim Live-Handel zeigt sich die Verlässlichkeit des Modells in der Praxis, da es unter verschiedenen Marktbedingungen konstant gute Ergebnisse erzielte.
- Darüber hinaus konnten wir feststellen, dass die Genauigkeit des Modells während bestimmter Marktzeiten erheblich zunahm. Indem wir uns auf diese Zeiten konzentrieren, können wir die Vorteile einer größeren Vorhersehbarkeit nutzen und die Gesamteffizienz unseres Handelsansatzes verbessern.
- In Zeiten extremer Volatilität verbesserte sich die Leistung des Modells merklich. Die potenzielle Rentabilität des Modells hat sich erhöht, da wir in der Lage sind, uns in einem volatilen Umfeld anzupassen und besser abzuschneiden, sodass wir von stärkeren Preisschwankungen profitieren können.
- Um schließlich Transaktionen mit geringer Wahrscheinlichkeit effizient auszuschließen, haben wir Konfidenzniveaus verwendet. Indem wir uns auf Signale mit hohem Vertrauen konzentrierten, half uns diese selektive Strategie, unnötige Risiken zu verringern, was die Handelsergebnisse noch weiter verbesserte.
Leistungsmetriken und Analyse
Eine gründliche Untersuchung des Leistungsunterschieds zwischen unserem Python-Prototyp und der MQL5-Implementierung ist gerechtfertigt. Dieser Unterschied spiegelt die Schwierigkeiten beim Übergang von einer kontrollierten Testumgebung zu Echtzeit-Marktbedingungen wider und ist nicht nur eine Einschränkung der MQL5-Plattform. Die MQL5-Lösung bewältigt die Feinheiten der Echtzeit-Marktdynamik und die Einschränkungen bei der Datenverarbeitung, während der Python-Prototyp mit historischen Daten arbeitete und über vollständige Kenntnisse der Marktbedingungen verfügte. Resultados para EURUSD=X: Precisión global: 54.23% Total predicciones: 11544
Die MQL5-Implementierung hat eine Reihe von nützlichen Vorteilen, die sie für reale Handelsanwendungen lohnenswert machen, selbst mit diesem kleinen Genauigkeitsverlust. Mit dem Python-Prototyp allein wären die Händler nicht in der Lage, aus der Echtzeitverarbeitung der Marktdaten und den sofortigen Handelssignalen des Systems verwertbare Erkenntnisse zu gewinnen.
Die Integration von MQH: Eine nützliche Methode
Unsere quanteninspirierte Handelslogik ist leicht in aktuelle Expert Advisors integrierbar, da sie in einer MQL5-Header-Datei (MQH) enthalten ist. Dank dieses modularen Ansatzes können Händler quanteninspirierte Prognosen in ihre Handelsmethoden einbeziehen, ohne ihr Handelssystem komplett neu gestalten zu müssen. Die MQH-Datei enthält umfassende Funktionen für die Analyse des Marktzustands, Vertrauenskriterien und eine detaillierte Leistungsverfolgung. Die MQH-Datei kann auf folgende Weise in einen bereits bestehenden EA eingebunden werden:
#include <Trade\Trade.mqh> #include <Quantum\QuantumForex.mqh> class CTradeAnalyzer { private: CQuantumForex* m_quantum; double m_min_confidence; public: CTradeAnalyzer(double min_confidence = 0.15) { m_quantum = new CQuantumForex(); m_min_confidence = min_confidence; } bool AnalyzeMarket(string symbol) { double prediction = m_quantum.PredictNextMove(symbol); return MathAbs(prediction) >= m_min_confidence; } };
Optimierung und Feinabstimmung
Eine Reihe entscheidender Elemente des quanteninspirierten Handelssystems kann an bestimmte Handelsbedingungen und -instrumente angepasst werden. Die Anzahl der in den Simulationen verwendeten Qubits, die Parameter für das Feature-Engineering, die Konfidenzschwellen für das Filtern von Handelsgeschäfte und die Anzahl der Quantenschaltungssimulationen sind allesamt wichtige konfigurierbare Optionen. Auch wenn unsere erste Konfiguration zu konsistenten Ergebnissen geführt hat, gibt es noch viel Raum für Verbesserungen durch sorgfältige Parameteroptimierung. Da die idealen Einstellungen je nach persönlichen Handelspräferenzen und Marktbedingungen unterschiedlich sind, überlassen wir es den Lesern, diese auszuprobieren. Zukünftige Wege und Fortschritte Dieser Ansatz ist nur der erste Schritt zu Handelsanwendungen, die von der Quantenmechanik inspiriert sind. In den nächsten Beiträgen werden wir uns mit komplexeren Ideen der Quanteninformatik und ihren möglichen Anwendungen im Handel befassen. Höherdimensionale Quantenschaltkreise für eine gründlichere Marktanalyse, die Einbeziehung von Optimierungsalgorithmen, die von der Quantentheorie inspiriert sind, ein ausgeklügeltes, auf der Quantentheorie basierendes Feature-Engineering und die Schaffung hybrider klassisch-quantischer Handelssysteme sind einige Bereiche, die weiterer Forschung bedürfen. Ein Leitfaden für die praktische Umsetzung Wir raten Händlern, die an der Anwendung dieser Methode interessiert sind, einen methodischen Ansatz zu wählen. Beginnen Sie mit dem Python-Prototyp, um die Anwendbarkeit des Systems auf Ihrem Zielmarkt zu bewerten und sich mit den grundlegenden Quantenideen vertraut zu machen. Danach stellen Sie schrittweise auf die MQL5-Implementierung um und beginnen mit dem Papierhandel, um zu prüfen, wie gut sie funktioniert. Wenn Sie sich sicher fühlen, passen Sie die Einstellungen des Systems an Ihre eigenen Handelsbedürfnisse und Ihre Risikobereitschaft an. Im Laufe der Zeit wird die Zuverlässigkeit durch regelmäßige Überwachung der Leistungskennzahlen verbessert.
// Constants #define NUM_QUBITS 3
Wenn Sie die Anzahl der Qubits (NUM_QUBITS) ändern, ändert sich die Anzahl der möglichen Ausgangszustände exponentiell. Dies ist eine grundlegende Eigenschaft von Quantensystemen und hat erhebliche Auswirkungen auf die Simulation.
Im aktuellen Code ist NUM_QUBITS auf 3 gesetzt, was zu 8 (2³) möglichen Zuständen führt. Aus diesem Grund wird das Zustandsarray mit der Größe 8 initialisiert und in Schleifen durch 8 mögliche Zustände iteriert. Jedes Qubit existiert in einer Überlagerung von 0 und 1, und wenn es mit anderen Qubits kombiniert wird, vervielfacht sich die Zahl der möglichen Zustände.
Wenn man zum Beispiel die Anzahl der Qubits ändert, erhält man eine unterschiedliche Anzahl möglicher Zustände: 1 Qubit ergibt 2 Zustände (|0⟩ und |1⟩), 2 Qubits ergeben 4 Zustände (|00⟩, |01⟩, |10⟩, |11⟩), 3 Qubits ergeben 8 Zustände, 4 Qubits ergeben 16 Zustände, und so weiter. Das Muster folgt 2^n, wobei n die Anzahl der Qubits ist.
Diese exponentielle Beziehung betrifft mehrere Teile des Codes. Die Größe der Zustandsarrays muss entsprechend angepasst werden, die Quantenschaltungssimulationsschleifen müssen mehr Zustände verarbeiten, und der Speicherbedarf steigt erheblich. Wenn Sie z. B. NUM_QUBITS von 3 auf 4 erhöhen, müssen Sie die Array-Größen und Schleifengrenzen von 8 auf 16 ändern.
Die Erhöhung der Anzahl der Qubits bietet zwar eine größere Rechenkapazität und potenziell ausgefeiltere Analysemöglichkeiten, ist aber mit Kompromissen verbunden. Die Simulation wird rechenintensiver, benötigt mehr Speicherplatz und braucht länger für die Verarbeitung. Dies kann die Leistung des Expert Advisors beeinträchtigen, insbesondere wenn er auf weniger leistungsfähiger Hardware läuft oder wenn eine schnelle Ausführung für den Echtzeithandel erforderlich ist.
Im Zusammenhang mit diesem Handelsalgorithmus könnten mehr Qubits eine komplexere Merkmalskodierung und möglicherweise nuanciertere Vorhersagen von Kursbewegungen ermöglichen. Sie müssen jedoch diesen potenziellen Vorteil gegen den erhöhten Rechenaufwand abwägen und sicherstellen, dass das System für reale Handelsanwendungen praktikabel bleibt.
#define SHOTS 2000
Shots (im Code als SHOTS = 2000 definiert) stellen die Anzahl der Simulationen des Quantenschaltkreises dar, um das Quantenverhalten zu approximieren. Bei jedem „shot“ (Schnappschuss) wird der gesamte Quantenschaltkreis durchlaufen und eine Messung durchgeführt, wobei eine statistische Verteilung der Ergebnisse erstellt wird.
Das Konzept ist vergleichbar mit dem mehrfachen Würfeln eines Würfels, um seine Wahrscheinlichkeitsverteilung zu verstehen. In der Quanteninformatik:
// Simulation loop in the code for(int shot = 0; shot < SHOTS; shot++) { // Initialize quantum state double state[8]; ArrayInitialize(state, 0.0); state[0] = 1.0; // Start in |000⟩ state // Run quantum circuit operations... // Measure and accumulate results const double rand = MathRand() / 32768.0; double cumsum = 0.0; for(int i = 0; i < 8; i++) { cumsum += state[i] * state[i]; if(rand < cumsum) { state_probs[i] += 1.0 / SHOTS; break; } } }
Bei der Wahl der optimalen Anzahl von Schnappschüssen für Ihr Quantenhandelssystem müssen mehrere Schlüsselfaktoren abgewogen werden. Der wichtigste Kompromiss besteht zwischen Genauigkeit und Ausführungsgeschwindigkeit. Wenn Sie eine höhere Anzahl von Schnappschüssen (in der Regel 5000 oder mehr) einstellen, erhalten Sie eine genauere Wahrscheinlichkeitsverteilung der Quantenzustände, was jedoch mit einer langsameren Ausführungszeit einhergeht. Umgekehrt führt die Verwendung von weniger Schnappschüssen, etwa 500-1000, zu einer schnelleren Ausführung, aber zu weniger genauen Ergebnissen. Die derzeitige Standardeinstellung von 2000 Schnappschüssen stellt einen sorgfältig gewählten Mittelweg dar, der darauf abzielt, diese konkurrierenden Anforderungen auszugleichen.
Bei der Betrachtung der spezifischen Anforderungen des Handels kommen mehrere Faktoren ins Spiel. Der Zeitrahmen des Marktes, in dem Sie handeln, ist entscheidend - schnellere Zeitrahmen erfordern möglicherweise weniger Schnappschüsse, um die Reaktionsfähigkeit aufrechtzuerhalten, während längere Zeitrahmen mehr Schnappschüsse zulassen können, um die Genauigkeit zu erhöhen. Die verfügbare Rechenleistung ist ein weiterer wichtiger Faktor, da mehr Schnappschüsse mehr Rechenleistung erfordern. Darüber hinaus sollte der für Ihre Handelsstrategie erforderliche Präzisionsgrad Ihre Wahl beeinflussen - Strategien, die eine höhere Präzision erfordern, profitieren von mehr Schnappschüssen.
Für die praktische Umsetzung empfiehlt es sich, in der ersten Testphase mit 1000-2000 Schnappschüssen zu beginnen. Dies ist eine vernünftige Grundlage für die Bewertung der Leistung des Systems. Von dort aus sollten Sie sowohl die Ausführungszeit als auch die Genauigkeitskennzahlen aktiv überwachen. Wenn Sie feststellen, dass die Ergebnisse zu verrauscht oder uneinheitlich sind, erhöhen Sie schrittweise die Anzahl der Aufnahmen. Umgekehrt sollten Sie die Anzahl der Schnappschüsse reduzieren, wenn der Expert Advisor für Ihre Handelsanforderungen zu langsam ist. Dieser iterative Ansatz ermöglicht es Ihnen, die optimale Balance für Ihre spezifischen Handelsbedingungen und Anforderungen zu finden.
# Example of how different shot counts might affect probabilities # With 100 shots: State |000⟩: 0.3100 (±0.0460) State |001⟩: 0.1800 (±0.0384) # With 2000 shots: State |000⟩: 0.3025 (±0.0103) State |001⟩: 0.1750 (±0.0085) # With 10000 shots: State |000⟩: 0.3002 (±0.0046) State |001⟩: 0.1752 (±0.0038)
#define FEATURES_COUNT 7
Legt die Anzahl der Eingangsmerkmale fest, die von der Quantenschaltung für die Marktanalyse verwendet werden. Schauen wir uns diese 7 Funktionen im Detail an:
// 1. Normalized price range features[0] = ((rates[0].high - rates[0].low) / rates[0].close) * 2 - 1; // 2. Normalized volatility features[1] = (CalculateVolatility(m_returns, MathMin(12, m_lookback_bars)) / 0.01) * 2 - 1; // 3. Momentum features[2] = MathMax(MathMin(CalculateMomentum(m_returns, MathMin(24, m_lookback_bars)) * 100, 1), -1); // 4-5. Time components (hour of day encoded in circular form) features[3] = MathSin(2 * M_PI * dt.hour / 24.0); features[4] = MathCos(2 * M_PI * dt.hour / 24.0); // 6. Price deviation from SMA features[5] = MathMax(MathMin((rates[0].close - sma) / sma, 1), -1); // 7. Latest return features[6] = MathMax(MathMin(m_returns[0] * 100, 1), -1);
Alle Merkmale sind auf den Bereich [-1, 1] normiert, um eine einheitliche Skalierung für den Quantenschaltkreis zu gewährleisten. Sie können dies durch Hinzufügen oder Entfernen von Merkmalen ändern.
Technische Überlegungen und Beschränkungen
Dieses von der Quantenphysik inspirierte System zeigt zwar ein vielversprechendes Potenzial, doch muss man sich auch über gewisse Einschränkungen im Klaren sein. Dabei handelt es sich allerdings um einen simulierten Quantenprozess und nicht um eine tatsächliche Quantenberechnung. Die Anforderungen an die Echtzeitverarbeitung können die Leistung beeinträchtigen, und wechselnde Marktbedingungen können die Genauigkeit der Vorhersagen beeinflussen. Um diese Faktoren abzumildern, ist es entscheidend, solide Risikomanagementmaßnahmen in den Handelsrahmen zu integrieren.
#define HOUR_LOOKBACK 24
Legt das Standardzeitfenster für die Analyse historischer Daten fest, das auf 24 Stunden eingestellt ist. Dieser Parameter spielt eine entscheidende Rolle dabei, wie das Handelssystem die Marktmuster analysiert und verschiedene Indikatoren berechnet.
Der Rückblickzeitraum wirkt sich auf mehrere wichtige Berechnungen im System aus. Bei der Analyse der Volatilität verwendet der Code bis zu 12 Balken (die Hälfte des Rückblicks) zur Berechnung der Standardabweichung der Renditen. Bei den Momentum-Berechnungen werden alle 24 Balken zur Berechnung der durchschnittlichen Kursbewegungen herangezogen. Dadurch wird ein Gleichgewicht zwischen dem jüngsten Marktverhalten und den längerfristigen Trends hergestellt.
Der 24-Stunden-Rückblick wurde wahrscheinlich gewählt, um volle tägliche Marktzyklen zu erfassen. Dies ist sinnvoll, da die Devisenmärkte aufgrund der Eröffnung und Schließung der wichtigsten Handelssitzungen (asiatische, europäische und amerikanische Sitzungen) häufig zyklische 24-Stunden-Muster aufweisen. Jede Sitzung kann unterschiedliche Handelsvolumina und Preisverhaltensmuster mit sich bringen.
Sie können diesen Wert je nach Ihren Handelsanforderungen ändern. Ein kürzerer Rückblick (z. B. 12 Stunden) würde das System reaktionsschneller auf die jüngsten Marktveränderungen machen, aber möglicherweise auch anfälliger für Störungen. Ein längerer Rückblick (z. B. 48 Stunden) würde stabilere Signale liefern, aber möglicherweise langsamer auf Marktveränderungen reagieren. Denken Sie daran, dass eine Änderung von HOUR_LOOKBACK den Speicherverbrauch und die Verarbeitungszeit beeinflusst, da mehr historische Daten gespeichert und analysiert werden müssen.
// Input parameters input int InpPredictBars = 2; // Predict Bars (1-5) input double InpMinMove = 0.00001; // Minimum Move input double InpMinConfidence = 0.15; // Minimum Confidence input int InpLogInterval = 1; // Log Interval input int InpLookbackBars = 200; // Lookback Bars for Analysis
InpPredictBars = 2 gibt an, wie viele Balken in der Zukunft das System versucht, vorherzusagen. Bei einem Wert von 2 macht das System Vorhersagen für die Kursbewegungen der nächsten 2 Balken. Die Spanne ist auf 1-5 Balken begrenzt, da die Vorhersagen über längere Zeiträume tendenziell ungenauer werden. Ein kleinerer Wert (z. B. 1) ermöglicht unmittelbarere Vorhersagen, könnte aber größere Bewegungen verpassen, während größere Werte (z. B. 4-5) versuchen, längere Trends zu erfassen, aber möglicherweise mit geringerer Genauigkeit.
InpMinMove = 0,00001 legt die Mindestkursbewegung fest, die erforderlich ist, um eine Vorhersage als erfolgreich zu betrachten. Bei Devisenpaaren wird dieser Wert normalerweise auf 1 Pip (0,00001 bei 5-stelligen Brokern) festgelegt. Dadurch wird verhindert, dass das System sehr kleine Kursbewegungen zählt, bei denen es sich lediglich um Marktstörungen handeln könnte. Je nach Ihrer Strategie können Sie diesen Wert für einen konservativeren Handel erhöhen oder für einen aggressiveren Handel verringern.
InpMinConfidence = 0,15 (15%) ist die Vertrauensschwelle, die erforderlich ist, um eine Vorhersage ernst zu nehmen. Das Quantensystem liefert Vorhersagen mit einem Vertrauensniveau zwischen 0 und 1. Jede Vorhersage mit einer Konfidenz von weniger als 0,15 wird als „neutral“ betrachtet und ignoriert. Höhere Werte (wie 0,25) würden das System selektiver machen, aber weniger Signale erzeugen, während niedrigere Werte mehr Signale erzeugen würden, aber möglicherweise mit geringerer Qualität.
InpLogInterval = 1 bestimmt, wie oft (in Zeitabschnitten) das System seine Leistungskennzahlen protokolliert. Ein Wert von 1 bedeutet, dass jeder Balken protokolliert wird. Dies ist nützlich für die Überwachung der Systemleistung, aber eine zu häufige Protokollierung kann die Leistung beeinträchtigen. Sie können diesen Wert im Live-Handel erhöhen.
InpLookbackBars = 200 legt fest, wie viele historische Balken das System für seine Analyse verwendet. Mit 200 Balken verfügt das System über eine gute Menge an historischen Daten, um Merkmale und Muster zu berechnen. Mehr Balken (z. B. 500) würden den historischen Kontext vergrößern, aber mehr Rechenleistung erfordern, während weniger Balken besser auf aktuelle Marktveränderungen reagieren, aber möglicherweise längerfristige Muster übersehen könnte.
Diese Parameter können in der MetaTrader-Plattform angepasst werden, bevor der EA ausgeführt wird. Um die richtige Kombination zu finden, sind oft Tests mit historischen Daten und die Überwachung der Live-Performance erforderlich.
Blick in die Zukunft
Wir gehen davon aus, dass mit der Weiterentwicklung der Quantencomputertechnologie komplexere Anwendungen im Handel entstehen werden. Auch wenn das derzeitige System Algorithmen verwendet, die von der Quantenmechanik beeinflusst sind, ist dies erst der Anfang dessen, was bald möglich sein könnte. In unserem nächsten Beitrag werden wir uns eingehender mit dem Einsatz von Quantencomputern im Handel befassen und weitere komplizierte und anspruchsvolle Anwendungen vorstellen.
EA-Beispiel
Dieser Multi-Session Forex Expert Advisor verwendet von Quanten inspirierte Algorithmen, um über europäische, amerikanische und asiatische Sessions hinweg zu handeln, wobei er für jeden Zeitrahmen spezifische Parameter und Analysemethoden verwendet.
Die Stärke des Systems liegt in seinem mehrschichtigen Risikomanagement, das dynamische Positionsgrößen, Anti-Martingale-Progression und aktienbasierte Absicherung kombiniert. Es analysiert mehrere Marktmerkmale wie ATR, Momentum und verschiedene technische Indikatoren durch sein von Quanten inspiriertes Analysesystem, um zuverlässige Handelssignale zu generieren.
Eine wichtige Innovation ist das adaptive Trailing-Stop-System und die Multi-Timeframe-Analysekomponente, die sicherstellt, dass die Handelsgeschäfte sowohl auf kurzfristige (H1) als auch auf langfristige (H4) Trends abgestimmt sind. Darüber hinaus optimiert der Maximum Favorable Excursion (MFE)-Analysator kontinuierlich die Ausstiegspunkte auf der Grundlage des historischen Kursverhaltens und hilft so, das Gewinnpotenzial zu maximieren.
Dies ist ein einfaches Beispiel dafür, was man mit einer Vorhersage, bei der man fast eine Münze wirft, mit der Auswahl von Sitzungen und Stunden, MFE-Kontrolle und Risikomanagement erreichen kann.
Dieses Setup nimmt den Gewinn aus dem MFE mit und nutzt nur die Vorhersagen, um zu kaufen oder verkaufen. Dieser EA hat eine große Anzahl von Optionen und Konfigurationen, ich würde nicht empfehlen, eine große Optimierung zu tun.
Setup #2
Gleiche Einstellungen, andere Eingänge. Ich kann keine MQL5 Cloud Network Optimization machen, weil man das von Spanien aus nicht machen kann (Politik ... ), und eine lokale würde zu viel Zeit in Anspruch nehmen, aber dieser EA hat viele Optionen, bitte nutzen Sie sie und stellen Sie den EA fertig. Wenn Sie Zeit und Ressourcen haben, sollten Sie eine umfassende Optimierung vornehmen, um herauszufinden, was am besten passt.
Anmerkung: Die Funktionen wurden geändert, die Strategie ist nicht vollständig ausgefeilt, aber sie kann als Beispiel dienen, und man kann sie weiterverfolgen und fertigstellen. Die Losgrößenbestimmung und das Risikomanagement müssen aktualisiert und vieles mehr muss erledigt werden. Dies ist nur ein Beispiel, Sie müssen auf eigene Verantwortung handeln, aber dies ist ein guter Ausgangspunkt für Ihren eigenen EA. Da die Imputs zu zahlreich sind, werde ich eines der Eingebe-Einstelllungen hochladen, die ich (ohne Optimierung) für EURUSD und dem Zeitrahmen 1-Stunde verwendet habe. Außerdem habe ich die mqh für dieses Beispiel geändert, Sie könnten dies auch für sich selbst tun.
Wie Sie mit diesem EA vorgehen müssen, müssen Sie zunächst diesen Artikel verstehen, und danach müssen Sie die wichtigen Eingaben durchgehen und sehen, wohin sie gehen, und wohin diese Funktion geht usw... Die wichtige Funktion ist OnTick(), versuchen Sie einfach zu sehen, woher die Funktionen von OnTick kommen, und fangen Sie an, von dort aus Änderungen vorzunehmen, die Lernkurve wird einfach sein, wenn Sie so anfangen.
Schlussfolgerung
In dieser Studie wurde untersucht, wie die Prinzipien des Quantencomputings in der Handelsbranche genutzt werden können. Wir haben ein Handelssystem mit einem Quantenthema entwickelt, das von einem Python-Prototyp zu einer MQL5-Implementierung überging. Die Ergebnisse sind ermutigend: Die Trefferquoten sind sowohl in simulierten als auch in realen Handelssituationen konstant. Der Ansatz war besonders in Situationen mit hoher Volatilität erfolgreich, in denen herkömmliche Modelle häufig versagen. Es ist wichtig, daran zu denken, dass es sich um eine Quantensimulation handelt, und dass Variablen wie Marktbedingungen und Datenqualität einen Einfluss auf die Leistung haben können.
Zusammenfassend lässt sich sagen, dass diese Untersuchung von quanteninspirierten Handelssystemen einen Blick in die Zukunft des algorithmischen Handels ermöglicht, indem die Prinzipien der Quanteninformatik genutzt werden, um die Komplexität der Finanzmärkte zu bewältigen. Während die Integration von Quantenkonzepten in MQL5 einen bedeutenden Schritt in Richtung praktischer Anwendung darstellt, unterstreicht sie auch die Notwendigkeit einer sorgfältigen Abwägung zwischen rechnerischer Raffinesse und praktischer Anwendbarkeit.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/16300





- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.