Unisciti alla nostra fan page
- Visualizzazioni:
- 19
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Modify_Orders.mqh è destinato alla gestione delle posizioni e degli ordini in MetaTrader 5.
Scopo
Modify_Orders.mqh fornisce due potenti funzioni per la gestione delle posizioni aperte e degli ordini in sospeso negli Expert Advisor e negli indicatori sulla piattaforma MetaTrader 5. È stato progettato per automatizzare le operazioni di routine per modificare i livelli di Stop Loss e Take Profit e i prezzi degli ordini.
Caratteristiche principali:
-
Modifica dello Stop Loss e del Take Profit per le posizioni aperte
-
Modifica dei prezzi degliordini pendenti
-
Filtrazione flessibile per tipi di posizione, redditività e simboli
-
Supporto di diverse modalità di calcolo del valore (in pips o in prezzi assoluti).
Struttura
Funzione Modify_Position()
Progettata per modificare i livelli di Stop Loss e Take Profit delle posizioni aperte.
void Modify_Position( string tp_and_sl, // "SL" o "TP" - cosa cambiamo. string price_and_value, // "Valore" o "Prezzo" - tipo di valore string type_position, // Filtrare per tipo di posizione double price_tp_and_sl, // Valore da impostare string symb, // Simbolo dello strumento di trading long magicNumber // Esperto di numeri magici. );
Parametri di filtraggio delle posizioni:
| Parametro tipo_posizione | Descrizione |
|---|---|
| "Tutte" | Tutte le posizioni |
| "Tutti i profitti" | Solo le posizioni redditizie |
| "Tutte le perdite" | Solo le posizioni in perdita |
| "Acquista" | Solo posizioni in acquisto |
| "Acquista profitto" | Solo posizioni di acquisto redditizie |
| "Acquista perdita | Solo posizioni Buy in perdita |
| "Vendere" | Solo posizioni di vendita |
| "Vendi profitto" | Solo posizioni di vendita redditizie |
| "Vendi perdita" | Solo posizioni di vendita perdenti |
Esempi di utilizzo:
// Impostare lo SL a 1000 punti per tutte le posizioni Modify_Position("SL", "Value", "All", 1000, _Symbol, 0); // Impostare il TP a 1,2345 per le posizioni di acquisto redditizie. Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345); // Imposta lo SL a 500 punti per le posizioni di vendita non redditizie. Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);
Funzione Modify_Order()
Progettata per modificare gli ordini pendenti (ordini Stop e Limit).
void Modify_Order( string tp_sl_price, // "Prezzo", "SL" o "TP". string type_order, // Tipo di ordine per il filtraggio double price_tp_sl_price, // Un nuovo significato. string symb, // Simbolo dello strumento di trading long magicNumber // Esperto di numeri magici. );
Tipi di ordine supportati:
-
"Buy Stop" - ordine Buy Stop in corso
-
"Buy Limit" - ordine Buy Limit in corso.
-
"Sell Stop" - ordine Sell Stop in sospeso.
-
"Sell Limit" - ordine Sell Limit in corso.
Esempi di utilizzo:
// Modificare il prezzo dell'ordine Buy Stop Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0); // Impostare lo stop loss per l'ordine Sell Limit Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345); // Modifica del Take Profit per l'ordine Buy Limit Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);
Principio di funzionamento
Algoritmo Modify_Position:
-
Ricerca di tutte le posizioni aperte in ordine inverso
-
Filtro delle posizioni per simbolo e numero magico
-
Verifica di condizioni aggiuntive ( tipo di posizione, redditività)
-
Calcolo di nuovi valori SL/TP :
-
Per la modalità "Valore" : Prezzo ± (Valore × Punto)
-
Per la modalità "Prezzo" : assegnazione diretta del valore
-
-
Invio del comando di modifica tramite OrderSend()
Algoritmo Modify_Order:
-
Enumera tutti gli ordini pendenti
-
Filtrazione per simbolo, numero magico e tipo di ordine
-
Modifica del parametro specificato ( prezzo, SL o TP)
-
Salvataggio dei parametri invariati
-
Invio del comando di modifica
Caratteristiche di implementazione
Sicurezza e affidabilità:
-
Doppio controllo dei tipi di ordine - tramite parametro stringa e tipo reale dal sistema
-
Filtraggio complesso - garantisce che solo le posizioni/ordini di destinazione siano influenzati
-
Conservazione dei parametri invariati - quando SL viene modificato, TP viene preservato e viceversa
Calcoli matematici:
Per leposizioni Buy:
-
Stop Loss: Prezzo corrente - (Valore × Punto)
-
Take Profit: Prezzo corrente + (Valore × Punto)
Per leposizioni di vendita:
-
Stop Loss: Prezzo corrente + (Valore × Punto)
-
Take Profit: Prezzo corrente - (Valore × Punto)
Raccomandazioni per l'uso
Per gli esperti di trading:
#include <Modify_Order.mqh> // Nella funzione OnTick() o per condizione: if(Условие_для_трейлинга) { // Tirare lo SL al prezzo quando si muove nella direzione desiderata Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic); }
Per gli script manuali:
// Script per uno SL rapido su tutte le posizioni void OnStart() { Modify_Position("SL", "Value", "All", 1000, _Symbol, 0); }
Parametri ottimali:
-
Timeframe: qualsiasi (le funzioni sono indipendenti dal timeframe)
-
Strumenti: qualsiasi coppia di valute, metalli, indici.
-
Numero magico: si consiglia di utilizzare valori unici per ogni Expert Advisor.
Vantaggi della libreria
-
Versatilità - funziona con qualsiasi strumento di trading
-
Flessibilità - 18 diverse modalità di filtraggio delle posizioni
-
Facilità d'uso - interfaccia intuitiva
-
Affidabilità - controlli completi prima della modifica
-
Efficienza - minimo dispendio di risorse informatiche
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/68540
nPosizioni di profitto e di perdita
Calcolo del profitto/perdita delle posizioni (ordini aperti)
WPR Monitoring MTF Trend
monitoring varous trends of timeframes in one timeframes
Sideways Martingale
Rilevatore di tendenze Martingala uso onnx AI
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.
