Placer un ordre en MQL4

Placer un ordre en MQL4

 

Bid, Ask et Spread

 

Le prix Ask c’est l’offre, le prix d’achat lors d’un ordre Buy, c’est le prix de clôture des ordres Sell.

Le prix Bid c’est la demande, le prix des ouvertures d’ordre Sell, c’est le prix de clôture des ordres Buy.

La différence entre le prix Bid et Ask est le spread, c’est la commission de votre broker.

 

Ask Bid price

Si je BUY j’ouvre mon ordre à 1.17776 : je pense que l’EURO va prendre de la valeur par rapport au Dollar, je paye le spread lorsque mon ordre est exécuté. Je vends du Dollar pour acheter de l’EURO. Lorsque je ferme ma position je vends de l’EURO pour récupérer du dollar reconverti en EURO sur mon compte (si c’est un compte en EUROS).

Si je SELL j’ouvre mon ordre à 1.17770 : je pense que l’EURO va perdre de la valeur par rapport au Dollar, je paye le spread lorsque mon ordre est exécuté. Je vends de l’EURO pour acheter du Dollar. Lorsque je ferme ma position je vends du dollar pour récupérer de l’EURO sur mon compte en EUROS.

Vous payez 2 fois le spread : lors du passage de l’ordre et à la fermeture de l’ordre.

Types d’ordres

Il y a 2 types d’ordre dans MetaTrader: market orders (ordres au prix du marché) et pending orders (ordre en attente). Un ordre au prix du marché, le plus courant est une ouverture d’ordre au prix Bid ou Ask du marché.

L’ordre en attente est une requête d’ouverture d’ordre à un certain prix, cet ordre est souvent nommé stop and limit order types et peut ne pas être exécuté.

 

La fonction de passage d’ordre : OrderSend()

 

La syntaxe pour passer un ordre dans votre programme est la suivante :

int OrderSend(       string Symbol,

int Type,

double Lots,

double Price,

int Slippage,

double StopLoss,

double TakeProfit,

string Comment = NULL,

int MagicNumber = 0,

datetime Expiration = 0,

color Arrow = CLR_NONE);

 

La fonction OrderSend() retourne un numéro de ticket (un entier) qui identifie de façon unique l’ordre, ce numéro de ticket peut être sauvegardé en vue d’une modification de l’ordre. Si l’ordre n’est pas passé, le retour de la fonction est (-1).

Symbol : Une variable String qui représente le couple de devise à trader exemple « EURUSD ». Si vous mettez la variable prédéfinie _Symbol, le couple de devise sera celle affichée dans le graphique courant.

Type : Une variable Integer qui précise le type de l’ordre : buy ou sell, market, stop ou limit.

OP_BUY : Ordre Buy au prix du marché, Ask (ou alors valeur 0).

OP_SELL : Ordre Sell au prix du marché, Bid (ou alors valure 1).

Lots : Une variable Double qui indique le volume de l’ordre, un mini lots (0.1) ou un micro lot (0.01) si votre broker le permet.

Price : Une variable Double qui précise le prix de l’ordre, la plupart du temps une variable prédéfinie : Ask ou Bid.

Slippage : Une variable Integer qui précise le slippage toléré. Entre le moment ou vous cliquer pour passer votre ordre et le passage effective de votre ordre par votre broker, il peut y a voir un décalage de prix. Cette données précise le décalage maximum toléré en points. Votre ordre peut ne pas être exécuté à cause d’un slippage trop bas.

StopLoss : Une variable Double qui est un prix de clôture de votre ordre. Pour un ordre d’achat (vous pensez que le cours va monter), le StopLoss est un prix inférieur au Prix d’ouverture. Pour un ordre de vente (vous estimez que le cours va baisser), le StopLoss est un prix supérieur au prix d’ouverture. Si le StopLoss est atteint vous ordre est clos avec pertes.

TakeProfit : Une variable Double qui est un prix de clôture de votre ordre. Pour une ordre d’achat, le TakeProfit est supérieur au prix d’ouverture. Pour un ordre de vente, le TakeProfit est inférieur au prix d’ouverture de l’ordre. Si le cours atteint le TakeProfit, votre ordre est clos avec gains.

Comment : Une variable String qui est commentaire optionnel associé à votre ordre. Ce commentaire est visible dans le « Terminal Window ».

MagicNumber : Une variable Integer optionnelle utilisée dans le cadre d’exécution d’ordre par un système Expert (robot de trading systématique). Cet identifiant doit être unique par Expert (EA).

Expiration : Une variable DateTime optionnelle qui précise une date d’expiration de l’ordre dans le cas d’ordre en attente. Tous les brokers n’acceptent pas ce paramètre, dans ce cas une erreur peut résulter si Expiration à une valeur.

Arrow : Une variable Color optionnelle qui indique la couleur de la flèche qui apparaîtra sur le graphique lors du passage d’ordre, Si la couleur n’est pas spécifiée aucune flèche sera dessinée.