Bonjour à tous,
Je débute en programmation et je deviens chèvre.
Normalement, l'EA ci dessous ne dois passer que 2 Ordres par jour. Pourquoi passes t'il 2 ordresà chaque ticks au lieu de 2 par jours?
D'avance merci pour votre aide.
extern double lots=0.1;
extern int stop=50;
extern int limite = 100;
int magic= 12345678;
int date;
double plusHaut;
double plusBas;
bool reperage=false;
extern bool niveauxDimanche = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if (reperage == false)
{
date = TimeDay(Time[0]);
if (niveauxDimanche == 0 && DayOfWeek() == 1){
plusHaut = iHigh(NULL, PERIOD_D1, 2);
plusBas = iLow(NULL, PERIOD_D1, 2);
}
else {
plusHaut = iHigh(NULL, PERIOD_D1, 1);
plusBas = iLow(NULL, PERIOD_D1, 1);
}
reperage = true;
Affichage("NiveauPlusHaut", "PlusHautText", plusHaut, "Plus haut pour le ", Blue);
Affichage("NiveauPlusBas", "PlusBasText", plusBas, "Plus bas pour le ", Red);
OrderSend(Symbol(), OP_BUYSTOP, lots, plusHaut, 3, plusHaut - (stop * Point), plusHaut + (limite * Point), "Ordre Achat Stop - High-Low EA", magic, 0, Blue);
OrderSend(Symbol(), OP_SELLSTOP, lots, plusBas, 3, plusBas + (stop * Point), plusBas - (limite * Point), "Ordre Vente Stop - High-Low EA", magic, 0, Red);
}
if (date != TimeDay(Time[0]))
Annuler();
reperage = false;
//----
return(0);
}
//+------------------------------------------------------------------+
/*Fonction d'affichage de la ligne avec la date*/
void Affichage (string nom, string nom2, double niveau, string text, color couleur)
{
ObjectDelete(nom);
ObjectDelete(nom2);
ObjectCreate(nom,OBJ_HLINE,0,0,niveau,0,0,0,0);
ObjectSet(nom,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nom,OBJPROP_COLOR,couleur);
ObjectCreate(nom2,OBJ_TEXT,0,Time[0],niveau);
ObjectSetText(nom2,text +Day()+"/"+Month()+"/"+Year(),12,"Times New Roman",couleur);
}
//Fonction annulation des ordres non executés
void Annuler ()
{
for(int i= OrdersTotal() - 1; i>=0; i--)
{
if(OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber() == magic)
{
if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)
OrderDelete(OrderTicket());
}
}
}
}
![]() |
|


LinkBack URL
About LinkBacks
à chaque ticks au lieu de 2 par jours?
Répondre avec citation
