Librerie: ErrorDescription

 

ErrorDescription:

La libreria contiene funzioni che restituiscono la descrizione dei codici di errore di runtime e i codici di ritorno del server di trading.

Autore: MetaQuotes

 
Automated-Trading posted  :

ErroreDescrizione:

Autore: MetaQuotes Software Corp.

Che dire del codice di ritorno del server commerciale 10027?


https://www.mql5.com/en/forum/458

 
Provare a utilizzare questa libreria con il codice 10027. Stiamo per aggiornare la Guida di MQL5.
 
Rosh:
Provare a utilizzare questa libreria con il codice 10027. Aggiorneremo la guida MQL5.


La libreria non si compila su MT5 build 244


'ErrorDescription.mqh'    ErrorDescription.mqh    1    1
'TRADE_RETCODE_NO_CHANGES' - undeclared identifier    ErrorDescription.mqh    37    12
'TRADE_RETCODE_SERVER_DISABLES_AT' - undeclared identifier    ErrorDescription.mqh    38    12
'TRADE_RETCODE_CLIENT_DISABLES_AT' - undeclared identifier    ErrorDescription.mqh    39    12
'TRADE_RETCODE_LOCKED' - undeclared identifier    ErrorDescription.mqh    40    12
'TRADE_RETCODE_FROZEN' - undeclared identifier    ErrorDescription.mqh    41    12
no executable file produced        1    1
6 error(s), 0 warning(s)        1    1
 
investeo:


La libreria non viene compilata su MT5 build 244

Spiacente, attendere l'aggiornamento.
 

Vorrei ricevere raccomandazioni su come il PBX dovrebbe gestire questi messaggi.

TradeServerReturnCodeDescription(int return_code) 

Vorrei ricevere raccomandazioni dai creatori del terminale su come il PBX dovrebbe trattarli.

Diciamo che ha ricevuto la risposta di

caso TRADE_RETCODE_REQUOTE: return(" Requote");

può ripetere immediatamente la richiesta o è consigliabile un certo ritardo.

Supponiamo che si debba martellare il server fino a quando non si riceve questo messaggio

caso TRADE_RETCODE_TOO_MANY_REQUESTS: return(" Richieste troppo frequenti ");

a sua volta, cosa fare con questo messaggio? Come dovrebbe reagire il PBX, ecc.

 
Il campionato è tra 2 mesi, e in effetti non c'è nessuna funzione di apertura della posizione... arriverà un errore... e la colpa è tua... puoi mettere una pausa di qualche secondo su qualsiasi errore? Cosa ne pensi?
 
Prival:

Mi piacerebbe che, oltre ai messaggi

Vorrei che i creatori del terminale mi suggerissero come il PBX dovrebbe trattarli.

Diciamo che ha ricevuto la risposta di

caso TRADE_RETCODE_REQUOTE: return (" Requote");

è possibile ripetere la richiesta immediatamente o è consigliabile un certo ritardo.


Struttura del risultato della richiesta commerciale

Descrizione del campo

Campo

Descrizione del campo

retcode

Codice di ritorno del server commerciale

affare

Ticket dell'operazione, se è stata eseguita. Segnalato durante un'operazione di compravendita TRADE_ACTION_DEAL

ordine

Biglietto dell'ordine, se è stato piazzato. Viene segnalato durante un'operazione di compravendita TRADE_ACTION_PENDING

volume

Volume dell'operazione confermato dal broker. Dipende dal tipo di esecuzione dell'ordine

Prezzo

Il prezzo dell'operazione confermato dal broker. Dipende dal campo di deviazione nella richiesta di negoziazione e/o dal tipo di operazione di negoziazione.

offerta

Prezzo corrente di mercato (prezzo di requote)

chiedere

Prezzo bid attuale del mercato (prezzo requote)

Commento

Commento del broker sull'operazione (riempito per impostazione predefinita)


Prova a inviare una nuova richiesta di compravendita ai prezzi offerti

 
Il codice ERR_CHART_WRONG_TIMER_PARAMETER non è definito nella build 1100. Dovrebbe essere rimosso da questa libreria perché dà un errore di compilazione.
 

In errordescription.mqh la riga 82 dovrebbe essere corretta

// caso ERR_CHART_WRONG_TIMER_PARAMETER: return(" Parametro errato per il timer");
caso ERR_CHART_WRONG_PARAMETER:return("Parametro errato per il timer");

L'ho commentato, quindi funziona.

 

Mi sembra che nel file errordescription.mqh abbia senso cambiare le righe return("Codice sconosciuto della risposta alla richiesta di negoziazione") e return("Errore sconosciuto") con qualcosa di più informativo, ad esempio, come questo:

return("Codice sconosciuto di risposta alla richiesta di negoziazione: " + IntegerToString(return_code)) e

return("Errore sconosciuto: " + IntegerToString(err_code) );

Il vantaggio è evidente. Sarete in grado di catturare i codici di errore passati erroneamente che non sono codici e di cercare le descrizioni dei codici che non sono nel file errordescription.mqh nello stesso google. Questo è esattamente il modo in cui l'ho modificato.