Codes de Retour du Serveur de Trading

Toutes les demandes pour exécuter des opérations de trading sont envoyées sous la forme d'une structure de demande de trade MqlTradeRequest en utilisant la fonction OrderSend(). Le résultat de l'exécution de la fonction est placé dans la structure MqlTradeResult, dont le champ retcode contient le code de retour du serveur de trades.

Code

Constante

Description

10004

TRADE_RETCODE_REQUOTE

Recotation (requote)

10006

TRADE_RETCODE_REJECT

Demande rejetée

10007

TRADE_RETCODE_CANCEL

Demande annulée par le trader

10008

TRADE_RETCODE_PLACED

Ordre placé

10009

TRADE_RETCODE_DONE

Demande terminée

10010

TRADE_RETCODE_DONE_PARTIAL

La demande a été complétée partiellement

10011

TRADE_RETCODE_ERROR

Erreur de traitement de la demande

10012

TRADE_RETCODE_TIMEOUT

Demande annulée en raison du délai trop long

10013

TRADE_RETCODE_INVALID

Demande invalide

10014

TRADE_RETCODE_INVALID_VOLUME

Volume invalide dans la demande

10015

TRADE_RETCODE_INVALID_PRICE

Prix invalide dans la demande

10016

TRADE_RETCODE_INVALID_STOPS

Stops invalides dans la demande

10017

TRADE_RETCODE_TRADE_DISABLED

Le trading est désactivé

10018

TRADE_RETCODE_MARKET_CLOSED

Le marché est fermé

10019

TRADE_RETCODE_NO_MONEY

Pas assez d'argent pour compléter la demande

10020

TRADE_RETCODE_PRICE_CHANGED

Les prix ont changé

10021

TRADE_RETCODE_PRICE_OFF

Il n'y a pas de cotation pour traiter la demande

10022

TRADE_RETCODE_INVALID_EXPIRATION

Date d'expiration de l'ordre invalide dans la demande

10023

TRADE_RETCODE_ORDER_CHANGED

L'état de l'ordre a changé

10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Demandes trop fréquentes

10025

TRADE_RETCODE_NO_CHANGES

Aucun changement dans la demande

10026

TRADE_RETCODE_SERVER_DISABLES_AT

Trading automatique désactivé par le serveur

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

Trading automatique désactivé par le terminal client

10028

TRADE_RETCODE_LOCKED

Demande verrouillée pour traitement

10029

TRADE_RETCODE_FROZEN

Ordre ou position gelé

10030

TRADE_RETCODE_INVALID_FILL

Type de remplissage d'ordre invalide

10031

TRADE_RETCODE_CONNECTION

Aucune connexion au serveur de trades

10032

TRADE_RETCODE_ONLY_REAL

L'opération n'est autorisée que pour les comptes réels

10033

TRADE_RETCODE_LIMIT_ORDERS

Le nombre limite d'ordres en attente est atteint

10034

TRADE_RETCODE_LIMIT_VOLUME

Le volume des ordres et des positions pour le symbole a atteint la limite autorisée

10035

TRADE_RETCODE_INVALID_ORDER

Type d'ordre incorrect ou interdit

10036

TRADE_RETCODE_POSITION_CLOSED

La position avec le POSITION_IDENTIFIER spécifié a déjà été fermée

10038

TRADE_RETCODE_INVALID_CLOSE_VOLUME

Le volume de clôture est supérieur au volume actuel de la position

10039

TRADE_RETCODE_CLOSE_ORDER_EXIST

Un ordre de clôture existe déjà pour la position spécifiée Ceci peut arriver lors de l'utilisation du hedging :

  • lors de la tentative de clôturer une position avec une position opposée, alors que des ordres de clôture pour la position existent déjà
  • lors de la tentative de clôturer complétement ou partiellement une position, si le volume total des ordres de clôture existants et du nouvel ordre placé est supérieur au volume actuel de la position

10040

TRADE_RETCODE_LIMIT_POSITIONS

Le nombre de positions ouvertes simultanément sur un compte peut être limité par le paramètrage du serveur. Lorsque la limite est atteinte, le serveur retourne l'erreur TRADE_RETCODE_LIMIT_POSITIONS lors de la demande de placement d'un nouvel ordre. La limite se comporte différemment suivant le type de comptabilisation des positions:

  • Netting – le nombre de positions ouvertes est pris en compte. Lorsque la limite est atteinte, la plateforme désactive le placement de nouveaux ordres dont l'exécution augmenterait le nombre de positions ouvertes. La plateforme n'autorise en fait que le placement d'ordres pour les symboles ayant déjà des positions ouvertes. Les ordres en attente en cours ne sont pas considérés puisque leur exécution peut amener des changements pour les positions actuelles mais n'augmente pas leur nombre.
  • Hedging – les ordres en attente sont pris en compte de même que les positions ouvertes, puisque l'activation d'un ordre en attente conduit toujours à ouvrir une nouvelle position. Lorsque la limite est atteinte, la plateforme désactive à la fois les nouveaux ordres au marché pour ouvrir une position et les ordres en attente.

10041

TRADE_RETCODE_REJECT_CANCEL

La demande d'activation de l'ordre en attente est rejetée, l'ordre est annulé

10042

TRADE_RETCODE_LONG_ONLY

La demande est rejetée car le paramètre "Seules les positions long sont autorisées" est activé pour le symbole (POSITION_TYPE_BUY)

10043

TRADE_RETCODE_SHORT_ONLY

La demande est rejetée car le paramètre "Seules les positions short sont autorisées" est activé pour le symbole (POSITION_TYPE_SELL)

10044

TRADE_RETCODE_CLOSE_ONLY

La demande est rejetée car le paramètre "Seules les clôtures de positions sont autorisées" est activé pour le symbole

10045

TRADE_RETCODE_FIFO_CLOSE

La requête est rejetée car le flag "La fermeture de la position n'est autorisée que par une règle FIFO" est utilisé pour le compte de trading (ACCOUNT_FIFO_CLOSE=true)

10046

TRADE_RETCODE_HEDGE_PROHIBITED

La requête est rejetée car la règle "Les positions opposées sur un seul symbole sont désactivées" est définie pour le compte de trading. Par exemple, si le compte a une position d'achat, un utilisateur ne peut pas ouvrir une position de vente ou passer un ordre de vente en attente. La règle n'est appliquée qu'aux comptes avec système de comptabilité de couverture (ACCOUNT_MARGIN_MODE= ACCOUNT_MARGIN_MODE_RETAIL_HEDGING).