Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Vues:
21
Note:
(2)
Publié:
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance


Modify_Orders.mqh est destiné à la gestion des positions et des ordres dans MetaTrader 5

Objectif

Le fichier Modify_Orders.mqh fournit deux fonctions puissantes pour gérer les positions ouvertes et les ordres en attente dans les Expert Advisors et les indicateurs sur la plateforme MetaTrader 5. Il est conçu pour automatiser les opérations de routine pour modifier les niveaux de Stop Loss, Take Profit et les prix des ordres.

Caractéristiques principales :

  • Modification du Stop Loss et du Take Profit pour les positions ouvertes

  • Modification des prix desordres en attente

  • Filtrage flexible par types de positions, rentabilité et symboles

  • Prise en charge de différents modes de calcul de la valeur (en pips ou en prix absolus).

Structure

Fonction Modify_Position()

Conçue pour modifier les niveaux de Stop Loss et de Take Profit des positions ouvertes.

void Modify_Position(
   string tp_and_sl,      // "SL" ou "TP" - ce que nous changeons.
   string price_and_value, // "Valeur" ou "Prix" - type de valeur
   string type_position,   // Filtrer par type de position
   double price_tp_and_sl, // Valeur à définir
   string symb,           // Symbole de l'instrument de négociation
   long   magicNumber     // Expert en nombres magiques.
);

Paramètres de filtrage des positions :


Paramètre type_position Description
"Toutes Toutes les positions
"Tous les bénéfices Uniquement les positions rentables
"Toutes les pertes Seulement les positions perdantes
"Acheter" Uniquement les positions achetées
"Profit d'achat Uniquement les positions d'achat rentables
Buy Loss" (perte à l'achat) Uniquement les positions d'achat perdantes
"Vendre" Uniquement les positions de vente
"Profit de vente Uniquement les positions de vente rentables
"Perte à la vente Uniquement les positions de vente perdantes


Exemples d'utilisation :

// Fixer le SL à 1000 points pour toutes les positions
Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);

// Fixer le TP à 1.2345 pour des positions d'achat rentables
Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345);

// Fixer le seuil de déclenchement à 500 points pour les positions de vente non rentables
Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);

Fonction Modify_Order()

Conçue pour modifier les ordres en attente (ordres Stop et Limit).

void Modify_Order(
   string tp_sl_price,     // "Prix", "SL" ou "TP".
   string type_order,      // Type de commande pour le filtrage
   double price_tp_sl_price, // Un nouveau sens.
   string symb,            // Symbole de l'instrument de négociation
   long   magicNumber      // Expert en nombres magiques.
);


Types d'ordres pris en charge :

  • "Buy Stop" - ordre d'achat stop en attente

  • " Buy Limit" - ordre d'achat à cours limité en attente.

  • "Sell Stop" - ordre Sell Stop en attente.

  • "Sell Limit" - ordre de vente à cours limité en attente.


Exemples d'utilisation :

// Modifier le prix de l'ordre d'achat stop
Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0);

// Définir le Stop Loss pour l'ordre Sell Limit
Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345);

// Modifier le Take Profit pour l'ordre d'achat à cours limité
Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);

Principe de fonctionnement

Algorithme Modify_Position :

  1. Recherche de toutes les positions ouvertes dans l' ordre inverse

  2. Filtrage des positions par symbole et numéro magique

  3. Vérification de conditions supplémentaires ( type de position, rentabilité)

  4. Calcul des nouvelles valeurs SL/TP :

    • Pour le mode "Valeur" : Prix ± (Valeur × Point)

    • Pour le mode "Prix" : assignation directe de la valeur

  5. Envoi de la commande de modification via OrderSend()


Algorithme Modify_Order :

  1. Enumère tous les ordres en attente

  2. Filtrage par symbole, numéro magique et type d'ordre

  3. Modification du paramètre spécifié ( prix, SL ou TP)

  4. Sauvegarde des paramètres inchangés

  5. Envoi de la commande de modification


Caractéristiques de mise en œuvre

Sécurité et fiabilité :

  1. Double vérification des types d'ordres - par paramètre de chaîne et type réel du système

  2. Filtrage complexe - garantit que seules les positions/ordres cibles sont affectés.

  3. Préservation des paramètres inchangés - lorsque SL est modifié, TP est préservé et vice versa.


Calculs mathématiques :

Pour lespositions d'achat:

  • Stop Loss: Prix actuel - (Valeur × Point)

  • Take Profit: Prix actuel + (Valeur × Point)

Pour lespositions de vente:

  • Stop Loss: Prix actuel + (Valeur × Point)

  • Take Profit: Prix actuel - (Valeur × Point)


Recommandations d'utilisation

Pour les experts en trading :

#include <Modify_Order.mqh>

// Dans la fonction OnTick() ou par condition :
if(Условие_для_трейлинга)
{
    // Tirer le SL sur le prix lorsqu'il évolue dans la direction souhaitée
    Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic);
}

Pour les scripts manuels :

// Script pour une SL rapide sur toutes les positions
void OnStart()
{
    Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);
}

Paramètres optimaux :

  • Période: n'importe laquelle (les fonctions sont indépendantes de la période)

  • Instruments: toutes les paires de devises, métaux, indices.

  • Nombre magique: il est recommandé d'utiliser des valeurs uniques pour chaque conseiller expert.

Avantages de la bibliothèque

  1. Polyvalence - fonctionne avec tous les instruments de trading

  2. Flexibilité - 18 modes différents de filtrage des positions

  3. Facilité d'utilisation - interface intuitive

  4. Fiabilité - vérifications complètes avant modification

  5. Efficacité - dépenses minimales en ressources informatiques

Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/68540

nPositions de profit et de perte nPositions de profit et de perte

Calculateur de pertes et profits des positions (ordres ouverts)

WPR Monitoring MTF Trend WPR Monitoring MTF Trend

monitoring varous trends of timeframes in one timeframes

Sideways Martingale Sideways Martingale

Le détecteur de tendance Martingale utilise l'IA onnx

Spread Monitor and Filter Spread Monitor and Filter

This library provides real-time spread monitoring and statistical diagnostics for MetaTrader 5 symbols. It tracks spread evolution using a lightweight circular buffer and computes running metrics such as average, minimum, maximum, and standard deviation. The library classifies current spread conditions into informational states (low, normal, high, extreme) and offers helper methods to query spread behavior and stability. Optional notifications can be enabled to signal unfavorable market conditions. The library is purely analytical: it does not place trades, manage orders, or modify account state, and is intended to be used as a supporting tool inside Expert Advisors or indicators.