Orders Execution
0
Views
0
Downloads
0
Favorites
JuiceExpertEssai01
//+------------------------------------------------------------------+
//| JuiceExpertEssai01.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int Lots = 1;
extern int TakeProfit = 10;
extern int StopLoss = 15;
int ticket;
//---- indicator parameters
extern bool DoAlerts = false;
extern int AlertFromPips = 8;
extern int Periyod=7;
extern int thresholdLevel=8;
extern int sosoLevel = 4;
extern bool JuiceLevelsVisible = true;
extern int JuiceStartPips = 4;
extern int JuiceStepPips = 4;
extern int JuiceLevelsNumber = 3;
extern color JuiceLevelColor = Silver;
double thresholdLevelPoint;
double sosoLevelPoint;
//---- indicator buffers
double GoodJuice[];
double BadJuice[];
double SoSoJuice[];
double currentJuiceLevel;
double Juice;
double iCustom(NULL,0,"JuiceLevelsAlertNew",16,3,0);
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Juice > AlertFromPips && Period() == 5)
{
if (Open[0]<Close[0])
{
// Les conditions d'entrées ACHAT ont été testées
// Si elles sont conformes, on passe un ordre d'achat
// la fonction OrderSend() permets l'envoi de l'ordre
// Sa synthaxe est la suivante:
// OrderSend(paire de devises, type d'ordre d'achat, nb de lots, prix d'execution, slippage, stoploss, take profit, commentaire, n° magique, expiration, couleur de la flêche sur le graphe)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"AchatJuice",16384,0,Green);
// Si le passage d'ordre a réussi, la valeur ticket a été updatée avec le n° du ticket
if(ticket>0)
{
// On sélectionne l'ordre ouvert et on envoi un message de confirmation dans la plateforme
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Ordre d ACHAT exécuté à : ",OrderOpenPrice());
}
// sinon, le passage d'ordre est donc infructeux, on envoi le message d'erreur dans la plateforme
else Print("Erreur à la création de l ordre ACHAT : ",GetLastError());
return(0);
}
else
// la fonction OrderSend() permets l'envoi de l'ordre
// Sa synthaxe est la suivante:
// OrderSend(paire de devises, type d'ordre d'achat, nb de lots, prix d'execution, slippage, stoploss, take profit, commentaire, n° magique, expiration, couleur de la flêche sur le graphe)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"VenteJuice",16384,0,Red);
// Si le passage d'ordre a réussi, la valeur ticket a été updatée avec le n° du ticket
if(ticket>0)
{
// On sélectionne l'ordre ouvert et on envoi un message de confirmation dans la plateforme
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
// sinon, le passage d'ordre est donc infructeux, on envoi le message d'erreur dans la plateforme
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
// On sort ici de la boucle
//---- done
return(0);
//----
//----
return(0);
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---