Bonjour à tous,
je suis débutant dans le langage MQL4 et j'en appelle à votre aide pour coder un EA.
J'ai commencé par coder un EA très simple qui doit lors de son initialisation:
- Ouvrir instantanément 2 positions (long & short) aux prix ask et bid du marché.
- Envoyer sur le carnet d'ordre 4 postions BUYSTOP, SELLLIMIT, BUYLIMIT, SELLSTOP qui s'activeront si le cours passe soit au cours actuel + 10 PIP, soit - 10PIP.
Le problème est que lorsque je backtest ce code, aucun trade n'est effectué. Quelqu'un peut-il m'indiquer mon erreur?
Je vous remercie d'avance.
Andrea
je suis débutant dans le langage MQL4 et j'en appelle à votre aide pour coder un EA.
J'ai commencé par coder un EA très simple qui doit lors de son initialisation:
- Ouvrir instantanément 2 positions (long & short) aux prix ask et bid du marché.
- Envoyer sur le carnet d'ordre 4 postions BUYSTOP, SELLLIMIT, BUYLIMIT, SELLSTOP qui s'activeront si le cours passe soit au cours actuel + 10 PIP, soit - 10PIP.
Le problème est que lorsque je backtest ce code, aucun trade n'est effectué. Quelqu'un peut-il m'indiquer mon erreur?
Je vous remercie d'avance.
Andrea
Code
//+------------------------------------------------------------------+
//| MTCM_V3.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double aski;
double bidi;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
aski=Ask;
bidi=Bid;
OrderSend(Symbol(),OP_BUY,1,aski,2,aski-10*Point,aski+10*Point,"Ordre Achat",666,0,Green);
OrderSend(Symbol(),OP_SELL,1,bidi,2,bidi+10*Point,bidi-10*Point,"Ordre Vente",666,0,Red);
OrderSend(Symbol(),OP_BUYSTOP,1,aski+10*Point,2,aski,aski+20*Point,"Ordre Achat",666,0,Green);
OrderSend(Symbol(),OP_SELLLIMIT,1,Bid+10*Point,2,Bid+20*Point,Bid,"Ordre Vente",666,0,Red);
OrderSend(Symbol(),OP_BUYLIMIT,1,aski-10*Point,2,aski-20*Point,aski,"Ordre Achat",666,0,Green);
OrderSend(Symbol(),OP_SELLSTOP,1,bidi-10*Point,2,bidi,bidi-20*Point,"Ordre Vente",666,0,Red);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+