mercredi 12 janvier 2011

OrderSend()

Les Expert Advisor passent leurs ordres d' achat ou de vente grâce à la fonction OrderSend().
Si vous avez un compte démo avec argent fictif sur Metatrader ( si vous n' en avez pas, choisissez un broker ici et ouvrez en un ), vous devez voir en bas de l' interface l' onglet trading. Cliquez dessus. Vous voyez maintenant votre balance et les ordres passés ( s' il en est ).



La fonction :
int OrderSend (string paire, int operation, double nblots, double prix, int slippage, double stoploss, double takeprofit, string comment = NULL, int numero = 0, datetime expiration = 0, color arrow = CLR_NONE)

Comme vous pouvez le constater, cette fonction a besoin de beaucoup de paramètres. Nous allons les voir un par un.

   - paire : est le nom de la paire sur lequel l' Expert Advisor doit passer un ordre. Par exemple "EURUSD", ou "EURGBP". Pour rendre les choses plus pratiques, on entre souvent pour ce paramètre la fonction Symbol(). En effet, celle-ci renvoie automatiquement la paire sur laquelle le robot est installé.

   - operation : est comme son nom l' indique l' opération à passer. Au choix : OP_Buy, OP_SELL, OP_BUYLIMIT, OP_SELLLIMIT, OP_BUYSTOP, et OP_SELLSTOP. ( Voir cours ).

   - nblots : est le nombre de lots sur lesquels porte l' opération. ( Voir cours ).

   - prix : est le prix ! Sert pour les ordres Limit et Stop.

   - slippage : est la différence maximale de pips acceptée par le trader entre le prix souhaité et le prix auquel l' ordre est finalement exécuté.

   - stoploss et takeprofit : est le prix auquel les pertes doivent être coupées et les plus-values prises. ( Voir cours ).

   - comment : est la possibilité de laisser un commentaire sur le trade.

   - numéro : est le numéro de l' ordre passé. C' est au trader de le définir.

   - expiration : date à laquelle l' ordre prend fin. Les brokers fixent en effet une limite de durée à chaque ordre. N' entrez rien pour laisser l' ordre ouvert jusqu' à la date limite autorisée par le broker.

   - arrow : indique un point ou une flèche sur la courbe du graphique Metatrader de la paire sur laquelle l' ordre a été placé. Pas obligatoire.


Un exemple d' utilisation :

bool vrai = true;

int
start()

  {
   if (vrai == true)
    {
     vrai = false;

     OrderSend
(Symbol(), OP_BUY, 0.1, Ask, 3, Bid-15*Point, Bid+15*Point, "Premier ordre !", 1);

    }
return
;

  }

Point correspond à 1 pip.
En d' autres termes, on achète 0,1 Lot de la paire de notre choix, au prix de la demande ( à 3 pips près ), on coupe les pertes si le cours atteint le prix de l' offre moins 15 pips, on prend les bénéfices si le cours atteint le prix de l' offre + 15 pips.
L' ordre est le numéro 1, et a pour commentaire Premier ordre !.

Compilez puis exécutez le code. Au moment de lancer l' exécution, cochez la case 'Autoriser Trading en direct' sur la fenêtre qui apparaît ( comme ci-dessous ).


Que se passe t-il maintenant ?
D' abord, vous devez voir l' ordre passé et tous les détails dans votre balance de trading ( en bas de l' interface de Metatrader ). Ensuite, sur le graphique de la paire tradée, vous devez pouvoir observer trois ou quatre lignes. La droite verte ( celle du milieu ) est à la hauteur du prix d' achat. Les deux lignes rouges symbolisent les niveaux de prix du takeprofit et du stoploss. Enfin, peut-être voyez-vous aussi une ligne blanche qui suite l' indice du prix en temps réel.


Quand le trade sera clos ( une affaire de quelques minutes si le forex est volatile ), vous aurez une nouvelle balance de compte avec quelques euros en moins ou en plus. Je vous rappelle qu' un pip de 10 000 euros vaut environ 1€. Si l' ordre avait été exécuté sur un compte avec argent réel, le résultat aurait été exactement le même.


---> Leçon suivante

Aucun commentaire:

Enregistrer un commentaire