Algorithmen zur Optimierung mit Populationen Optimierung gemäß einer bakteriellen Nahrungssuche (BFO)
Die Strategie der Nahrungssuche des Bakteriums E. coli inspirierte die Wissenschaftler zur Entwicklung des BFO-Optimierungsalgorithmus. Der Algorithmus enthält originelle Ideen und vielversprechende Optimierungsansätze und ist es wert, weiter untersucht zu werden.
DoEasy. Steuerung (Teil 18): Funktionsweise für scrollende Registerkarten in TabControl
In diesem Artikel werde ich die Schaltflächen der Kopfzeilen-Scroll-Steuerung im TabControl WinForms-Objekt platzieren, für den Fall, dass die Kopfzeile nicht in die Größe des Steuerelements passt. Außerdem werde ich die Verschiebung der Kopfleiste beim Klicken auf die abgeschnittene Registerkartenüberschrift implementieren.
DoEasy. Steuerung (Teil 29): Das Hilfssteuerelement der ScrollBar
In diesem Artikel werde ich mit der Entwicklung des ScrollBar-Hilfssteuerelements und seiner abgeleiteten Objekte beginnen — vertikale und horizontale Bildlaufleisten. Eine Bildlaufleiste wird verwendet, um den Inhalt des Formulars zu verschieben, wenn er über den Container hinausgeht. Die Bildlaufleisten befinden sich in der Regel am unteren und rechten Rand des Formulars. Die horizontale am unteren Rand blättert den Inhalt nach links und rechts, während die vertikale nach oben und unten blättert.
Integration von ML-Modellen mit dem Strategy Tester (Schlussfolgerung): Implementierung eines Regressionsmodells für die Preisvorhersage
Dieser Artikel beschreibt die Implementierung eines Regressionsmodells auf der Grundlage eines Entscheidungsbaums. Das Modell soll die Preise von Finanzanlagen vorhersagen. Wir haben die Daten bereits aufbereitet, das Modell trainiert und evaluiert, sowie angepasst und optimiert. Es ist jedoch wichtig zu beachten, dass dieses Modell nur für Studienzwecke gedacht ist und nicht im realen Handel eingesetzt werden sollte.
Grafiken in der Bibliothek DoEasy (Teil 94): Bewegen und Löschen zusammengesetzter grafischer Objekte
In diesem Artikel werde ich mit der Entwicklung verschiedener Ereignisse für zusammengesetzte grafische Objekte beginnen. Teilweise werden wir auch das Verschieben und Löschen eines zusammengesetzten grafischen Objekts betrachten. In der Tat werde ich hier eine Feinabstimmung der Dinge vornehmen, die ich im vorherigen Artikel implementiert habe.
Grafiken in der DoEasy-Bibliothek (Teil 96): Grafiken in Formularobjekten und Behandlung von Mausereignissen
In diesem Artikel beginne ich mit dem Erstellen der Funktionsweise für die Behandlung von Mausereignissen in Formularobjekten und füge neue Eigenschaften und deren Verfolgung zu einem Symbolobjekt hinzu. Außerdem werde ich die Klasse der Symbolobjekte verbessern, da die Chart-Symbole jetzt neue Eigenschaften haben, die berücksichtigt und verfolgt werden müssen.
Algorithmen zur Optimierung mit Populationen: der Algorithmus Simulated Annealing (SA). Teil I
Der Algorithmus des Simulated Annealing ist eine Metaheuristik, die vom Metallglühprozess inspiriert ist. In diesem Artikel führen wir eine gründliche Analyse des Algorithmus durch und räumen mit einer Reihe von weit verbreiteten Überzeugungen und Mythen rund um diese weithin bekannte Optimierungsmethode auf. Der zweite Teil des Artikels befasst sich mit dem nutzerdefinierten Algorithmus Simulated Isotropic Annealing (SIA).
Zeitreihen in der Bibliothek DoEasy (Teil 56): Nutzerdefiniertes Indikatorobjekt, das die Daten von Indikatorobjekten aus der Kollektion holt
In dem Artikel wird das Erstellen des nutzerdefinierten Indikatorobjekts für die Verwendung in EAs erklärt. Lassen Sie uns die Bibliotheksklassen leicht verbessern und Methoden hinzufügen, um Daten von Indikatorobjekten in EAs zu erhalten.
MQL5 beherrschen, vom Anfänger zum Profi (Teil III): Komplexe Datentypen und Include-Dateien
Dies ist der dritte Artikel in einer Serie, in der die wichtigsten Aspekte der MQL5-Programmierung beschrieben werden. Dieser Artikel behandelt komplexe Datentypen, die im vorherigen Artikel nicht behandelt wurden. Dazu gehören Strukturen, Unions, Klassen und der Datentyp „function“. Außerdem wird erklärt, wie Sie Ihr Programm mit Hilfe der Präprozessoranweisung #include modularisieren können.
Implementierung eines ARIMA-Trainingsalgorithmus in MQL5
In diesem Artikel wird ein Algorithmus implementiert, der das autoregressive integrierte gleitende Durchschnittsmodell von Box und Jenkins unter Verwendung der Powells-Methode der Funktionsminimierung anwendet. Box und Jenkins stellten fest, dass die meisten Zeitreihen mit einem oder beiden Rahmen modelliert werden können.
Algorithmen zur Optimierung mit Populationen: Binärer genetischer Algorithmus (BGA). Teil II
In diesem Artikel befassen wir uns mit dem binären genetischen Algorithmus (BGA), der die natürlichen Prozesse modelliert, die im genetischen Material von Lebewesen in der Natur ablaufen.
Algorithmen zur Populationsoptimierung
Dies ist ein einführender Artikel über die Klassifizierung von Optimierungsalgorithmen (OA). In dem Artikel wird versucht, einen Prüfstand (eine Reihe von Funktionen) zu erstellen, der zum Vergleich von OAs und vielleicht zur Ermittlung des universellsten Algorithmus unter allen bekannten Algorithmen verwendet werden soll.
Grafiken in der DoEasy-Bibliothek (Teil 99): Verschieben eines erweiterten grafischen Objekts mit einem einzigen Steuerpunkt
Im vorigen Artikel habe ich die Möglichkeit implementiert, Angelpunkte eines erweiterten grafischen Objekts mithilfe von Steuerformularen zu verschieben. Jetzt werde ich die Möglichkeit implementieren, ein zusammengesetztes grafisches Objekt mithilfe eines einzelnen grafischen Objektsteuerungspunkts (Formulars) zu verschieben.
Entwicklung eines Replay-Systems — Marktsimulation (Teil 11): Die Geburt des SIMULATORS (I)
Um die Daten, die die Balken bilden, nutzen zu können, müssen wir auf das Replay verzichten und einen Simulator entwickeln. Wir werden 1-Minuten-Balken verwenden, weil sie den geringsten Schwierigkeitsgrad aufweisen.
DoEasy. Steuerung (Teil 17): Beschneiden unsichtbarer Objektteile, Hilfspfeiltasten WinForms-Objekte
In diesem Artikel werde ich die Funktionalität zum Ausblenden von Objektabschnitten, die sich außerhalb ihrer Container befinden, erstellen. Außerdem werde ich zusätzliche Pfeiltastenobjekte erstellen, die als Teil anderer WinForms-Objekte verwendet werden können.
Algorithmen zur Optimierung mit Populationen: Stochastische Diffusionssuche (SDS)
Der Artikel behandelt die stochastische Diffusionssuche (SDS), einen sehr leistungsfähigen und effizienten Optimierungsalgorithmus, der auf den Prinzipien des Random Walk basiert. Der Algorithmus ermöglicht es, optimale Lösungen in komplexen mehrdimensionalen Räumen zu finden, wobei er sich durch eine hohe Konvergenzgeschwindigkeit und die Fähigkeit auszeichnet, lokale Extrema zu vermeiden.
DoEasy. Kontrollen (Teil 9): Neuanordnung von WinForms-Objektmethoden, Steuerung von RadioButton und Steuerungen
In diesem Artikel werde ich die Namen der Methoden der WinForms-Objektklasse festlegen und WinForms-Objekte Button und RadioButton erstellen.
Erstellen von selbstoptimierenden Expert Advisor in MQL5 (Teil 5): Selbstanpassende Handelsregeln
Die besten Praktiken, die festlegen, wie ein Indikator sicher zu verwenden ist, sind nicht immer leicht zu befolgen. Bei ruhigen Marktbedingungen kann der Indikator überraschenderweise Werte anzeigen, die nicht als Handelssignal gelten, was dazu führt, dass algorithmischen Händlern Chancen entgehen. In diesem Artikel wird eine mögliche Lösung für dieses Problem vorgeschlagen, da wir erörtern, wie Handelsanwendungen entwickelt werden können, die ihre Handelsregeln an die verfügbaren Marktdaten anpassen.
Entwicklung eines Replay System (Teil 32): Auftragssystem (I)
Von allen Dingen, die wir bisher entwickelt haben, ist dieses System, wie Sie wahrscheinlich bemerken und letztendlich zustimmen werden, das komplexeste. Nun müssen wir etwas sehr Einfaches tun: unser System soll den Betrieb eines Handelsservers simulieren. Die Notwendigkeit, die Funktionsweise des Handelsservers genau zu implementieren, scheint eine Selbstverständlichkeit zu sein. Zumindest in Worten. Aber wir müssen dies so tun, dass alles nahtlos und transparent für den Nutzer des Wiedergabe-/Simulationssystems ist.
Algorithmen zur Optimierung mit Populationen: Umformen, Verschieben von Wahrscheinlichkeitsverteilungen und der Test auf Smart Cephalopod (SC)
Der Artikel untersucht die Auswirkungen einer Formveränderung von Wahrscheinlichkeitsverteilungen auf die Leistung von Optimierungsalgorithmen. Wir werden Experimente mit dem Testalgorithmus Smart Cephalopod (SC) durchführen, um die Effizienz verschiedener Wahrscheinlichkeitsverteilungen im Zusammenhang mit Optimierungsproblemen zu bewerten.
Entwicklung fortschrittlicher ICT-Handelssysteme: Implementierung von Orderblöcken in einem Indikator
In diesem Artikel erfahren Sie, wie Sie einen Indikator erstellen, der die Abschwächung von Orderblöcken erkennt, zeichnet und Alarm schlägt. Wir werden auch einen detaillierten Blick darauf werfen, wie man diese Blöcke auf dem Chart identifiziert, genaue Alarme setzt und ihre Position mit Hilfe von Rechtecken visualisiert, um die Preisaktion besser zu verstehen. Dieser Indikator ist ein wichtiges Instrument für Händler, die den Smart Money Concepts und der Inner Circle Trader-Methode folgen.
Erstellen von selbstoptimierenden Expertenberatern in MQL5 (Teil 2): USDJPY Scalping Strategie
Seien Sie dabei, wenn wir uns heute der Herausforderung stellen, eine Handelsstrategie rund um das USDJPY-Paar zu entwickeln. Wir handeln Kerzenmuster, die auf dem täglichen Zeitrahmen gebildet werden, weil sie potenziell mehr Kraft hinter sich haben. Unsere anfängliche Strategie war gewinnbringend, was uns ermutigte, die Strategie weiter zu verfeinern und zusätzliche Sicherheitsschichten hinzuzufügen, um das gewonnene Kapital zu schützen.
Grafiken in der DoEasy-Bibliothek (Teil 91): Standard-Ereignisse für grafische Objekte. Geschichte der Objektnamensänderung
In diesem Artikel werde ich die Grundfunktionalität für die Kontrolle über grafische Objektereignisse in einem bibliotheksbasierten Programm verfeinern. Ich beginne mit der Implementierung der Funktionalität zur Speicherung der Änderungshistorie grafischer Objekte am Beispiel der Eigenschaft "Objektname".
Algorithmen zur Optimierung mit Populationen: Harmonie-Suche (HS)
In diesem Artikel werde ich den leistungsstärksten Optimierungsalgorithmus untersuchen und testen - die Harmonie-Suche (HS), inspiriert durch den Prozess der Suche nach der perfekten Klangharmonie. Welcher Algorithmus ist nun der führende in unserer Bewertung?
Integrieren Sie Ihr eigenes LLM in Ihren EA (Teil 3): Training Ihres eigenen LLM mit CPU
Angesichts der rasanten Entwicklung der künstlichen Intelligenz sind Sprachmodelle (language models, LLMs) heute ein wichtiger Bestandteil der künstlichen Intelligenz, sodass wir darüber nachdenken sollten, wie wir leistungsstarke LLMs in unseren algorithmischen Handel integrieren können. Für die meisten Menschen ist es schwierig, diese leistungsstarken Modelle auf ihre Bedürfnisse abzustimmen, sie lokal einzusetzen und sie dann auf den algorithmischen Handel anzuwenden. In dieser Artikelserie werden wir Schritt für Schritt vorgehen, um dieses Ziel zu erreichen.
Risikomanager für den manuellen Handel
In diesem Artikel wird detailliert beschrieben, wie man eine Risikomanager-Klasse für den manuellen Handel von Grund auf schreibt. Diese Klasse kann auch als Basisklasse für die Vererbung durch algorithmische Händler verwendet werden, die automatisierte Programme einsetzen.
Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 10): Nur echte Daten für das Replay verwenden
Hier werden wir uns ansehen, wie wir zuverlässigere Daten (gehandelte Ticks) im Wiedergabesystem verwenden können, ohne uns Gedanken darüber zu machen, ob sie angepasst sind oder nicht.
Elastische Netzregression mit Koordinatenabstieg in MQL5
In diesem Artikel untersuchen wir die praktische Umsetzung der elastischen Netzregression, um die Überanpassung zu minimieren und gleichzeitig automatisch nützliche Prädiktoren von solchen zu trennen, die wenig prognostische Kraft haben.
Einen handelnden Expert Advisor von Grund auf neu entwickeln (Teil 27): Der Zukunft entgegen (II)
Gehen wir nun zu einem vollständigeren Auftragssystem direkt auf dem Chart über. In diesem Artikel zeige ich einen Weg, das Auftragssystem zu reparieren, oder besser gesagt, es intuitiver zu gestalten.
Algorithmen zur Optimierung mit Populationen: Evolutionsstrategien, (μ,λ)-ES und (μ+λ)-ES
Der Artikel behandelt eine Gruppe von Optimierungsalgorithmen, die als Evolutionsstrategien (ES) bekannt sind. Sie gehören zu den allerersten Populationsalgorithmen, die evolutionäre Prinzipien für die Suche nach optimalen Lösungen nutzen. Wir werden Änderungen an den herkömmlichen ES-Varianten vornehmen und die Testfunktion und die Prüfstandsmethodik für die Algorithmen überarbeiten.
Datenkennzeichnung für die Zeitreihenanalyse (Teil 4):Deutung der Datenkennzeichnungen durch Aufgliederung
In dieser Artikelserie werden verschiedene Methoden zur Kennzeichnung (labeling) von Zeitreihen vorgestellt, mit denen Daten erstellt werden können, die den meisten Modellen der künstlichen Intelligenz entsprechen. Eine gezielte und bedarfsgerechte Kennzeichnung von Daten kann dazu führen, dass das trainierte Modell der künstlichen Intelligenz besser mit dem erwarteten Design übereinstimmt, die Genauigkeit unseres Modells verbessert wird und das Modell sogar einen qualitativen Sprung machen kann!
Entwicklung eines Wiedergabesystems — Marktsimulation (Teil 04): Anpassung der Einstellungen (II)
Lassen Sie uns mit der Entwicklung des Systems und der Kontrollen fortfahren. Ohne die Möglichkeit, den Dienst zu kontrollieren, ist es schwierig, Fortschritte zu machen und das System zu verbessern.
Grafiken in der Bibliothek DoEasy (Teil 93): Vorbereiten der Funktionen zur Erstellung zusammengesetzter grafischer Objekte
In diesem Artikel beginne ich mit der Entwicklung der Funktionalität zur Erstellung von zusammengesetzten grafischen Objekten. Die Bibliothek wird die Erstellung von zusammengesetzten grafischen Objekten unterstützen, wobei diese Objekte eine beliebige Hierarchie von Verbindungen haben können. Ich werde alle notwendigen Klassen für die spätere Implementierung solcher Objekte vorbereiten.
Entwicklung eines Replay-Systems — Marktsimulation (Teil 03): Anpassen der Einstellungen (I)
Beginnen wir mit der Klärung der gegenwärtigen Situation, denn wir haben keinen optimalen Start hingelegt. Wenn wir es jetzt nicht tun, werden wir bald in Schwierigkeiten sein.
Algorithmen zur Optimierung mit Populationen: Ein dem Elektro-Magnetismus ähnlicher Algorithmus (ЕМ)
Der Artikel beschreibt die Prinzipien, Methoden und Möglichkeiten der Anwendung des elektromagnetischen Algorithmus bei verschiedenen Optimierungsproblemen. Der EM-Algorithmus ist ein effizientes Optimierungswerkzeug, das mit großen Datenmengen und mehrdimensionalen Funktionen arbeiten kann.
Nachrichtenhandel leicht gemacht (Teil 1): Erstellen einer Datenbank
Der Nachrichten basierte Handel kann kompliziert und erdrückend sein. In diesem Artikel werden wir die einzelnen Schritte zur Beschaffung von Nachrichtendaten erläutern. Außerdem werden wir mehr über den MQL5-Wirtschaftskalender und seine Möglichkeiten erfahren.
Verschaffen Sie sich einen Vorteil gegenüber jedem Markt (Teil V): FRED EURUSD Alternative Daten
In der heutigen Diskussion haben wir alternative tägliche Daten der St. Louis Federal Reserve zum Broad US-Dollar Index und eine Reihe anderer makroökonomischer Indikatoren verwendet, um den zukünftigen EURUSD-Wechselkurs vorherzusagen. Obwohl die Daten nahezu perfekt zu korrelieren scheinen, konnten wir leider keine wesentlichen Verbesserungen der Modellgenauigkeit feststellen, was uns möglicherweise zu der Annahme veranlasst, dass Anleger stattdessen besser auf gewöhnliche Marktnotierungen zurückgreifen sollten.
Permutieren von Preisbalken in MQL5
In diesem Artikel stellen wir einen Algorithmus zur Permutation von Preisbalken vor und erläutern, wie Permutationstests verwendet werden können, um Fälle zu erkennen, in denen die Leistung einer Strategie gefälscht wurde, um potenzielle Käufer von Expert Advisors zu täuschen.
DoEasy. Steuerung (Teil 15): TabControl WinForms Objekt — mehrere Reihen von Registerkartenüberschriften, Methoden zur Behandlung von Registerkarten
In diesem Artikel werde ich die Arbeit am Objekt TabControl WinForm fortsetzen — ich werde eine Tabulatorfeld-Objektklasse erstellen, es möglich machen, Tabulatorüberschriften in mehreren Zeilen anzuordnen und Methoden für die Handhabung von Objekttabs hinzufügen.
Grafiken in der DoEasy-Bibliothek (Teil 97): Unabhängige Handhabung der Bewegung von Formularobjekten
In diesem Artikel werde ich die Implementierung des unabhängigen Ziehens von beliebigen Formularobjekten mit der Maus betrachten. Außerdem werde ich die Bibliothek um Fehlermeldungen und neue Deal-Eigenschaften ergänzen, die zuvor in das Terminal und MQL5 implementiert wurden.