Come Vengono Calcolati gli Ordini su MT5
Risposta diretta
In MetaTrader 5 (MT5), “calcolo dell’ordine” di solito indica il calcolo dei valori necessari per piazzare un ordine — in particolare il prezzo obiettivo (o livello di attivazione) e la dimensione prevista dell’operazione (dimensione della posizione) — in base a input come le specifiche contrattuali dello strumento e i parametri dell’ordine (tipo di ordine, dimensione del lotto e campi prezzo). Il risultato numerico esatto non è quindi una singola formula universale; si tratta invece di un insieme di meccaniche che combinano input della richiesta d’ordine e impostazioni dello strumento, per poi essere finalizzate dal motore di esecuzione al momento del riempimento dell’ordine.
Poiché hai chiesto come vengono calcolati gli ordini su MT5, il modo più verificabile per descriverlo è come un processo:
- decidere il tipo di ordine e i relativi campi prezzo/livello di attivazione,
- risolvere il prezzo richiesto in un prezzo eseguibile utilizzando il modello di quotazione di mercato ipotizzato al momento dell’esecuzione,
- convertire il volume scelto (lotti) nell’esposizione nozionale della posizione utilizzando le specifiche contrattuali dello strumento,
- calcolare in seguito le quantità economiche (ad esempio, profitto/perdita) a partire dal prezzo effettivo di riempimento.
Meccaniche e definizioni
Prezzo dell’ordine vs livello di attivazione
Gli ordini MT5 rientrano tipicamente in categorie come esecuzione di mercato (immediata) ed esecuzione pendente/basata su attivazione (condizione futura). La differenza principale per quanto riguarda il “calcolo” è quale prezzo la piattaforma utilizza come input operativo:
- Ordine a mercato: il “calcolo” consiste principalmente nella selezione del prezzo eseguibile al momento dell’esecuzione.
- Ordine pendente: si calcola rispetto a un livello di attivazione (ad esempio, un prezzo obiettivo). L’ordine diventa idoneo quando il mercato raggiunge tale condizione.
Input comuni che influenzano il risultato calcolato
Una richiesta d’ordine include normalmente:
- Tipo di ordine (di mercato o pendente/basato su attivazione).
- Campi prezzo richiesti (per gli ordini di mercato, di solito non è un obiettivo fisso; per quelli pendenti, è un livello esplicito).
- Volume (spesso espresso in lotti).
- Selezione dello strumento (simbolo). Il simbolo collega l’ordine alle impostazioni contrattuali.
- Impostazioni di esecuzione e del conto (ad esempio, se vengono addebitate commissioni e come vengono applicate).
Per calcolare numeri coerenti, MT5 necessita anche di configurazioni dello strumento come:
- Dimensione del contratto / unità per lotto: quante unità sottostanti rappresenta un lotto standard.
- Dimensione del tick e valore del tick (o granularità di prezzo equivalente): usati per definire come i prezzi si muovono a passi discreti e come il valore cambia con le variazioni di prezzo.
- Volume minimo/passo: usato per arrotondare la dimensione del lotto richiesta a incrementi consentiti.
Un “insieme di formule” pratico da verificare
Anche se i dettagli interni dell’implementazione di MT5 non sono identici per ogni broker, un modello generico e verificabile è il seguente:
-
Normalizzare il volume ai passi consentiti
- Sia V_req il volume richiesto in lotti.
- Sia V_min il lotto minimo e V_step il passo del lotto.
- La piattaforma utilizza effettivamente un volume normalizzato V_used che rispetta le regole di passo (possono verificarsi arrotondamenti o rifiuti a seconda dell’implementazione).
-
Convertire i lotti in esposizione sottostante
- Sia C la dimensione del contratto (unità per 1 lotto).
- Sia U = V_used × C il numero di unità nozionali utilizzate per i successivi calcoli di profitto/perdita.
-
Determinare il prezzo di riempimento al momento dell’esecuzione
- L’esecuzione di mercato utilizza un prezzo di riempimento effettivo basato sulla quotazione corrente e sul modello di esecuzione.
- L’esecuzione pendente utilizza il primo prezzo che soddisfa la condizione di attivazione e poi il prezzo di riempimento effettivo.
-
Calcolare P/L dal prezzo di riempimento effettivo (in seguito)
- Il profitto/perdita dipende dalla differenza di prezzo tra entrata e uscita. Il “valore per unità di prezzo” è determinato dal valore del tick o da impostazioni contrattuali equivalenti.
Anche se non vedi mai il codice interno di MT5, questi sono gli input e le relazioni che rendono il risultato riproducibile quando conosci le impostazioni dello strumento e il prezzo effettivo di riempimento.
Esempio o evidenza (con assunzioni esplicite)
Supponiamo un semplice modello didattico (non specifico di un broker) per illustrare cosa significa “calcolato”.
Esempio A: Dimensionamento dell’ordine di mercato ed esposizione
Assunzioni (devi fornirle dal tuo ambiente):
- Piazzi un ordine di mercato sul simbolo X.
- Il volume richiesto è V_req = 0,20 lotti.
- La dimensione del contratto del simbolo X è C = 100.000 unità per lotto.
- La piattaforma consente passi di 0,01 lotto e non rifiuta 0,20.
Verifica passo-passo:
- Normalizza il volume: V_used = 0,20 (nessun arrotondamento necessario secondo l’assunzione di passo).
- Converti in unità: U = V_used × C = 0,20 × 100.000 = 20.000 unità.
A questo punto, il “calcolo dell’ordine” per l’esposizione è completo perché ha utilizzato solo il volume dell’ordine e le impostazioni dello strumento. Il profitto/perdita successivo utilizzerà il prezzo effettivo di riempimento.
Esempio B: Ordine pendente — livello di attivazione vs riempimento
Supponiamo di piazzare un ordine pendente con un livello di attivazione P_trigger. Il calcolo è:
- Il sistema attende finché il prezzo di mercato soddisfa la condizione di attivazione.
- Quando si attiva, il prezzo effettivo di riempimento può essere peggiore di P_trigger a causa della dinamica di esecuzione.
La differenza verificabile è quindi:
- Prezzo di attivazione influenza l’idoneità.
- Prezzo di riempimento influenza i risultati effettivi.
Questa separazione è la ragione più comune per cui le persone notano che “la mia aspettativa calcolata non corrisponde al risultato”.
Limitazioni e rischi (cosa può alterare il calcolo)
-
Variazioni dello spread e delle quotazioni al momento dell’esecuzione Anche se calcoli un numero obiettivo, il riempimento effettivo utilizza lo stato del mercato al momento dell’esecuzione. Se il bid/ask o l’ultimo prezzo scambiato cambiano tra il tuo calcolo e il riempimento, il risultato effettivo può differire.
-
Slippage e riempimenti parziali In mercati volatili, il prezzo eseguibile può spostarsi oltre quanto mostrato dalla piattaforma al momento della preparazione dell’ordine. A seconda del modello di esecuzione del broker, i riempimenti possono anche essere suddivisi.
-
Arrotondamento e validazione del volume Le dimensioni del lotto richieste possono essere arrotondate a incrementi consentiti o rifiutate. Se il tuo “calcolo” presuppone il volume esatto richiesto, potrebbe non corrispondere a quello effettivamente utilizzato.
-
Costi applicati nelle impostazioni di esecuzione/conto Commissioni, swap/rollover e altre spese possono alterare il risultato economico netto rispetto a qualsiasi calcolo che le ignori.
-
Le relazioni storiche non garantiscono risultati futuri Anche se hai riempimenti precedenti per lo stesso simbolo e volume, non puoi assumere che lo stesso comportamento dello spread, i prezzi di riempimento o i costi si ripeteranno in futuro.
Verifica e cosa controllare successivamente
Per verificare autonomamente “come vengono calcolati gli ordini su MT5” nel tuo caso, raccogli solo input stabili e verificabili dal tuo ambiente:
- Le specifiche contrattuali del simbolo (dimensione del contratto/unità per lotto, dimensione/valore del tick, volume minimo/passo).
- Il tipo di ordine utilizzato (di mercato vs pendente/attivazione).
- Il volume richiesto e se si è verificato un arrotondamento/normalizzazione.
- I prezzi effettivi di riempimento mostrati nella cronologia delle operazioni/esecuzioni.