Codici di Ritorno Trade Server

Tutte le richieste per eseguire le operazioni di trade vengono inviate come una struttura di una richiesta di trade MqlTradeRequest usando la funzione OrderSend(). Il risultato dell'esecuzione della funzione è posto alla struttura MqlTradeResult, il cui campo retcode contiene codice di ritorno del trade server.

Codice

Constant

Descrizione

10004

TRADE_RETCODE_REQUOTE

Riquotazione

10006

TRADE_RETCODE_REJECT

Richiesta rigettata

10007

TRADE_RETCODE_CANCEL

Richiesta annullata dal trader

10008

TRADE_RETCODE_PLACED

Ordine piazzato

10009

TRADE_RETCODE_DONE

Richiesta completata

10010

TRADE_RETCODE_DONE_PARTIAL

Solo una parte della richiesta è stata completata

10011

TRADE_RETCODE_ERROR

Errore elaborazione richiesta

10012

TRADE_RETCODE_TIMEOUT

Richiesta annullata per timeout

10013

TRADE_RETCODE_INVALID

Richiesta non valida

10014

TRADE_RETCODE_INVALID_VOLUME

Volume non valido nella richiesta

10015

TRADE_RETCODE_INVALID_PRICE

Prezzo non valido nella richiesta

10016

TRADE_RETCODE_INVALID_STOPS

Stops non validi nella richiesta

10017

TRADE_RETCODE_TRADE_DISABLED

Il trade è disattivato

10018

TRADE_RETCODE_MARKET_CLOSED

Il mercato è chiuso

10019

TRADE_RETCODE_NO_MONEY

Non ci sono abbastanza soldi per completare la richiesta

10020

TRADE_RETCODE_PRICE_CHANGED

Prezzi cambiato

10021

TRADE_RETCODE_PRICE_OFF

Non ci sono quotazioni per elaborare la richiesta

10022

TRADE_RETCODE_INVALID_EXPIRATION

Data di espirazione dell'ordine non valida nella richiesta

10023

TRADE_RETCODE_ORDER_CHANGED

Stato ordine cambiato

10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Richieste troppo frequenti

10025

TRADE_RETCODE_NO_CHANGES

Nessuna modifica nella richiesta

10026

TRADE_RETCODE_SERVER_DISABLES_AT

Autotrading disabilitato dal server

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

Autotrading disabilitato dal terminale client

10028

TRADE_RETCODE_LOCKED

Richiesta bloccata pe l'elaborazione

10029

TRADE_RETCODE_FROZEN

Ordine o posizione congelati

10030

TRADE_RETCODE_INVALID_FILL

Non valido tipo di filling dell'ordine

10031

TRADE_RETCODE_CONNECTION

Nessuna connessione con il trade server

10032

TRADE_RETCODE_ONLY_REAL

Il funzionamento è consentito solo per i conti live

10033

TRADE_RETCODE_LIMIT_ORDERS

Il numero di ordini in corso ha raggiunto il limite

10034

TRADE_RETCODE_LIMIT_VOLUME

Il volume degli ordini e posizioni per il simbolo ha raggiunto il limite

10035

TRADE_RETCODE_INVALID_ORDER

Errato o proibitotipo di ordine

10036

TRADE_RETCODE_POSITION_CLOSED

La posizione con lo specificato POSITION_IDENTIFIER è stata già chiusa

10038

TRADE_RETCODE_INVALID_CLOSE_VOLUME

Il volume di chiusura supera il volume della posizione corrente

10039

TRADE_RETCODE_CLOSE_ORDER_EXIST

Un ordine già chiuso esiste già per una posizione specificata. Questo può accadere quando si lavora nel sistema hedging:

  • quando si tenta di chiudere una posizione con quella opposta, mentre esistono già ordini di chiusura per la posizione
  • quando si tenta di chiudere completamente o parzialmente una posizione se il volume totale dei già presenti ordini di chiusura ed i nuovi piazzati eccedono il volume della posizione corrente

10040

TRADE_RETCODE_LIMIT_POSITIONS

l numero di posizioni aperte contemporaneamente presenti sull'account può essere limitato dalle impostazioni del server. Una volta raggiunto il limite, il server restituisce l'errore TRADE_RETCODE_LIMIT_POSITIONS quando si tenta di piazzare un ordine. La limitazione funziona in modo diverso a seconda del tipo di accounting della posizione:

  • Netting(compensazione) — viene considerato il numero di posizioni aperte. Quando viene raggiunto un limite, la piattaforma disabilita il piazzamento di nuovi ordini la cui esecuzione può aumentare il numero di posizioni aperte. Infatti, la piattaforma permette di piazzare ordini solo per i simboli che già hanno posizioni aperte. Gli ordini pendenti attuali non sono considerati in quanto la loro esecuzione può portare a cambiamenti nelle posizioni attuali, ma non può aumentare il loro numero.
  • Hedging(copertura) — gli ordini pendenti vengono considerati insieme alle posizioni aperte, dal momento che l'attivazione id un ordine pendente porta sempre ad aprire una nuova posizione. Quando viene raggiunto un limite, la piattaforma disabilita sia i nuovi ordini di mercato per l'apertura di posizioni che gli ordini pendenti.

10041

TRADE_RETCODE_REJECT_CANCEL

La richiesta di attivazione dell'ordine pendente viene rifiutata, l'ordine viene annullato

10042

TRADE_RETCODE_LONG_ONLY

La richiesta è stata respinta perché è impostata per il simbolo la regola "Sono consentite solo posizioni long" (POSITION_TYPE_BUY)

10043

TRADE_RETCODE_SHORT_ONLY

La richiesta è stata respinta perché è impostata per il simbolo la regola "Sono consentite solo posizioni short" (POSITION_TYPE_SELL)

10044

TRADE_RETCODE_CLOSE_ONLY

La richiesta è stata respinta perché è impostata per il simbolo la regola "È consentita solo la chiusura della posizione"

10045

TRADE_RETCODE_FIFO_CLOSE

La richiesta è stata respinta perché è impostato per l'account di trading il flag "La chiusura della posizione è consentita solo dalla regola FIFO" (ACCOUNT_FIFO_CLOSE=true)