Guarda come scaricare robot di trading gratuitamente
Ci trovi su Telegram!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
19
Valutazioni:
(2)
Pubblicato:
Freelance MQL5 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:

  1. Ricerca di tutte le posizioni aperte in ordine inverso

  2. Filtro delle posizioni per simbolo e numero magico

  3. Verifica di condizioni aggiuntive ( tipo di posizione, redditività)

  4. Calcolo di nuovi valori SL/TP :

    • Per la modalità "Valore" : Prezzo ± (Valore × Punto)

    • Per la modalità "Prezzo" : assegnazione diretta del valore

  5. Invio del comando di modifica tramite OrderSend()


Algoritmo Modify_Order:

  1. Enumera tutti gli ordini pendenti

  2. Filtrazione per simbolo, numero magico e tipo di ordine

  3. Modifica del parametro specificato ( prezzo, SL o TP)

  4. Salvataggio dei parametri invariati

  5. Invio del comando di modifica


Caratteristiche di implementazione

Sicurezza e affidabilità:

  1. Doppio controllo dei tipi di ordine - tramite parametro stringa e tipo reale dal sistema

  2. Filtraggio complesso - garantisce che solo le posizioni/ordini di destinazione siano influenzati

  3. 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

  1. Versatilità - funziona con qualsiasi strumento di trading

  2. Flessibilità - 18 diverse modalità di filtraggio delle posizioni

  3. Facilità d'uso - interfaccia intuitiva

  4. Affidabilità - controlli completi prima della modifica

  5. 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 nPosizioni di profitto e di perdita

Calcolo del profitto/perdita delle posizioni (ordini aperti)

WPR Monitoring MTF Trend WPR Monitoring MTF Trend

monitoring varous trends of timeframes in one timeframes

Sideways Martingale Sideways Martingale

Rilevatore di tendenze Martingala uso onnx AI

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.