Einsatz von Computer Vision im Handel mit MQL5 MQL5 (Teil 2): Erweiterung der Architektur auf die 2D-RGB-Bildanalyse
Einleitung: Wenn Zahlen zum Leben erwachen
Im ersten Teil unserer Forschung haben wir gezeigt, wie konvolutionelle neuronale Netze Zeitreihen von Währungskursen durch eindimensionale Filter analysieren können. Jetzt machen wir einen qualitativen Sprung: Wir werden den Algorithmen beibringen, den Markt als eine ganzheitliche Landschaft voller Strukturen, Muster und versteckter Signale wahrzunehmen.
Durch die Umwandlung trockener Zahlenreihen in Bilder kann der Algorithmus den Markt aus einer völlig neuen Perspektive analysieren. Genau so denken Spitzentrader: Sie sehen nicht nur Datentabellen, sondern ein lebendiges Bild des Marktes, bei dem jedes Detail ein wichtiges Signal darstellt. Der Algorithmus hebt sich von der eindimensionalen Darstellung ab und offenbart Strukturen und Muster, die in numerischen Reihen unsichtbar bleiben.
Daten-Alchemie: Von Zahlen zu visuellen Sinfonien
Unsere 128x128 Pixel große digitale Leinwand wird zur Bühne, auf der sich das Marktdrama entfaltet. Die Kursverläufe des Marktes werden in mehrkanalige visuelle Darstellungen verwandelt.

Der rote Kanal pulsiert mit den Kursdaten – der heilige Gral, dem die Händler nachjagen. Grün wird dank technischer Indikatoren lebendig: gleitende Durchschnitte, MACD, Bollinger Bands – Werkzeuge, die über Jahrzehnte hinweg verfeinert wurden. Der blaue Kanal atmet mit Oszillatoren – RSI, dem Stochastik-Oszillator und Volatilitätsmesswerten, die wie ein Puls die Stimmung des Marktes verraten.
Der Code, der diese Magie erzeugt, ist täuschend einfach, aber dahinter verbirgt sich eine Macht, die unser Verständnis von Märkten revolutionieren könnte:
# Code snippet that converts data into an RGB image for t in range(window_size): x = int(t / window_size * img_size[1]) y = int((1 - img_data[j, t]) * img_size[0]) if 0 <= y < img_size[0] and 0 <= x < img_size[1]: img[y, x, 0] = 1.0 # Red channel for price data
Wenn Daten in ein Bild umgewandelt werden, entstehen erstaunliche Formen, wie Sterne am Nachthimmel. Es ist, als würde man ein Gesicht auf einem Foto sehen, anstatt es mit Gleichungen zu beschreiben. Muster, die zu erkennen Händler jahrelang gelernt haben – Kopf und Schultern, doppelte Böden, Fahnen – werden vor dem Algorithmus lebendig und so offensichtlich wie die Morgendämmerung.
Wir haben Kerzenmuster hinzugefügt, um diese Bilder noch reicher zu machen. Bullische Kerzen leuchten grün, als Zeichen der Hoffnung auf Wachstum, während bärische Kerzen rot leuchten, als Warnung. Die Dochte sind in Halbtönen gezeichnet, wie Schatten, die auf den Kampf zwischen Käufern und Verkäufern hinweisen. Dadurch kann das Modell nicht nur allgemeine Trends erfassen, sondern auch subtile Details wie „Hammer“, „Engulfing“ und „Doji“ erkennen.
So ist es im Code implementiert:
if close_y < open_y: # Bullish candle for y in range(close_y, open_y): if 0 <= y < img_size[0] and 0 <= x < img_size[1]: img[y, x, 1] = 1.0 # Green else: # Bearish candle for y in range(open_y, close_y): if 0 <= y < img_size[0] and 0 <= x < img_size[1]: img[y, x, 0] = 1.0 # Red
Diese Bilder sind nicht nur eine Visualisierung. Sie sind wie eine Heatmap, bei denen die Intensität der Farbe die Energie des Marktes widerspiegelt, und jede Kerze ist eine kleine Geschichte über den Kampf zwischen Bullen und Bären. Dies ist eine neue Sprache, in der der Algorithmus mit dem Markt spricht, und es klingt wie Poesie.
Neuronale Architektur: Ein künstlicher Händler mit dreifacher Sicht
Die Schaffung eines künstlichen Händlers ist wie der Bau eines Wolkenkratzers, bei dem jedes Stockwerk seine eigene Aufgabe erfüllt und zusammen etwas Großartiges ergibt. Unsere Architektur besteht aus drei parallelen Wegen, von denen jeder den Markt aus seinem eigenen Blickwinkel betrachtet. Der erste Weg mit kurzen Faltungsfiltern fängt sofortige Blitze ein: Ausbrüche an wichtigen Kursniveaus, Umkehrungen, starke Sprünge. Der zweite Pfad mit längeren Faltungsfiltern erfasst die großen Trends, die wie Flüsse die Marktzyklen bestimmen. Der dritte Weg überwacht die Volatilität und das Momentum und analysiert die Oszillatoren, um festzustellen, ob der Markt ruhig ist oder kurz vor einer Explosion steht.
Der Code, der diese Idee verkörpert, sieht folgendermaßen aus:
local_path = Conv1D(64, 3, padding='same', activation='relu')(inputs[:,:,:,0]) trend_path = Conv1D(64, 7, padding='same', activation='relu')(inputs[:,:,:,1]) vol_path = Conv1D(64, 5, padding='same', activation='relu')(inputs[:,:,:,2])
Diese Pfade verschmelzen zu einem Ganzen, doch zuvor durchlaufen sie den Aufmerksamkeitsmechanismus – eine Technologie, die dem Modell beibringt, sich auf das Wesentliche zu konzentrieren, wie ein Händler, der inmitten des Rauschens von Nachrichten und Charts nur das Schlüsselsignal sieht. Marcus du Sautoy, Autor des Buches The Creativity Code, vergleicht es mit Meditation: „Das Modell lernt, das Rauschen zu durchdringen und das Wesentliche zu erkennen.“ Eine einzige Zeile Code macht dies zur Realität:
attention_layer = Attention()([merged, merged])
Aber das ist nicht alles. Wir fügten eine bidirektionale LSTM-Schicht hinzu, die die Daten vor und zurück betrachtet, wie ein Historiker, der durch die Seiten der Vergangenheit und der Zukunft blättert. Dies hilft, komplexe Muster zu erfassen: langwierige Konsolidierungen, versteckte Umkehrungen, Momente, in denen der Markt vor einem Durchbruch einfriert. Und dann fügt die globale Funktionsaggregation wie ein Dirigent alle Noten zu einer einzigen Symphonie zusammen und schafft so einen ganzheitlichen Überblick über den Markt.
Der letzte Schliff ist das Multitasking-Training. Das Modell entscheidet nicht nur, ob der Preis steigen oder fallen wird, sondern sagt auch voraus, wie weit sich der Markt bewegen wird. Der legendäre Investor Peter Lynch behauptete, es sei eine Sache zu wissen, dass eine Aktie steigen wird. Aber vorherzusagen, dass sie um genau 8 % wachsen wird, ist eine ganz andere Sache. Unser Modell tut genau dies, wie ein Schachspieler, der nicht nur den Zug, sondern das ganze Spiel sieht.
Durch das Schlüsselloch: Wie der Algorithmus seine Gedanken offenbart
Der Code, der dies möglich macht, ist einfach, aber dahinter steckt eine Revolution:
attention = np.mean(np.abs(attention_maps[i]), axis=-1) heatmap = cv2.applyColorMap(np.uint8(255 * attention_resized), cv2.COLORMAP_JET)
Diese Visualisierung ist der Beginn einer neuen Wissenschaft: der neuronalen Interpretation von Märkten. Zum ersten Mal erhalten wir nicht nur eine Vorhersage aus einer Blackbox, sondern verstehen auch, warum sie gemacht wurde.
Eine weitere Entdeckung ist die Spezialisierung der Neuronen. Bei der Analyse der Aktivierungen der versteckten Schichten konnten wir feststellen, dass einige Neuronen nur bei scharfen Wendungen „aufleuchten“, andere bei gleichmäßigen Trends und wieder andere in der Ruhe vor dem Sturm. Es ist wie im menschlichen Gehirn, wo verschiedene Bereiche für das Sehen oder Hören zuständig sind.
Das Modell erstellte ein eigenes Abbild der Marktstrukturen und klassifizierte die Situationen auf eine Art und Weise, wie es kein Analyst zuvor getan hatte. So entdeckte es beispielsweise ungewöhnliche Divergenzen zwischen RSI und Preis, die von erfahrenen Händlern später als signifikant bestätigt wurden. Dies ist nicht nur ein Algorithmus – es ist eine neue Art, den Markt zu sehen.
Transparenz der Entscheidungen: Wenn die Maschine sich selbst erklärt
Unser System erstellt nicht nur Vorhersagen, sondern erklärt auch, wie es zu diesen Vorhersagen kommt. Wir können ein Diagramm zeichnen, in dem die Aufmerksamkeitsbereiche des Modells rot hervorgehoben sind, um zu zeigen, worauf es gerade achtet. Es ist, als würde man in die Gedanken eines Händlers blicken, wenn er wichtige Punkte auf einem Chart markiert. Der Code für diese Visualisierung sieht folgendermaßen aus:
def plot_prediction_with_attention(data, prediction, attention_weights): plt.plot(data.index, data['close'], label='Close price', color='black', linewidth=2) for i in range(len(data.index) - 1): plt.axvspan(data.index[i], data.index[i+1], alpha=attention_weights[i] * 0.3, color='red')
Solche Bilder verwandeln das Modell von einem Mysterium in einen Partner. Der Händler sieht nicht nur, dass der Markt steigen wird, sondern auch warum: welche Indikatoren, welche Kerzen, welche Momente haben den Algorithmus überzeugt. Das Modell gleitet durch die Daten und erstellt Vorhersagen Bild für Bild, wie ein Regisseur, der einen Marktfilm dreht. Das sind nicht einfach nur Zahlen – es ist eine Geschichte, die in Bewegung erzählt wird.
imageio.mimsave(gif_path, frames, duration=0.5)

Erfolgsgeschichten: Wie ein Modell das Spiel verändert
Um zu verstehen, wie das Modell in der Praxis funktioniert, stellen Sie sich eine Händlerin namens Anne vor, die für einen kleinen Eigenhandelsfonds in Chicago arbeitet. Anne verließ sich jahrelang auf ihre Erfahrung und Intuition, aber der Markt wurde immer komplexer und der Wettbewerb immer härter. Als sie anfing, dieses Modell anzuwenden, änderte sich ihr Ansatz. Anstatt stundenlang Charts zu analysieren, schaut sie sich jetzt die Aufmerksamkeits-Heatmap an, die das Modell über EURUSD zeichnet. Diese Abbildungen zeigen, wo der Markt bereit für eine Umkehr ist, wo der Trend an Stärke gewinnt und wo eine Seitwärtsbewegung zu erwarten ist. Aber das Modell kann Anne auch vollständig entlasten, indem es sich zu einem Handelsroboter entwickelt.
Technische Feinheiten: Wie ein Modell das Sehen lernt
Einer der wichtigsten Schritte war die Verwendung von RobustScaler zur Normalisierung der Daten. Die Märkte sind chaotisch. Schocks wie plötzliche Nachrichten können das Bild verzerren. RobustScaler hilft dem Modell, robust zu bleiben, indem es diese Anomalien ignoriert. So funktioniert es:
scaler = RobustScaler() if window_data[indicator].std() != 0: img_data[j] = scaler.fit_transform(window_data[indicator].values.reshape(-1, 1)).flatten()
Ein weiterer Trick besteht darin, Bilder mit einem Gauß-Filter zu verwischen. Dadurch wird das Rauschen geglättet und das Modell kann sich auf allgemeine Muster statt auf zufällige Ausschläge konzentrieren. Es ist, als würde man eine Brille aufsetzen, um den ganzen Wald hinter einzelnen Bäumen zu sehen:
img = gaussian_filter1d(img, sigma=0.5, axis=0) img = gaussian_filter1d(img, sigma=0.5, axis=1)
Das Trainieren des Modells ist eine andere Geschichte. Wir haben Rückrufe verwendet, um eine Überanpassung zu verhindern, die besten Versionen zu speichern und die Lernrate anzupassen. EarlyStopping hält den Prozess an, wenn das Modell beginnt, die Daten „auswendig“ zu lernen, und ReduceLROnPlateau reduziert den Schritt, wenn der Fortschritt langsamer wird. Es ist, als würde man Kindern das Fahrradfahren beibringen: Man unterstützt sie, bis sie selbständig fahren.
callbacks = [ EarlyStopping(monitor='val_direction_accuracy', patience=15, restore_best_weights=True, verbose=1, mode='max'), ModelCheckpoint(filepath=os.path.join(checkpoint_dir, 'best_model.keras'), monitor='val_direction_accuracy', save_best_only=True, verbose=1), ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=7, min_lr=0.00001, verbose=1) ]
Die Ergebnisse des Trainingsdiagramms sind ermutigend: Die Genauigkeit auf der Testmenge sinkt nicht so stark und bleibt über eine kleine Anzahl von Trainingsepochen konstant über 53 %:

Unsere verbesserte Architektur zeigt bereits vielversprechende Ergebnisse, aber das ist erst der Anfang.
Integration von Fundamentaldaten
Das derzeitige Modell arbeitet ausschließlich mit technischen Daten. Der nächste logische Schritt ist die Einbeziehung fundamentaler Faktoren: Wirtschaftsindikatoren, Nachrichten, Marktstimmung. Dies kann durch multimodales Training erreicht werden, bei dem der Nachrichtenkontext in Vektordarstellungen umgewandelt und mit technischen Daten kombiniert wird.
Zeitliche Hierarchie und fraktale Struktur der Märkte
Märkte haben eine fraktale Natur: Muster erscheinen über verschiedene Zeitrahmen hinweg mit auffallender Selbstähnlichkeit. Eine Architektur, die auf der hierarchischen Verarbeitung verschiedener Zeitrahmen (von Minuten- bis zu Monatscharts) basiert, kann komplexe, mehrstufige Muster aufdecken.
Adaptives Training und Meta-Lernen
Die Märkte entwickeln sich ständig weiter und erfordern eine kontinuierliche Anpassung der Modelle. Eine vielversprechende Richtung ist die Entwicklung eines Meta-Lernsystems, das die Architektur und die Parameter eines Modells in Abhängigkeit von den sich ändernden Marktbedingungen automatisch anpasst.
Diese Details sind nicht nur Code. Dies ist die Grundlage, auf der das Modell lernt, den Markt tiefer zu sehen als jeder andere Händler.
Ein Blick in die Zukunft: Neue Horizonte
Unser Modell ist nur der Anfang, der erste Strich auf einer größeren Leinwand. Stellen Sie sich vor, wir fügen Nachrichten und Wirtschaftsdaten hinzu. Transformer verwandeln Bloomberg-Schlagzeilen und Fed-Berichte in Vektoren, die das Modell mit Diagrammen und Indikatoren verbindet. Eine Zinserhöhungsentscheidung oder ein plötzlicher Tweet von Elon Musk werden Teil des Bildes sein, das der Algorithmus sieht. Es ist, als würde man einem Händler nicht nur ein Chart geben, sondern den gesamten Kontext der Welt.
Märkte sind Fraktale, in denen sich Muster auf verschiedenen Zeitskalen wiederholen, von Minuten bis Monaten. Wenn wir das Modell so trainieren, dass es alle Zeitrahmen gleichzeitig betrachtet, kann es verschachtelte Trends finden, die selbst den besten Analysten entgehen. Stellen Sie sich ein Modell vor, das ein Kopf-Schulter-Muster auf dem Tages-Chart und darin ein Mikro-Muster auf dem Fünf-Minuten-Chart sieht. Es ist, als würde man eine Galaxie und ihre Sterne auf einen Blick sehen.
Was ist, wenn sich das Modell selbst verbessert? Meta-Learning wird es ihm ermöglichen, sich an die wechselnden Marktbedingungen anzupassen, von der Ruhe bis zum Sturm. Wenn der Markt volatil wird, wird er seine Parameter selbst anpassen, wie ein Kapitän, der das Steuer in einem Sturm steuert. Dies ist kein Hirngespinst – es ist der nächste Schritt, der sich bereits am Horizont abzeichnet.
Transparenz ist ein weiteres Ziel. Wir wollen, dass die Händler dem Modell nicht nur vertrauen, sondern auch daraus lernen. Tiefergehende Visualisierungen von Aufmerksamkeit und Aktivierung werden zeigen, wie der Algorithmus denkt, und uns vielleicht lehren, den Markt anders zu sehen. Stellen Sie sich vor, dass das Modell ein Muster identifiziert, das noch niemandem aufgefallen ist, und die Händler beginnen, es ihm zu Ehren als „neuronales Kreuz“ zu bezeichnen. Es wird nicht nur ein Werkzeug sein, sondern eine neue Denkweise.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/18103
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.
Die Übertragung der Trading-Signale in einem universalen Expert Advisor.
Von der Grundstufe bis zur Mittelstufe: Struktur (VII)
Eine alternative Log-datei mit der Verwendung der HTML und CSS
Kursbewegungen: Mathematische Modelle und technische Analyse
- 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.
Vertrauter Präsentationsstil 🤣
Heutzutage haben menschliche Autoren offenbar aufgehört, ihre Gedanken selbst zu formulieren.
IvanIvanych, kann nicht nur "schöne" Epitheta aus dem Fingersaugen , sondern auch verbale Muster analysieren:
"Der Artikel weist die charakteristischen Merkmale eines von einer KI erstellten Textes auf, darunter hohe technische Genauigkeit, Strukturiertheit und knappe Veröffentlichungsfristen. Der sterile Stil der Präsentation und die Verwendung komplexer Konzepte wie Aufmerksamkeitsmechanismen deuten auf den aktiven Einsatz neuronaler Netze zur Erstellung des Materials hin."
Viel Glück bei der Bewältigung des Budgets 🖖.