Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Ansichten:
20
Rating:
(2)
Veröffentlicht:
Aktualisiert:
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance


Modify_Orders.mqh ist für die Verwaltung von Positionen und Aufträgen in MetaTrader 5 bestimmt

Zweck

Ändern_Aufträge.mqh bietet zwei leistungsstarke Funktionen zur Verwaltung von offenen Positionen und schwebenden Aufträgen in Expert Advisors und Indikatoren auf der MetaTrader 5-Plattform. Sie wurde entwickelt, um Routineoperationen zur Änderung von Stop Loss, Take Profit Levels und Orderpreisen zu automatisieren.

Hauptmerkmale:

  • Modifikation von Stop Loss und Take Profit für offene Positionen

  • Änderung der Preise für schwebende Aufträge

  • Flexible Filterung nach Positionstypen, Profitabilität und Symbolen

  • Unterstützung für verschiedene Arten der Wertberechnung (in Pips oder absoluten Preisen).

Aufbau

Modify_Position() Funktion

Entwickelt, um Stop-Loss- und Take-Profit-Niveaus offener Positionen zu ändern.

void Modify_Position(
   string tp_and_sl,      // "SL" oder "TP" - was wir ändern.
   string price_and_value, // "Wert" oder "Preis" - Art des Wertes
   string type_position,   // Filter nach Positionsart
   double price_tp_and_sl, // Zu setzender Wert
   string symb,           // Symbol für das Handelsinstrument
   long   magicNumber     // Experte für magische Zahlen.
);

Parameter der Positionsfilterung:


Parameter typ_position Beschreibung
"Alle" Alle Positionen
"Alle Gewinn" Nur profitable Positionen
"Alle Verluste" Nur Verlustpositionen
"Kaufen" Nur Kauf-Positionen
"Gewinn kaufen" Nur profitable Buy-Positionen
"Buy Verlust Nur verlustbringende Buy-Positionen
"Verkaufen" Nur Verkaufspositionen
"Sell Profit" Nur profitable Verkaufspositionen
"Verlust verkaufen" Nur verlorene Verkaufspositionen


Beispiele für die Verwendung:

// SL auf 1000 Punkte für alle Positionen setzen
Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);

// TP auf 1,2345 für profitable Kaufpositionen setzen
Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345);

// SL auf 500 Punkte für unrentable Verkaufspositionen setzen
Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);

Modify_Order() Funktion

Entwickelt, um schwebende Aufträge (Stop- und Limit-Aufträge) zu ändern.

void Modify_Order(
   string tp_sl_price,     // "Preis", "SL" oder "TP".
   string type_order,      // Auftragsart für die Filterung
   double price_tp_sl_price, // Eine neue Bedeutung.
   string symb,            // Symbol für das Handelsinstrument
   long   magicNumber      // Experte für magische Zahlen.
);


Unterstützte Ordertypen:

  • "Buy Stop" - schwebende Buy Stop-Order

  • " Buy Limit" - schwebende Buy-Limit-Order.

  • "Sell Stop" - ausstehende Sell Stop-Order.

  • "Sell Limit" - ausstehende Sell Limit-Order.


Beispiele für die Verwendung:

// Ändern Sie den Preis der Buy Stop Order
Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0);

// Stop Loss für Sell Limit Order setzen
Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345);

// Take Profit für Buy Limit Order ändern
Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);

Arbeitsweise

Modify_Position Algorithmus:

  1. Durchsuchen aller offenen Positionen in umgekehrter Reihenfolge

  2. Filterung der Positionen nach Symbol und Magic Number

  3. Überprüfung zusätzlicher Bedingungen ( Positionstyp, Profitabilität)

  4. Berechnung der neuen SL/TP-Werte :

    • Für den Modus "Wert" : Preis ± (Wert × Punkt)

    • Für den "Price" -Modus : direkte Wertzuweisung

  5. Absenden des Änderungsbefehls über OrderSend()


Algorithmus Modify_Order:

  1. Zählt alle ausstehenden Aufträge auf

  2. Filterung nach Symbol, Magic Number und Ordertyp

  3. Modifikation des angegebenen Parameters ( Preis, SL oder TP)

  4. Speichern der unveränderten Parameter

  5. Senden des Änderungsbefehls


Merkmale der Implementierung

Sicherheit und Zuverlässigkeit:

  1. Doppelte Überprüfung der Ordertypen - durch String-Parameter und realen Typ aus dem System

  2. Komplexe Filterung - stellt sicher, dass nur Zielpositionen/Aufträge betroffen sind

  3. Beibehaltung der unveränderten Parameter - wenn SL geändert wird, bleibt TP erhalten und umgekehrt


Mathematische Berechnungen:

FürKaufpositionen:

  • Stop Loss: Aktueller Kurs - (Wert × Punkt)

  • Take Profit: Aktueller Kurs + (Wert × Punkt)

FürVerkaufspositionen:

  • Stop Loss: Aktueller Kurs + (Wert × Punkt)

  • Take Profit: Aktueller Kurs - (Wert × Punkt)


Empfehlungen zur Verwendung

Für Handelsexperten:

#include <Modify_Order.mqh>

// In der Funktion OnTick() oder nach Bedingung:
if(Условие_для_трейлинга)
{
    // SL zum Preis ziehen, wenn er sich in die gewünschte Richtung bewegt
    Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic);
}

Für manuelle Skripte:

// Skript für schnelle SL auf allen Positionen
void OnStart()
{
    Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);
}

Optimale Parameter:

  • Zeitrahmen: beliebig (die Funktionen sind unabhängig vom Zeitrahmen)

  • Instrumente: beliebige Währungspaare, Metalle, Indizes.

  • Magische Zahl: es wird empfohlen, für jeden Expert Advisor eindeutige Werte zu verwenden.

Vorteile der Bibliothek

  1. Vielseitigkeit - funktioniert mit allen Handelsinstrumenten

  2. Flexibilität - 18 verschiedene Modi der Positionsfilterung

  3. Benutzerfreundlichkeit - intuitive Schnittstelle

  4. Zuverlässigkeit - umfassende Prüfungen vor der Änderung

  5. Effizienz - minimaler Aufwand an Rechenressourcen

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/68540

nGewinn- und Verlustpositionen nGewinn- und Verlustpositionen

Gewinn/Verlust-Rechner für Positionen (offene Aufträge)

nAbschließende Befehle nAbschließende Befehle

Funktion zum Schließen von Positionen und Löschen von Aufträgen

Sideways Martingale Sideways Martingale

Martingale-Trend-Detektor verwenden onnx AI

VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low

Einfache Handelsstrategie auf Basis des Ausbruchs über vorherige High- oder Low-Level