Bonjour à tous,
je créer ce sujet car j'ai un problème avec un message de mon metaeditor qui me dit :
" if - semicolon expected"
Voici si dessous mon EA que j'ai commencer c'est sur le croisement de moyenne mobile Simple 5 et 10
donc moi j'ai fait sa :
//+------------------------------------------------------------------+
//| Moyenne Mobile Simple 5-10 .mq4 |
//| Test n1 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Test n1"
#property link ""
// Variable Externes
extern int MAGIC_NUMBER = 123456;
extern double LOT = 0.01;
// Variables Globales
double MMS5, MMS10;
double MMS5_p, MMS10_p;
int Ticket;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
MMS5 = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 0);
MMS10 = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 0);
MMS5 = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 1);
MMS10 = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 1);
iF(isTrade() == false)
(
// Vendre
if(MMS5_p > MMS10_p && MMS5 < MMS10)
(
Ticket = OrderSend(Symbol(), OP_SELL, LOT,Bid 3, 0, 0, NULL, MAGIC_NUMBER, 0, Red);
)
// Achat
if(MMS5_p < MMS10_p && MMS5 > MMS10)
(
Ticket = OrderSend(Symbol(), OP_BUY, LOT,Ask 3, 0, 0, NULL, MAGIC_NUMBER, 0, Green);
)
)
else
(
if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
(
if(OrderType() ==OP_SELL)
(
if(MMS5_p < MMS10_p && MMS5 > MMS10)
(
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
)
)
if(OrderType() == OP_BUY)
(
if(MMS5_p > MMS10_p && MMS5 < MMS10)
(
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
)
)
)
)
return(0);
}
bool isTrade()
if(OrdersTotal() >= 1)
(
return(true);
)
else
(
return(false);
)
Merci a vous =)
Probleme de commande EA
Modérateur : Administrateurs
Re: Probléme de commande EA
//+------------------------------------------------------------------+
//| Moyenne Mobile Simple 5-10 .mq4 |
//| Test n1 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Test n1"
#property link ""
// Variable Externes
extern int MAGIC_NUMBER = 123456;
extern double LOT = 0.01;
// Variables Globales
double MMS5, MMS10;
double MMS5_p, MMS10_p;
int Ticket;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
MMS5 = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 0);
MMS10 = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 0);
MMS5_p = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 1);
MMS10_p = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 1);
if(isTrade() == false)
{
// Vendre
if(MMS5_p > MMS10_p && MMS5 < MMS10)
{
Ticket = OrderSend(Symbol(), OP_SELL, LOT,Bid, 3, 0, 0, NULL, MAGIC_NUMBER, 0, Red);
}
// Achat
if(MMS5_p < MMS10_p && MMS5 > MMS10)
{
Ticket = OrderSend(Symbol(), OP_BUY, LOT,Ask, 3, 0, 0, NULL, MAGIC_NUMBER, 0, Green);
}
}
else
{
if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
{
if(OrderType() ==OP_SELL)
{
if(MMS5_p < MMS10_p && MMS5 > MMS10)
{
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
}
}
else if(OrderType() == OP_BUY)
{
if(MMS5_p > MMS10_p && MMS5 < MMS10)
{
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| Fonctions persos |
//+------------------------------------------------------------------+
bool isTrade()
{
if(OrdersTotal() >= 1)
{
return(true);
}
else
{
return(false);
}
}
Voilà les erreurs que j'ai corrigées :
- Les fonctions doivent être encadrées dans des accolades et non dans des parenthèses
- Une virgule était oubliée entre les paramètres prix et slippage de la fonction OrderSend()
- Les variables MMS5_p, MMS10_p n'étaient pas renseignées alors que MMS5, MMS10 étaient renseignées 2 fois
Bon courage dans ton apprentissage du MQL4 et n'hésite pas si tu as d'autres questions !
//| Moyenne Mobile Simple 5-10 .mq4 |
//| Test n1 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Test n1"
#property link ""
// Variable Externes
extern int MAGIC_NUMBER = 123456;
extern double LOT = 0.01;
// Variables Globales
double MMS5, MMS10;
double MMS5_p, MMS10_p;
int Ticket;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
MMS5 = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 0);
MMS10 = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 0);
MMS5_p = iMA(Symbol (),0,5,2,MODE_SMA, PRICE_CLOSE, 1);
MMS10_p = iMA(Symbol (),0,10,2,MODE_SMA, PRICE_CLOSE, 1);
if(isTrade() == false)
{
// Vendre
if(MMS5_p > MMS10_p && MMS5 < MMS10)
{
Ticket = OrderSend(Symbol(), OP_SELL, LOT,Bid, 3, 0, 0, NULL, MAGIC_NUMBER, 0, Red);
}
// Achat
if(MMS5_p < MMS10_p && MMS5 > MMS10)
{
Ticket = OrderSend(Symbol(), OP_BUY, LOT,Ask, 3, 0, 0, NULL, MAGIC_NUMBER, 0, Green);
}
}
else
{
if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
{
if(OrderType() ==OP_SELL)
{
if(MMS5_p < MMS10_p && MMS5 > MMS10)
{
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
}
}
else if(OrderType() == OP_BUY)
{
if(MMS5_p > MMS10_p && MMS5 < MMS10)
{
OrderClose(Ticket, OrderLots(), Ask, 3, Blue);
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| Fonctions persos |
//+------------------------------------------------------------------+
bool isTrade()
{
if(OrdersTotal() >= 1)
{
return(true);
}
else
{
return(false);
}
}
Voilà les erreurs que j'ai corrigées :
- Les fonctions doivent être encadrées dans des accolades et non dans des parenthèses
- Une virgule était oubliée entre les paramètres prix et slippage de la fonction OrderSend()
- Les variables MMS5_p, MMS10_p n'étaient pas renseignées alors que MMS5, MMS10 étaient renseignées 2 fois
Bon courage dans ton apprentissage du MQL4 et n'hésite pas si tu as d'autres questions !
[url]http://www.algo-forex.fr[/url]: L'information utile pour gagner sur le Forex.
Performances de mon robot full auto : [b][url]http://www.algo-forex.fr/resultats-trading-forex/[/url][/b]
Performances de mon robot full auto : [b][url]http://www.algo-forex.fr/resultats-trading-forex/[/url][/b]
Re: Probléme de commande EA
Je t'envoie le document avec une structure correcte
- Pièces jointes
-
- Test n1.mq4
- le document avec une structure correcte
- (2.9 Kio) Téléchargé 270 fois
[url]http://www.algo-forex.fr[/url]: L'information utile pour gagner sur le Forex.
Performances de mon robot full auto : [b][url]http://www.algo-forex.fr/resultats-trading-forex/[/url][/b]
Performances de mon robot full auto : [b][url]http://www.algo-forex.fr/resultats-trading-forex/[/url][/b]
Re: Probléme de commande EA
Ouki merci Tid c'est cool, encore merci a toi,
Bah y'a plus qu'a continué maintenant =)
Bah y'a plus qu'a continué maintenant =)