“Non abbastanza denaro” su MT4/MT5: cosa significa, le cause esatte e le soluzioni efficaci

“Non abbastanza denaro” è il modo semplice con cui MetaTrader comunica che il tuo margine libero è insufficiente per l’operazione che stai cercando di effettuare (o per il volume che stai cercando di aumentare). Su MT4 questo messaggio appare come errore 134 – ERR_NOT_ENOUGH_MONEY quando un programma invia l’ordine; su MT5, il server di trading restituisce TRADE_RETCODE_NO_MONEY (10019). In entrambe le piattaforme, il significato è identico: il capitale disponibile sul tuo conto non è sufficiente a coprire il margine richiesto dal server per quel simbolo, in quel momento e per quella dimensione.

Investi nel Forex con XM

Cosa controlla la piattaforma prima di rifiutare

Quando invii un ordine di mercato, un ordine in sospeso o una richiesta di aumento della dimensione della posizione, il terminale (e il server) calcolano il margine richiesto per quello specifico strumento e volume, utilizzando le impostazioni del contratto del simbolo e la leva finanziaria del tuo conto. Se il calcolo mostra che Equità − Margine attuale < Nuovo margine richiesto, la richiesta viene rifiutata con “Denaro insufficiente“. MT5 lo documenta esplicitamente ed espone le definizioni utilizzate nella scheda Trade: il margine è ”il denaro necessario per coprire le posizioni aperte e gli ordini in sospeso“, il margine libero è Equità − Margine e il livello di margine è Equità / Margine × 100%.

Il calcolo di base dipende dal tipo di strumento. La guida di MT5 specifica le formule canoniche, ad esempio Margine Forex = Volume (lotti) × Dimensione del contratto ÷ Leva finanziaria; per i contratti negoziati in borsa e molti CFD, nella formula vengono inseriti il prezzo e le specifiche del tick (ad esempio, Volume × Dimensione del contratto × Prezzo / Leverage, o specifico dell’indice Volume × Dimensione del contratto × Prezzo × Valore del tick / Dimensione del tick). Questi sono i valori che il server utilizza per decidere se si dispone di spazio sufficiente per procedere.

Per gli sviluppatori, MT5 fornisce OrderCalcMargin() in modo da poter calcolare il margine richiesto esatto (restituito nella valuta del proprio conto) prima dell’invio. MT4 e MT5 espongono anche le proprietà per simbolo e i campi del conto per comprendere le modalità e le soglie di margine.

Apri un conto con XM

Perché succede: le cause precise alla radice

Il tuo volume richiede un margine superiore a quello che il tuo capitale libero può fornire
Il modo più rapido per incorrere in questo errore è semplicemente richiedere un numero eccessivo di lotti rispetto alla dimensione del contratto e alla leva finanziaria. Un classico esempio di Forex tratto dalle guide dei broker: per EURUSD, Margine richiesto = 100.000 (contratto) × Lotti ÷ Leva finanziaria × Prezzo EURUSD se necessario, poi convertito nella valuta del conto. Se tale importo supera il margine libero, l’ordine viene rifiutato.

Stai negoziando un simbolo con un modello di margine più elevato di quanto avevi ipotizzato
I CFD su indici, energie, metalli, azioni e futures utilizzano spesso formule di margine basate sul prezzo e sul tick o valori specificati di margine iniziale/di mantenimento. Lo stesso lotto su oro o su un indice può richiedere un margine molto più elevato rispetto a una coppia di valute principali. Il riferimento al margine di MT5 mostra questi diversi calcolatori e come il margine iniziale/di mantenimento per i futures prevalga sul calcolo basato sulla leva finanziaria.
MT5 riserva il margine per gli ordini in sospeso (e alcune sedi lo riservano sul server)
MT5 definisce ACCOUNT_MARGIN_INITIAL come fondi riservati per tutti gli ordini in sospeso, e la definizione della scheda Trade afferma che il margine copre le posizioni aperte e gli ordini in sospeso. Tale importo riservato riduce il margine libero e contribuisce direttamente al messaggio “Denaro insufficiente”. Le implementazioni ECN documentano pubblicamente anche la prenotazione lato server per gli ordini in sospeso.

Ti trovi in modalità hedging e la piattaforma applica un margine hedged
Su MT5 nei conti di copertura, il server può applicare uno specifico margine coperto per compensare le posizioni. Le proprietà dei simboli come SYMBOL_MARGIN_HEDGED definiscono quanto margine è ancora necessario per la seconda parte. Se il conto non fornisce una compensazione completa o applica un margine di copertura assoluto, il margine libero può esaurirsi prima del previsto e la piattaforma restituisce Nessun denaro.
Il capitale è inferiore a quanto pensi a causa di perdite fluttuanti, commissioni, swap o profitti bloccati
Il patrimonio netto di MT5 include (o esclude) i profitti/perdite fluttuanti e può mostrare profitti che sono bloccati fino alla fine della giornata, a seconda delle impostazioni della sede. Il margine è calcolato dal patrimonio netto, non dal saldo. Una forte perdita non realizzata o una commissione intraday possono azzerare il margine libero appena prima dell’invio.

Investi nel Forex con XM

Cosa non è (e perché la distinzione è importante)

  • Non si tratta di un problema di disponibilità dei prezzi (Quotazioni fuori servizio).
  • Non si tratta di un blocco di sessione/calendario (Mercato chiuso).
  • Non è un blocco della pipeline degli ordini (Trade context is busy).

“Non abbastanza soldi” è strettamente un risultato di rischio e margine. La soluzione è sempre quella di modificare il calcolo del rischio-margine della richiesta, non di riprovare o aspettare.

Apri un conto con XM

Correzioni precise che eliminano l’errore

  • Adatta il volume al simbolo e al conto
    Calcola il margine richiesto per l’operazione prima di inviarla e scegli una dimensione del lotto che lasci un margine di sicurezza. MT5 OrderCalcMargin() restituisce il requisito nella valuta di deposito; in MT4, le costanti MarketInfo() espongono le modalità di margine e i requisiti per lotto che consentono di scalare con precisione (ad esempio, MODE_MARGINREQUIRED, MODE_MARGINCALCMODE, MODE_MARGININIT, MODE_MARGINMAINTENANCE, MODE_MARGINHEDGED). Utilizzarle per dimensionare il volume in modo deterministico.
  • Tieni conto dei modelli di margine specifici per strumento
    Aspettati formule basate sulla leva finanziaria sulla maggior parte dei cambi spot; aspettati formule dipendenti dal prezzo o iniziali/di mantenimento su molti CFD e futures. La guida ufficiale ai margini MT5 fornisce le formule; costruisci il tuo dimensionamento attorno ad esse in modo che il calcolatore del server e le tue aspettative corrispondano esattamente.
  • Lascia spazio per gli ordini in sospeso e le posizioni coperte
    Se effettui entrate con ordini in sospeso o esegui strategie di copertura, ricorda: il margine riservato per tali istruzioni riduce il margine libero. MT5 espone ACCOUNT_MARGIN_INITIAL in modo da poter misurare quanto è già riservato; le proprietà del simbolo definiscono il margine coperto se apri una posizione di compensazione. Considera questi numeri come rigidi vincoli di budget.
  • Dimensiona in base alla realtà del capitale, non al saldo
    Il tuo capitale (saldo ± P/L variabile − commissione ± qualsiasi importo bloccato) è il punto di partenza effettivo per il margine libero, secondo le definizioni della piattaforma. Se stai sostenendo una perdita o commissioni intraday, riduci prima il volume richiesto o l’esposizione, quindi invia la nuova operazione.

Investi nel Forex con XM

Scenari pratici e la risoluzione decisiva

  • Un ordine di 1,00 lotti di oro viene rifiutato con il messaggio “Denaro insufficiente”.
    L’oro utilizza spesso modelli legati al prezzo o al margine iniziale che riducono notevolmente i requisiti FX. Applica la formula dello strumento dalla guida di MT5 e riduci il volume fino a quando OrderCalcMargin restituisce un requisito comodamente al di sotto di Equity − Margin.
  • Una nuova operazione EURUSD non va a buon fine anche se il saldo sembra sufficiente.
    Hai già inserito diversi ordini in sospeso e la piattaforma riserva un margine per essi. Il tuo ACCOUNT_MARGIN_INITIAL più il margine delle posizioni aperte lascia troppo poco margine libero per il nuovo ordine. Annulla o riduci gli ordini in sospeso, oppure riduci la dimensione del nuovo lotto e invia nuovamente l’ordine.
  • Una seconda parte coperta su MT5 viene rifiutata.
    Il simbolo definisce un margine coperto; l’aggiunta dell’operazione di compensazione richiede comunque un importo monetario definito. Interroga SYMBOL_MARGIN_HEDGED e prevedilo nel budget quando pianifichi il volume della seconda parte.
  • Un programma mostra l’errore MT4 134 solo sulle vendite.
    Il margine sul lato vendita può differire leggermente se il modello del broker utilizza fattori Bid/Ask o dipendenti dal prezzo; il risultato è comunque lo stesso: il margine richiesto per quel lato supera il margine libero. Correggi il calcolo o riduci la dimensione del lotto in modo che OrderSend venga cancellato. I thread della community illustrano questo esatto sintomo.

Apri un conto con XM

Guida per sviluppatori (MT4/MT5) per eliminare l’errore

  • 1) Calcolo del margine pre-volo:
    MT5: chiamare OrderCalcMargin(order_type, symbol, lots, price, margin_out) e utilizzare il valore restituito per accettare/rifiutare il volume localmente.
    MT4: leggere le costanti di margine per simbolo tramite MarketInfo() per calcolare il margine richiesto per la dimensione del lotto desiderata.
    L’obiettivo è inviare solo richieste che il server accetterà.
  • 2) Budget per le operazioni in sospeso e regole di copertura:
    – Controllare AccountInfoDouble(ACCOUNT_MARGIN_INITIAL) per il margine riservato (pendenti).
    – Leggere SYMBOL_MARGIN_HEDGED e le proprietà correlate per conoscere il costo di una posizione di compensazione.
    Quindi dimensionare l’azione successiva in modo che il totale rientri nel budget.
  • 3) Rispettare la modalità di calcolo dello strumento:
    MT5 elenca diversi modelli di margine (Forex, contratti, indici, futures). Utilizzare le formule documentate per la modalità di calcolo delle operazioni del simbolo in modo che la stima rispecchi quella del server.
  • 4) Fallire prima, non sul server:
    Se il pre-controllo mostra Margine libero < Margine richiesto + buffer, non inviare. Mettere in coda l’azione fino a quando il capitale non migliora o il volume non si riduce. (Questo mantiene anche i registri puliti ed evita i tentativi limitati dal tasso).
  • 5) Mostra all’utente il collo di bottiglia:
    Negli strumenti/EA, mostra: Equità, Margine, Margine libero, ACCOUNT_MARGIN_INITIAL
    (MT5) e il margine richiesto per ogni ordine. I trader smettono di ricevere l’errore 134/10019 una volta che vedono cosa sta consumando il loro budget.

Investi nel Forex con XM

MT4 vs MT5: le piccole differenze che contano

  • Codici di errore: MT4 utilizza 134 / ERR_NOT_ENOUGH_MONEY; MT5 restituisce TRADE_RETCODE_NO_MONEY ed espone funzioni di pre-controllo più ricche.li>
  • Calcolatori integrati: OrderCalcMargin() di MT5 fornisce il margine richiesto nella valuta del conto per un’operazione ipotetica; MT4 si basa sulle proprietà del simbolo/conto e sull’aritmetica del codice.
  • Budgeting degli ordini in sospeso: i campi del conto di MT5 includono esplicitamente il margine riservato per gli ordini in sospeso nel modello della piattaforma; i server ECN documentano pubblicamente una riserva simile sui conti live.
  • Specifiche di copertura: MT5 descrive in dettaglio il margine coperto tramite SYMBOL_MARGIN_HEDGED e le proprietà correlate; utilizzale per evitare sorprese quando aggiungi gambe opposte.

Apri un conto con XM

Una breve lista di controllo affidabile

  • Dimensiona l’ordine utilizzando la formula documentata del simbolo; sul Forex è Lotti × Dimensione del contratto ÷ Leva finanziaria (adeguata al prezzo/valuta, ove applicabile).
    Su molti CFD, il prezzo e i tick fanno parte del calcolo.

  • Verifica che il margine libero sia sufficiente prima di inviare: Margine libero = Capitale proprio − Margine, e il margine include già la copertura per gli ordini in sospeso nella contabilità della piattaforma.
  • Budget per le coperture: se si apre una posizione di compensazione, includere il margine coperto dalle proprietà del simbolo.
  • Ricordare la realtà del capitale: le perdite fluttuanti, le commissioni e qualsiasi profitto bloccato riducono ciò che è possibile utilizzare ora.
  • Automatizza il controllo preliminare: utilizza OrderCalcMargin() (MT5) o le costanti di margine (MT4) in modo che vengano inviati solo gli ordini fattibili.

Investi nel Forex con XM

Perché questi passaggi risolvono definitivamente l’errore

Il server rifiuta gli ordini con il messaggio “Fondi insufficienti” solo quando il calcolo del margine richiesto supera la tua capacità disponibile. La piattaforma pubblica le formule e i campi esatti che utilizza e MT5 offre anche una funzione dedicata per calcolare il requisito nella valuta del tuo deposito. Quando dimensionate gli ordini con gli stessi input, tenete conto delle riserve di ordini in sospeso e del margine coperto e basate le decisioni sul patrimonio netto piuttosto che sul saldo, la richiesta che inviate soddisfa già la soglia del server. A quel punto, l’errore 134 / TRADE_RETCODE_NO_MONEY smette di apparire, perché le tue richieste corrispondono al centesimo ai controlli di rischio della piattaforma.

Apri un conto con XM

1

DerivDeriv

4,9 rating based on 49 ratings
4.9/5 49
2

XMXM

4,9 rating based on 64 ratings
4.9/5 64
3

LiteFinanceLiteFinance

4,8 rating based on 41 ratings
4.8/5 41
4

easyMarketseasyMarkets

4,8 rating based on 37 ratings
4.8/5 37
5

FXGTFXGT

4,7 rating based on 20 ratings
4.7/5 20
1

BybitBybit

4,4 rating based on 44 ratings
4.4/5 44
2

CoinTRCoinTR

4,1 rating based on 40 ratings
4.1/5 40
3

BitgetBitget

punteggio 3,0
3/5 0
4

BinanceBinance

4,8 rating based on 66 ratings
4.8/5 66
5

KuCoinKuCoin

4,5 rating based on 36 ratings
4.5/5 36
  • Close