/* Fractured Fractals (barabashkakvn's edition) EA Erläuterung: Allgemeiner Zweck: - Dieser EA, der 2005 von tageiger erstellt wurde, verwendet den klassischen iFractals-Indikator, um potenzielle Umkehrpunkte im Markt zu identifizieren. - Er trifft Handelsentscheidungen auf der Grundlage von Fraktalwerten, indem er schwebende Orders (BuyStop/SellStop) platziert oder bestehende Positionen modifiziert (z. B. Anpassung der Stop-Loss-Niveaus). - Der EA beinhaltet ein Risikomanagement, indem er eine optimale Handelsgröße auf der Grundlage der Kontomarge und eines benutzerdefinierten maximalen Risikoprozentsatzes berechnet. Hauptkomponenten: - Bibliotheken: Der Code enthält mehrere MQL5-Handelsbibliotheken (CTrade, CPositionInfo, CSymbolInfo, CAccountInfo, CDealInfo, COrderInfo), um Handelsoperationen zu handhaben, Positionen zu verwalten und Symbol-/Kontodetails abzurufen - Eingabeparameter: - MaximumRisk: Das maximale Risiko pro Handel in Prozent des Kontokapitals. - DecreaseFactor: Ein Faktor, der verwendet wird, um die Handelsgröße nach aufeinanderfolgenden Verlusten zu reduzieren. - Verfall: Die Lebensdauer (in Stunden) von schwebenden Aufträgen. - m_magic: Eine eindeutige Kennung (magische Zahl) zur Unterscheidung der von diesem EA ausgeführten Trades von anderen. Initialisierung (OnInit): - Der EA richtet das Handelssymbol ein und aktualisiert die Marktdaten. - Er konfiguriert das Handelsobjekt mit der angegebenen magischen Zahl und wählt einen geeigneten Auftragserfüllungstyp (FOK, IOC oder eine Standardmethode), je nachdem, was der Broker unterstützt. - Es wird ein Handle für den iFractals-Indikator mit dem aktuellen Symbol und Zeitrahmen erstellt. Verschiedene fraktalbezogene Variablen werden auf EMPTY_VALUE initialisiert, und der Zeitpunkt des letzten profitablen Geschäfts wird gespeichert. OnTick-Funktion: - Die OnTick-Funktion wird bei jedem neuen Balken ausgelöst. Sie prüft zunächst, ob sich ein neuer Balken gebildet hat, indem sie die Zeit des aktuellen Balkens mit einem gespeicherten Zeitstempel vergleicht. - Sie ruft die oberen und unteren Fraktalwerte mithilfe des iFractals-Indikators ab. - Der EA aktualisiert eine Historie der Fraktalwerte, indem er ältere Werte verschiebt und die neuesten speichert. - Er zeigt die aktuellen Fraktalwerte auf dem Chart durch Kommentare an, um die Überwachung zu erleichtern. - Der EA zählt die aktuellen offenen Positionen und ausstehenden Aufträge. Wenn die Bedingungen erfüllt sind (z. B. eine steigende Sequenz für Kaufaufträge oder eine fallende Sequenz für Verkaufsaufträge), berechnet er eine optimierte Handelsgröße und platziert eine schwebende Order (BuyStop oder SellStop). - Außerdem passt er die Stop-Loss-Niveaus für offene Positionen auf der Grundlage der neuen Fraktalwerte an und entfernt veraltete schwebende Orders, wenn sich die Marktbedingungen geändert haben. Risiko- und Handelsgrößenmanagement: - Die Funktion TradeSizeOptimized berechnet die ideale Losgröße auf der Grundlage der freien Margin des Kontos, des definierten maximalen Risikoprozentsatzes und der Marginanforderung pro Lot. - Wird eine Reihe von Verlusten festgestellt, reduziert der EA die Handelsgröße weiter auf der Grundlage des DecreaseFactors. - Die Funktion LotCheck stellt sicher, dass die berechnete Losgröße die Mindest-, Höchst- und Lotschrittgrenzen des Brokers respektiert. Zusätzliche Utility-Funktionen: - RefreshRates: Aktualisiert die Marktdaten für das Symbol, um aktuelle Kurse zu gewährleisten. - IsFillingTypeAllowed: Prüft, ob ein bestimmter Auftragstyp (z. B. FOK, IOC) vom Broker zugelassen ist. - iTime: Ruft die Zeit eines bestimmten Balkens ab, um sicherzustellen, dass der EA mit neuen Balken arbeitet. - LastProfitDeal: Durchsucht die Handelshistorie, um den Zeitpunkt des letzten profitablen Geschäfts zu finden, der für die Risikomanagementberechnungen verwendet wird. - iFractalsGet: Ruft Fraktalwerte aus den Puffern des Indikators ab, mit Fehlerprotokollierung, wenn die Daten nicht kopiert werden können. - CompareDoubles: Vergleicht zwei Double-Werte mit einer bestimmten Genauigkeit, um festzustellen, ob sie tatsächlich gleich sind. - PrintComments: Aktualisiert die Kommentare auf dem Diagramm mit den aktuellen Fraktalwerten und der Zeit zu Überwachungszwecken. Zusammenfassung: - Der EA nutzt den iFractals-Indikator, um Marktumkehrungen zu erkennen. - Er platziert automatisch schwebende Orders, wenn bestimmte Fraktal-Bedingungen erfüllt sind. - Offene Positionen werden dynamisch verwaltet, indem die Stop-Loss-Levels angepasst werden. - Er setzt ein umfassendes Risikomanagement ein, um die Handelsgröße auf der Grundlage der aktuellen Kontobedingungen und der jüngsten Performance zu optimieren. Dieser gut strukturierte Code demonstriert die Verwendung der objektorientierten Programmierung in MQL5 zur effizienten Verwaltung von Handelsoperationen und Risiken. */
Programmier-Tutorial
Wettbewerb. Ich werde kostenlos
Ich schreibe kostenlos einen
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich