Rejoignez notre page de fans
- Vues:
- 21
- Note:
- Publié:
-
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 :
-
Recherche de toutes les positions ouvertes dans l' ordre inverse
-
Filtrage des positions par symbole et numéro magique
-
Vérification de conditions supplémentaires ( type de position, rentabilité)
-
Calcul des nouvelles valeurs SL/TP :
-
Pour le mode "Valeur" : Prix ± (Valeur × Point)
-
Pour le mode "Prix" : assignation directe de la valeur
-
-
Envoi de la commande de modification via OrderSend()
Algorithme Modify_Order :
-
Enumère tous les ordres en attente
-
Filtrage par symbole, numéro magique et type d'ordre
-
Modification du paramètre spécifié ( prix, SL ou TP)
-
Sauvegarde des paramètres inchangés
-
Envoi de la commande de modification
Caractéristiques de mise en œuvre
Sécurité et fiabilité :
-
Double vérification des types d'ordres - par paramètre de chaîne et type réel du système
-
Filtrage complexe - garantit que seules les positions/ordres cibles sont affectés.
-
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
-
Polyvalence - fonctionne avec tous les instruments de trading
-
Flexibilité - 18 modes différents de filtrage des positions
-
Facilité d'utilisation - interface intuitive
-
Fiabilité - vérifications complètes avant modification
-
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
Calculateur de pertes et profits des positions (ordres ouverts)
WPR Monitoring MTF Trend
monitoring varous trends of timeframes in one timeframes
Sideways Martingale
Le détecteur de tendance Martingale utilise l'IA onnx
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.
